Instal·lació
Utilitzant ModSecurity
Modificació d'un conjunt de regles/desactivació d'un identificador de regles
ModSecurity és un tallafoc de capa d'aplicacions web dissenyat per funcionar amb IIS, Apache2 i Nginx. És un programari gratuït de codi obert publicat sota la llicència Apache 2.0. ModSecurity ajuda a protegir el vostre servidor web supervisant i analitzant el trànsit del vostre lloc web. Ho fa en temps real per detectar i bloquejar atacs de les explotacions més conegudes mitjançant expressions regulars. Per si sol, ModSecurity ofereix una protecció limitada i es basa en conjunts de regles per maximitzar la protecció.
L'Open Web Application Security Project (OWASP) Core Rule Set (CRS) és un conjunt de regles genèriques de detecció d'atacs que proporcionen un nivell bàsic de protecció per a qualsevol aplicació web. El conjunt de regles és gratuït, de codi obert i actualment està patrocinat per Spider Labs.
OWASP CRS ofereix:
- Protecció HTTP: detecta infraccions del protocol HTTP i una política d'ús definida localment.
- Cerques a la llista negra en temps real: utilitza la reputació d'IP de tercers.
- Protecció de denegació de servei HTTP: defensa contra inundacions HTTP i atacs HTTP DoS lents.
- Protecció contra atacs web comuns: detecció d'atacs comuns de seguretat d'aplicacions web.
- Detecció d'automatització: detecció de robots, rastrejadors, escàners i altres activitats malicioses superficials.
- Integració amb l'escaneig AV per a càrregues de fitxers: detecta fitxers maliciosos penjats mitjançant l'aplicació web.
- Seguiment de dades sensibles: fa un seguiment de l'ús de la targeta de crèdit i bloqueja les fuites.
- Protecció de troians: detecta cavalls de Troia.
- Identificació de defectes de l'aplicació: alertes sobre configuracions incorrectes de l'aplicació.
- Detecció i ocultació d'errors: dissimula els missatges d'error enviats pel servidor.
Instal·lació
Aquesta guia us mostra com instal·lar el conjunt de regles ModSecurity i OWASP a CentOS 6 amb Apache 2.
En primer lloc, heu d'assegurar-vos que el vostre sistema estigui actualitzat.
yum -y update
Si no heu instal·lat Apache 2, instal·leu-lo ara.
yum -y install httpd
Ara heu d'instal·lar algunes dependències perquè ModSecurity funcioni. Depenent de la configuració del vostre servidor, és possible que alguns o tots aquests paquets ja estiguin instal·lats. Yum instal·larà els paquets que no teniu i us informarà si algun dels paquets ja està instal·lat.
yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel
Canvieu el directori i descarregueu el codi font des del lloc web de ModSecuity. La versió estable actual és la 2.8.
cd /opt/
wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz
Extraieu el paquet i canvieu-lo al seu directori.
tar xzfv modsecurity-2.8.0.tar.gz
cd modsecurity-2.8.0
Configurar i compilar el codi font.
./configure
make
make install
Copieu la configuració per defecte de ModSecurity i el fitxer de mapatge Unicode al directori Apache.
cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
cp unicode.mapping /etc/httpd/conf.d/
Configureu Apache per utilitzar ModSecurity. Hi ha 2 maneres de fer-ho.
echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf
... o utilitzeu un editor de text com nano:
nano /etc/httpd/conf/httpd.conf
A la part inferior d'aquest fitxer, en una línia separada afegiu això:
LoadModule security2_module modules/mod_security2.so
Ara podeu iniciar Apache i configurar-lo perquè s'iniciï a l'arrencada.
service httpd start
chkconfig httpd on
Si teníeu instal·lat Apache abans d'utilitzar aquesta guia, només cal que el reinicieu.
service httpd restart
Ara podeu descarregar el conjunt de regles bàsiques OWASP.
cd /etc/httpd
git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
Ara configureu el conjunt de regles OWASP.
cd modsecurity-crs
cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf
A continuació, heu d'afegir el conjunt de regles a la configuració d'Apache. De nou, ho podem fer de dues maneres.
echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf
... o amb un editor de text:
nano /etc/httpd/conf/httpd.conf
A la part inferior del fitxer en línies separades, afegiu això:
Include modsecurity-crs/modsecurity_crs_10_config.conf
Include modsecurity-crs/base_rules/*.conf
Ara reinicieu Apache.
service httpd restart
Finalment, suprimiu els fitxers d'instal·lació.
yum erase /opt/modsecurity-2.8.0
yum erase /opt/modsecurity-2.8.0.tar.gz
Utilitzant ModSecurity
De manera predeterminada, ModSecurity s'executa en mode només de detecció, el que significa que registrarà totes les ruptures de regles però no farà cap acció. Això es recomana per a instal·lacions noves perquè pugueu veure els esdeveniments generats al registre d'errors d'Apache. Després de revisar el registre, podeu decidir si cal fer alguna modificació al conjunt de regles o desactivar la regla (vegeu més avall) abans de passar al mode de protecció.
Per veure el registre d'errors d'Apache:
cat /var/log/httpd/error_log
La línia ModSecurity del registre d'errors d'Apache es divideix en nou elements. Cada element proporciona informació sobre per què s'ha activat l'esdeveniment.
- La primera part indica quin fitxer de regles ha activat aquest esdeveniment.
- La segona part indica en quina línia del fitxer de regles comença la regla.
- El tercer element us indica quina regla s'ha activat.
- El quart element us indica la revisió de la norma.
- El cinquè element conté dades especials amb finalitats de depuració.
- El sisè element defineix la gravetat del registre d'aquest esdeveniment.
- La setena secció descriu quina acció es va produir i en quina fase es va produir.
Tingueu en compte que alguns elements poden estar absents depenent de la configuració del vostre servidor.
Per canviar ModSecurity al mode de protecció, obriu el fitxer conf en un editor de text:
nano /etc/httpd/conf.d/modsecurity.conf
... i canvia:
SecRuleEngine DetectionOnly
a:
SecRuleEngine On
Si trobeu algun bloc quan s'està executant ModSecurity, haureu d'identificar la regla al registre d'errors HTTP. L'ordre "cua" us permet veure els registres en temps real:
tail -f /var/log/httpd/error_log
Repetiu l'acció que va provocar el bloqueig mentre mireu el registre.
Modificació d'un conjunt de regles/desactivació d'un identificador de regles
Modificar un conjunt de regles està fora de l'abast d'aquest tutorial.
Per desactivar una regla específica, identifiqueu l'identificador de la regla que es troba al tercer element (per exemple [id=200000]) i després desactiveu-lo al fitxer de configuració d'Apache:
nano /etc/httpd/conf/httpd.conf
... afegint el següent a la part inferior del fitxer amb l'identificador de la regla:
<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>
Si trobeu que ModSecurity està bloquejant totes les accions al vostre lloc web, probablement "Conjunt de regles bàsics" estigui en mode "Autònom". Heu de canviar-ho a "Detecció col·laborativa", que només detecta i bloqueja anomalies. Al mateix temps, podeu mirar les opcions "Autònomes" i canviar-les si voleu fer-ho.
nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf
Canvia "detecció" a "Autònom".
També podeu configurar ModSecurity per permetre la vostra IP a través del tallafoc d'aplicacions web (WAF) sense registrar-vos:
SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off
... o amb registre:
SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly