En esta ocasión vamos a redactar en simples pasos, como poner en producción el modulo del apache mod_security.
modSecurity™ es un firewall de aplicaciones Web embebible que ejecuta como módulo del servidor web Apache, provee protección contra diversos ataques hacia aplicaciones Web y permite monitorear tráfico HTTP, asà como realizar análisis en tiempo real sin necesidad de hacer cambios a la infraestructura existente.
Sitio web: http://www.modsecurity.org/
1. Instalamos los paquetes necesarios para el uso del modulo:
# apt-get install libxml2-dev liblua5.1-0 lua5.1 apache2-threaded-dev
2. Bajamos los archivos fuentes de la versión 2.5.1
# cd /tmp
# wget http://www.modsecurity.org/download/modsecurity-apache_2.5.1.tar.gz
3. Descomprimimos las fuentes
# tar zxvf modsecurity-apache_2.5.1.tar.gz
4. Instalamos el modulo.
cd modsecurity-apache_2.5.1/apache2/
# ./configure && make && make install
5. Verificamos que este en archivo mod_security2.so en el directorio: /usr/lib/apache2/modules/
# ls /usr/lib/apache2/modules/
6. Creamos el archivo mod-security2.load el cual trabajara en conjunto con el apache
# vi /etc/apache2/mods-available/mod-security2.load
Agregamos las siguiente lÃneas:
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so.0
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
7. Activamos el modulo (mod_security requiero el modulo unique_id activo)
# a2enmod mod-security2
# a2enmod unique_id
8. Agregamos para que el apache tome la configuración del modulo.
# vi /etc/apache2/conf.d/mod-security2.conf
Agregamos:
Include /etc/modsecurity2/*.conf
9. Creamos los directorios y los archivos log
# mkdir /etc/modsecurity2
# mkdir /etc/modsecurity2/logs
# touch /etc/modsecurity2/logs/modsec_audit.log
# touch /etc/modsecurity2/logs/modsec_debug.log
10. Copiamos las reglas
# cp /tmp/modsecurity-apache_2.5.1/rules/*.conf /etc/modsecurity2
11. Modificamos las lÃneas donde hacen alusión a los archivos logs, dejándolas de la siguiente forma.
# vi /etc/modsecurity2/modsecurity_crs_10_config.conf
SecDebugLog /etc/modsecurity2/logs/modsec_debug.log
SecAuditLog /etc/modsecurity2/logs/modsec_audit.log
12. Verificamos que la configuración del apache este correcta
# apache2ctl configtest
13. Reiniciamos el servicio del Apache
# /etc/init.d/apache2 restart
14. Verificamos que este funcionado el modulo,
# cat /var/log/apache2/error.log | grep ModSecurity
Debemos obtener una salida como esta
[Fri May 02 17:55:39 2008] [notice] ModSecurity for Apache/2.5.1 (http://www.modsecurity.org/) configured.
Fuente: http://www.isp-control.net/documentation/howto/security/mod_security_on_debian