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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
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: # No tienes permitido ver los links. Registrarse o Entrar a mi cuenta