All posts tagged Seguretat

Per canviar permissos d’arxius en Linux emprem chmod i el tipus de permís que volem atorgar:

ugo/a -> per a user, group, other i all
rwxs -> per a read, write, execute i suid

També hi ha la manera octal de representació d’aquests permisos i s’empra sobretot en les màqueres de creació d’arxius en sistemes de fitxers externs i samba per exemple.

És el que es coneix com a sistema octal, el primer dígit de la dreta per a other, el segon per a group i el tercer per a user.

Cada xifra el que vol dir:

7 -> rwx read, write, execute (+rwx)
6 -> rw- read, write (-x+rw)
5 -> r-x read, execute (-w+rx)
4 -> r-- read (-wx+r)
3 -> -wx write, execute (-r+wx)
2 -> -w- write (-rx+w)
1 -> --x execute (-rw+x)
0 -> --- no permissions (-rwx)

Aquesta setmana hem rebut al despatx de Corretgé.com l’esplèndid PHP Security Poster editat per l’empresa alemanya especialitzada en seguretat SektionEins.

SektionEins és l’empresa que ha creat el paquet de seguretat Suhosin. Si hem instal·lat el PHP desde la paqueteria d’Ubuntu, al fer un phpinfo(), segurament veurem que al PHP instal·lat se li ha aplicat el patch de Suhosin, és fàcil de detectar, per les lletres en coreà 수호신 al final de la plana, que ve a ser la traducció de una deïtat guardiana… sí, és la traducció literal, no és cap de les deïtats guardianes que el budisme assigna segons l’any de naixement a la seva parròquia.

Suhosin logoThis server is protected with the Suhosin Patch 0.9.6.2
Copyright (c) 2006 Hardened-PHP Project

Així doncs, els ubuntaires ja tenim el PHP preparat de sèrie per al Suhosin i no hem de compilar ni aplicar cap patch.
Per a instal·lar aquesta extensió de PHP, farem

sudo apt-get install php5-suhosin

A /etc/php5/apache2/conf.d/suhosin.ini podrem parametritzar aquest guardià protector.

En properes edicions comentarem alguns dels paràmetres de configuració:


Directive Local Value Master Value
suhosin.apc_bug_workaround Off Off
suhosin.cookie.checkraddr 0 0
suhosin.cookie.cryptdocroot On On
suhosin.cookie.cryptkey [ protected ] [ protected ]
suhosin.cookie.cryptlist no value no value
suhosin.cookie.cryptraddr 0 0
suhosin.cookie.cryptua On On
suhosin.cookie.disallow_nul 1 1
suhosin.cookie.disallow_ws 1 1
suhosin.cookie.encrypt Off Off
suhosin.cookie.max_array_depth 50 50
suhosin.cookie.max_array_index_length 64 64
suhosin.cookie.max_name_length 64 64
suhosin.cookie.max_totalname_length 256 256
suhosin.cookie.max_value_length 10000 10000
suhosin.cookie.max_vars 100 100
suhosin.cookie.plainlist no value no value
suhosin.coredump Off Off
suhosin.disable.display_errors Off Off
suhosin.executor.allow_symlink Off Off
suhosin.executor.disable_emodifier Off Off
suhosin.executor.disable_eval Off Off
suhosin.executor.eval.blacklist no value no value
suhosin.executor.eval.whitelist no value no value
suhosin.executor.func.blacklist no value no value
suhosin.executor.func.whitelist no value no value
suhosin.executor.include.blacklist no value no value
suhosin.executor.include.max_traversal 0 0
suhosin.executor.include.whitelist no value no value
suhosin.executor.max_depth 0 0
suhosin.filter.action no value no value
suhosin.get.disallow_nul 1 1
suhosin.get.disallow_ws 0 0
suhosin.get.max_array_depth 50 50
suhosin.get.max_array_index_length 64 64
suhosin.get.max_name_length 64 64
suhosin.get.max_totalname_length 256 256
suhosin.get.max_value_length 512 512
suhosin.get.max_vars 100 100
suhosin.mail.protect 0 0
suhosin.memory_limit 0 0
suhosin.mt_srand.ignore On On
suhosin.multiheader Off Off
suhosin.perdir 0 0
suhosin.post.disallow_nul 1 1
suhosin.post.disallow_ws 0 0
suhosin.post.max_array_depth 50 50
suhosin.post.max_array_index_length 64 64
suhosin.post.max_name_length 64 64
suhosin.post.max_totalname_length 256 256
suhosin.post.max_value_length 65000 65000
suhosin.post.max_vars 200 200
suhosin.protectkey On On
suhosin.request.disallow_nul 1 1
suhosin.request.disallow_ws 0 0
suhosin.request.max_array_depth 50 50
suhosin.request.max_array_index_length 64 64
suhosin.request.max_totalname_length 256 256
suhosin.request.max_value_length 65000 65000
suhosin.request.max_varname_length 64 64
suhosin.request.max_vars 200 200
suhosin.server.encode On On
suhosin.server.strip On On
suhosin.session.checkraddr 0 0
suhosin.session.cryptdocroot On On
suhosin.session.cryptkey [ protected ] [ protected ]
suhosin.session.cryptraddr 0 0
suhosin.session.cryptua On On
suhosin.session.encrypt On On
suhosin.session.max_id_length 128 128
suhosin.simulation Off Off
suhosin.sql.bailout_on_error Off Off
suhosin.sql.comment 0 0
suhosin.sql.multiselect 0 0
suhosin.sql.opencomment 0 0
suhosin.sql.union 0 0
suhosin.sql.user_postfix no value no value
suhosin.sql.user_prefix no value no value
suhosin.srand.ignore On On
suhosin.stealth On On
suhosin.upload.disallow_binary 0 0
suhosin.upload.disallow_elf 1 1
suhosin.upload.max_uploads 25 25
suhosin.upload.remove_binary 0 0
suhosin.upload.verification_script no value no value

Un bon lloc de referència per a estar al dia de les vulnerabilitats de Joomla que es van descobrint és Secunia.

La recerca concreta a Joomla ens reporta una sèrie d’incidències molt ben catalogades.

Moltes vulnerabilitats, com la trobada el 7 de setembre d’enguany que es correspon a Joomlub, són de components Joomla, no del nucli pròpiament dit, pel que resulta imprescindible fer una recerca dels problemes coneguts de cada mòdul abans que la seva instal·lació pugui comprometre tot el nostre sistema.

Observem que el proveïdor d’aquest plugin de Joomla ja ha corretgit l’error ràpidament, i actualitzant-se a la darrera versió ja no serem vulnerables.

Relació de les incidències de Joomla i d’alguns dels seus components al web de Secunia:

Joomla! 1.x

Acajoom GPL 3.x (component for Joomla!)
Acajoom PRO 1.x (component for Joomla)
Account Expiration Control 0.x (component for Joomla)
AKReservations 1.x (component for Joomla)
Alberghi 2.x (component for Joomla)
Almond Classifieds 7.x (component for Joomla)
Archaic Binary 1.x (component for Joomla)
astatsPRO 1.x (component for Joomla)
BazaarBuilder Shopping Cart 5.x (component for Joomla!)
Bible Study 6.x (component for Joomla)
BookFlip 2.x (component for Joomla)
Brightcode Weblinks (component for Joomla)
BSQ Sitestats 1.x (component for Joomla)
BSQ Sitestats 2.x (component for Joomla)
Colophon 1.x (component for Joomla)
Community Builder 1.x (component for Joomla)
com_hashcash 1.x (component for Joomla)
Custom QuickIcons 1.x (component for Joomla)
Custompages 1.x (component for Joomla)
D4J eZine (Component for Joomla) 2.x
Dada Mail Manager 2.x (component for Joomla)
DatsoGallery 1.x (component for Joomla)
DigiFolio 1.x (component for Joomla)
DigiStore 1.x (component for Joomla!)
DS-Syndicate 1.x (component for Joomla)
DT Register 2.x (component for Joomla)
EasyBook 1.x (component for Joomla)
Eventing 1.x (component for Joomla!)
eWriting 1.x (component for Joomla)
EXP Shop 1.x (component for Joomla)
Fantasy Tournament 2009.1.5 (component for Joomla)
Flash Image Gallery 1.x (component for Joomla)
Flash Magazine Deluxe (component for Joomla!)
Flash Tree Gallery 1.x (component for Joomla!)
GameQ 4.x (component for Joomla)
Gary’s Cookbook 2.x (component for Joomla)
gigCalendar 1.x (component for Joomla!)
Hotel Booking System 1.x (component for Joomla)
hwdVideoShare (component for Joomla) 1.x
IDoBlog 1.x (component for Joomla)
Ignite Gallery 0.x (component for Joomla)
iJoomla RSS Feeder 1.x (component for Joomla!)
iJoomla RSS Feeder 2.x (component for Joomla!)
ionFiles 4.x (component for Joomla)
IXXO Cart 3.x (component for Joomla)
JA Showcase 1.x (component for Joomla)
JCE Admin Component 1.x (component for Joomla)
JD-Wiki 1.x (component for Joomla)
JIM 1.x (component for Joomla)
Jobline 1.x (component for Joomla)
Jom Comment 2.x (component for Joomla)
Joomla!12Pictures 1.x (component for Joomla)
Joomla!FlashFun 1.x (component for Joomla)
Joomlaboard 1.x (component for Joomla)
JoomlaDate 1.x (component for Joomla)
joomlaradio 5.x (component for Joomla)
joomlaXplorer 1.x (component for Joomla)
Joomlub (component for Joomla)
JoomRadio 2.x (component for Joomla)
Joovideo 1.x (component for Joomla)
JotLoader 1.x (component for Joomla)
Jumi 2.x (extensions for Joomla)
KBase 1.x (component for Joomla)
Kunena 1.x (component for Joomla)
Letterman 1.x (component for Joomla)
Letterman Subscriber Module 1.x (for Joomla)
Live Chat 1.x (component for Joomla)
Live Ticker 1.x (component for Joomla)
Mad4Joomla Mailforms 1.x (component for Joomla)
McQuiz 0.x (component for Joomla)
mDigg (component for Joomla)
mediaslide 0.x (component for Joomla)
Messaging 1.x (component for Joomla)
MisterEstate 1.x (component for Joomla!)
MooFAQ 1.x (component for Joomla!)
MyContent 1.x (component for Joomla)
nBill 1.x (component for Joomla)
NeoRecruit 1.x (component for Joomla)
NeoReferences 1.x (component for Joomla)
Nice Talk 0.x (component for Joomla)
OwnBiblio 1.x (component for Joomla)
Panoramic Picture Viewer 1.x (component for Joomla)
PaxGallery 0.x (component for Joomla)
perForms 1.x (Component for Mambo / Joomla)
PinMe! 2.x (component for Joomla)
PollXT 1.x (component for Joomla)
PrayerCenter Component 1.x (component for Joomla)
Pro Desk 1.x (component for Joomla)
PU Arcade 2.x (component for Joomla)
Quiz 0.x (component for Joomla)
Quran 1.x (component for Joomla)
Rapid Recipe 1.x (component for Joomla)
RD-Autos 1.x (component for Joomla!)
rekry!Joom 1.x (component for Joomla)
Restaurante 1.x (component for Joomla)
RS-Monials 1.x (component for Joomla)
RWCards 3.x (component for Joomla)
Search and Archive 2.x (component for Joomla!)
Security Images 3.x (component for Joomla)
Simple Shop Galore 3.x (component for Joomla)
SimpleFAQ 2.x (component for Joomla)
UHP 0.x (component for Joomla)
UIajaxIM 1.x (component for Joomla)
VirtueMart Google Base 1.x (component for Joomla)
VirtueMart Joomla! eCommerce Edition 1.x
Volunteer Management System 2.x (component for Joomla)
WebAmoeba Ticket System 2.x (component for Joomla!)
Webring 1.x (component for Joomla)
WMT Portfolio 1.x (component for Joomla)
yvComment 1.x (component for Joomla)

Evidentment la majoria de llocs no necessiten tenir instal·lats tots els components de Joomla, reduint així la superfície de risc. El que si que cal tenir present és que algú tècnicament capacitat haurà de supervisar regularment una instal·lació d’aquestes característiques, aplicant les actualitzacions de seguretat del nucli Joomla i dels components emprats.

Captura-hack-40peterpan-joomscan-latest

En aquest post investigarem una eina que escaneja 466 vulnerabilitats conegudes del Joomla. Aquesta eina es va actualitzant a mesura que es coneixen noves vulnerabilitats.

Es tracta del OWASP Joomla! Vulnerability Scanner.

Crearem un compte nou amb un usuari sense cap permís excepte a la seva pròpia carpeta /home. Aquestes eines de seguretat són molt interessants, però mai podem permetre que puguin comprometre el nostre sistema.

Certificarem que estem a la darrera versió del WWW/Mechanize.pm fent
sudo apt-get install libtest-www-mechanize-perl

Descomprimim l’arxiu a una carpeta d’aquest usuari i el fem executable
chmod u+x joomscan.pl

El programa ens avisa de que sobretot només ho fem servir en servidors nostres, així que executant
./joomscan -u www.elnostrejoomla.cat
iniciarem l’anàlisi de vulnerabilitats.

Joomla_logo


Joomla és un dels gestors de contingut Open Source més emprats actualment. L’origen el trobarem en el Mambo i realment és un sistema molt còmode de fer servir i gestionar.

Si mai decidim d’instal·lar un sistema d’aquest tipus sense coneixements informàtics ni de seguretat, haurem de tenir present de destinar una tarda al mes instal·lant els paquets d’actualització de seguretat que es van generant.

Sovint nouvinguts al món de la informàtica serveixen als seus clients aquest aplicatiu rebentant preus i sense opció de manteniment… i al final, com sempre, les coses massa barates surten cares.

Aquest és el primer d’una sèrie d’articles sobre seguretat en Joomla, i us oferirem una sèrie d’eines per esbrinar si el vostre portal està correctament configurat.

Sense entrar en la infinitat d’scripts que existeixen per aquest propòsit, avui parlarem d’una eina on-line, JoomlaScan què un cop acceptat el certificat ens permetrà veure les vulnerabilitats del lloc Joomla scanejat.

Per exemple, el web de la UPN (Unión del Pueblo Navarro) presenta 4 de les 165 vulnerabilitats conegudes d’aquest gestor de continguts. De fet, amb una n’hi ha prou. El web de la UPN fa molt de temps que està deixat de la ma de Déu i no actualitza Joomla :-)

El servei on-line és de pagament, la seva seguretat bé s’ho val!

Per aquests tests farem servir webs el més llunyanes possibles, no sigui que algú es molesti ;-)

En Toni Hermoso Pulido ha informat d’una notícia preocupant, uns hackers han entrat com a root a un dels servidors de Perl Monks i han recuperat totes les contrasenyes de tots els usuaris, ja que estaven guardades en text pla!

Resulta increhible que a aquestes alçades algú encara guardi les contrasenyes dels usuaris en text pla, o en sistemes d’encriptació reversible, que un cop coneguda la clau mestre, seria el mateix.

D’entrada desconfieu dels llocs on al demanar la contrasenya oblidada, us la diuen, senyal de que és reversible o no encriptada.

Aquest agost mirarem de fer una repassada a temes de seguretat, moltes empreses no contemplen el manteniment de les aplicacions en xarxa i aquest entorn és massa virulent com per a deixar els sistemes i les aplicacions abandonades.