Tengo instalado cron-apt, que actualiza el sistema de manera automática, lo tengo configurado para que corra a las 7:00 AM, más o menos la hora en que me levanto, de modo que es emocionante saber si el sitio todavía está arriba porque apt-get instala y desinstala lo que le parece, que casi siempre está bien.
De cualquier manera cron-apt te manda un email para decirte si todo salió bien, salió mal o no había nada por actualizar. La verdad no les hago mucho caso a esos emails: si Apache2, Postgresql, SSH y Postfix están corriendo, todo está bien.
Seguramente en una de esas se desinstalo mod_security, el módulo de apache que te protege del XSS, peticiones inusuales e injection de código, tener este módulo me da un sensación de seguridad aunque siempre reviso a mano los logs y veo que ha entrado y salido del server. Pero hoy me doy cuenta que ya no lo tengo y ya no está en la rama etch de Debian. Está en Sarge pero no me gusta mezclar ramas así que tuve que ir al sitio de ModSecurity a compilarlo a mano.
Hay varias versiones de apache2 en Debian, para saber cual es la tuya:
$sudp dpkg -l | grep apache2
Yo tengo apache2 a secas asi que:
$sudo apt-get install apache2-dev libxml++2.6-dev
Bajos las fuentes:
$wget http://www.modsecurity.org/download/modsecurity-apache_2.1.0.tar.gz
$tar -zxvf modsecurity-apache_2.1.0.tar.gz
$cd apache2
$mcedit Makefile
En donde dice top_dir le pones “/usr/share/apache2″. Salvas y te sales con F10. Compilas:
$make
Detienes el webserver:
$sudo /etc/init.d/apache2 stop
Instalas:
$sudo make install
Creas el archivo de configuración del módulo:
$sudo mcedit /etc/apache2/mods-available/mod-security2.load
Y adentro le pones:
LoadFile /usr/lib/libxml2.so LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
Instala el módulo en apache2:
$sudo a2enmod mod-security
Crea el archivo:
$sudo mcedit /etc/apache2/conf.d/modsecurity2.conf
y adentro le pones:
<ifmodule mod_security2.c>
Include modsecurity/*.conf
</ifmodule>
Copia:
$sudo cp mod_security.conf-mininal /etc/apache2/conf.d/mod_security.conf
Inicia el webserver:
$sudo /etc/init.d/apache2 restart
