PDA

Ver la Versión Completa : [ Cómo instalar Mod_Security en servidores cPanel ]


WebTech
25-feb-2008, 23:43
Mod_Security es comunmente llamado un “Firewall de aplicaciones”, porque actúa como tal, pero solo a nivel web. Funciona analizando el tráfico del servidor y aplicando las reglas a dicho tráfico, si las mismas no se cumplen, la petición es denegada, igual caso que sucede con cualquier firewall de sistemas. Este tutorial funcionará bajo Apache 1.3.3.9 y/o Apache 2.0.6.1 (o superiores) compilado desde EasyApache, RHE 3, 4, 5 o Centos en sus mismas versiones.

Cada usuario que siga este tutorial lo hace bajo su propia responsabilidad.

Descargamos las fuentes y descomprimimos

mkdir /usr/local/src/modsecurity/
cd /usr/local/src/modsecurity/
wget http://www.modsecurity.org/download/modsecurity-apache_1.9.5.tar.gz
tar -xvpzf modsecurity-apache_1.9.5.tar.gz
cd modsecurity-apache_1.9.5/apache2/

O bien cd modsecurity-apache_1.9.5/apache1/ si usamos Apache 1.3.3.9

Respaldamos el archivo de configuración de Apache

cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak -fv

Compilamos el móduo usando apxs
/usr/local/apache/bin/apxs -cia mod_security.c

Bien, ya tenemos mod_security compilado, ahora solo resta configurar el módulo y llamarlo desde el archivo de configuración de Apache.

Descargamos la configuración del módulo con algunas reglas básicas
wget http://www.encuentroalternativo.com/descargas/modsecrules.txt
mv modsecrules.txt /usr/aux/modsecrules.conf ; chmod 644 /usr/aux/modsecrules.conf

Recuerda que el archivo /usr/aux/modsecrules.conf contiene la configuración básica del módulo para que funcione, además de algunas reglas para detener ciertos tipos de ataques y descargas de archivos que se usan en los mismos. Deberás ahora buscar nuevas reglas extras que se ajusten a tu servidor, desde el siguiente link podrás encontrar más reglas: http://www.gotroot.com/tiki-index.php?page=mod_security+rules

Ahora, edita el archivo /usr/local/apache/conf/httpd.conf
pico /usr/local/apache/conf/httpd.conf

Busca la línea "mod_setenvif.c" (para buscar presiona CTRL + W)

Seguro verás algo así:

<IfModule mod_setenvif.c>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

</IfModule>

Lo que debes hacer ahora, es al final de esa configuración agregar esta línea:
Include "/usr/aux/modsecrules.conf"

De modo que quedaria así:
<IfModule mod_setenvif.c>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

</IfModule>

Include "/usr/aux/modsecrules.conf"

Guarda los cambios presionando CTRL + X, luego "Y" o "S", reincia apache y guarda cambios en los templates de apache:

/etc/init.d/httpd restart
/usr/local/cpanel/bin/apache_conf_distiller --update

Monitoriza los logs desde /usr/local/apache/logs/audit_log

Notas:

* He usado la versión 1.9.5 pues es la que mejor se adapta a Apache 1 y 2, además de que la versión 2 ha presentado algunas incompatibilidades en varias ocasiones, si prefieres puedes usar dicha versión bajo tu propio riesgo.

* Sobre el modulo setenvif.c y su configuración, puede variar dependiendo del servidor, en algunos encontrarás más o menos directivas dentro de la configuración del mismo. Sólo asegurate de que incluyas el archivo de reglas de mod_security luego de dicha configuración.

--

Expel
26-feb-2008, 02:32
Excelente manual. Esta clase de tutoriales son los que enriquecen aún más al foro. :aprueba:

DEmilio
26-feb-2008, 03:48
Es bueno ver calidad en los post, no como el mio de agradecimiento xD

Saludos

Expel
26-feb-2008, 21:49
Es bueno ver calidad en los post, no como el mio de agradecimiento xD

Saludos

Por supuesto. Es mucho mejor agradecer un trabajo que criticar a alguien.

En eso estamos muy de acuerdo.

AMateos
27-feb-2008, 00:02
Muy buen tutorial Esteban, gracias por compartirlo con nosotros ;)