(https://www.rosehosting.com/blog/wp-content/uploads/2014/09/mod-security-raise-up-your-apache-webserver-security-and-protect-against-cross-site-scripting-javascript-hacks-and-viruses.jpg)
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:
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):
tar -xzvf modsecurity-apache_2.5.13.tar.gz
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:
make
E instalamos:
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 http://rm-rf.es/fallo_seguyridad.html
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:
/etc/init.d/httpd configtest
Syntax OK
Fuente: # rm-rf.es