Instalar mod_security para Apache en Linux 64 bits

Iniciado por BlackDead, Agosto 06, 2013, 11:47:02 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 06, 2013, 11:47:02 PM Ultima modificación: Junio 05, 2015, 05:48:44 PM por EPSILON

A la hora de instalar mod_security en sistemas de 64 bits podemos encontrarnos con problemas al intentar hacerlo a través de apxs. Por ello, tenemos que recurrir a la instalación mediante compilación. En este caso bajo un centos 5 x86_64.
Lo primero que hacemos es descargar las fuentes:

Código: bash
wget http://www.modsecurity.org/download/modsecurity-apache_2.5.13.tar.gz



Descomprimimos y nos ubicamos en la carpeta apache2 (para versiones 2 de Apache):

Código: bash
tar -xzvf modsecurity-apache_2.5.13.tar.gz 

Código: bash
cd modsecurity-apache_2.5.13/apache2


Llega el momento de compilar, en este caso la configuración me ha obligado a especificar la ruta tanto de apxs como de apr-config y apu-config:

Citar# ./configure --with-apxs=/usr/local/apache/bin/apxs \
--with-apr=/usr/local/apache/bin/apr-1-config \
--with-apu=/usr/local/apache/bin/apu-1-config

Si no recibimos ningún error compilamos:

Código: bash
make



E instalamos:

Código: bash
make install



Llega el momento de añadir a httpd.conf la carga de los módulos necesarios y la llamada al fichero de configuración:

CitarLoadFile /usr/lib/libxml2.so
LoadModule security2_module modules/mod_security2.so

Y la llamada al fichero de configuración que podéis llamar como queráis:

CitarInclude conf/modsec2.conf

Ya quedará únicamente crear o copiar el fichero modsec2.conf y copiar las reglas que queramos a la ruta deseada.



modsec2.conf:

Citar<IfModule mod_security2.c>
SecRuleEngine On
SecFilterCheckURLEncoding On
SecFilterForceByteRange 0 255
SecAuditEngine RelevantOnly
SecAuditLog logs/modsec_audit.log
SecDebugLog logs/modsec_debug_log
SecDebugLogLevel 0
SecDefaultAction "phase:2,deny,log,status:403"
#Redireccion a html de seguridad
ErrorDocument 403 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
SecRule REMOTE_ADDR "^127.0.0.1$" nolog,allow
#Includes de configuracion
Include "/usr/local/apache/conf/modsecurity_rules/*.conf"
</IfModule>

Finalmente comprobamos que la sintaxis de los ficheros de configuración es correcta y ya podemos arrancar Apache y hacer pruebas con mod_security:

Código: bash
/etc/init.d/httpd configtest

Syntax OK

Fuente: # You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login