mod_security es un módulo para apache que permite por medio de algunas reglas predefinidas, basadas en expresiones regulares proteger
tu sitio web, de algunos ataques comúnes y de usuarios maliciosos, el por si solo no hace nada, las reglas que definimos para mod_security
son las que ayudarán a la protección y dependiendo de que tan buenas sean, será efectivo o no.
Cabe destacar, que tampoco es el único método de protección, existen varios y ninguno es mejor o peor que otro, de hecho estos se pueden
mezclar en armonía, pero la gran mayoría se basan en una buena configuración del demonio httpd y sus componentes.
Todo el procedimiento, se realizo en una máquina ( propiedad de tatica ) con Fedora Core versión 6 instalado, con la versión de apache:
httpd-2.2.3-5
Ingresamos al directorio donde el demonio httpd ( apache ) en Fedora Core almacena los archivos de configuración extras:
[root@tuxita ~]# cd /etc/httpd/conf.d/
[root@tuxita conf.d]# ls
manual.conf perl.conf php.conf proxy_ajp.conf README ssl.conf tatica.conf webalizer.conf welcome.conf
No se ve por ningún lado...
[root@tuxita conf.d]# rpm -qa | grep mod_security
Y no, da respuesta, por lo que se concluye que no esta instalado y hay que instalarlo... para poder seguir.[root@tuxita conf.d]# yum install mod_security
[root@tuxita conf.d]# ls
manual.conf mod_security.conf perl.conf php.conf proxy_ajp.conf README ssl.conf tatica.conf webalizer.conf welcome.conf
*Notese el archivo mod_security.conf
Este archivo trae ya una configuración, básica, pero suficiente para algunos, nosotros vamos a configurarlo con mejores reglas y no
vamos a usar las que vienen por defecto
http://www.gotroot.com/tiki-index.php?page=Setup+of+mod_security
En el sitio sitio dicen como instalar estas reglas, pero esta en ingles, nosotros nos limitaremos a usar la misma configuración de como
la explican allí.
[root@tuxita conf.d]# mkdir /etc/modsecurity
y entramos en el:[root@tuxita conf.d]# cd /etc/modsecurity
http://www.gotroot.com/tiki-index.php?page=mod_security+rules
Y vamos a ir bajando una a una de las que estan especificadas en el archivo, con wget al directorio /etc/modsecurity ( de todos los archivos
son las que dicen que son para apache 2.x que es la versión actual de apache en Fedora Core )
Primero bajamos el exclude.conf
[root@tuxita modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/exclude.conf
Luego el rules.conf[root@tuxita modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/rules.conf
Luego el blacklist, que es ideal para prevenir el spam en comentariosde nuestro site
[root@tuxita modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/blacklist.conf
Luego el blacklist2, para prevenir conexiones de proxys no co9nfiables y visitantes maliciosos:[root@tuxita modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/blacklist2.conf
Luego el useragents.conf, para evitar, malware , clientes maliciosos, bugs conocidos:[root@tuxita modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/useragents.conf
Luego el rootkits.conf, el nombre lo dice, para evitar rootkits y algunos hackeos:[root@tuxita modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/rootkits.conf
El proxy.conf, no lo descargamos, comentamos la linea de archivo que hace referencia a el.
Y por último el apache2-rules.conf, que contiene algunas reglas especiales para apache2[root@tuxita modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/apache2-rules.conf
Ahora vamos y editamos el archivo de configuración del modúlo mod_security:[root@tuxita modsecurity]# vi /etc/httpd/conf.d/mod_security.conf
El archivo debe quedar como el de acá, solo copy/paste, el texto siguiente:
Ya con esto esta todo prácticamente listo, solo hace falta reiniciar el apache y cruzar los dedos para que no de ningun error :D
y ya tienes tu mod_security instalado, configurado y con unas buenas reglas, solo te falta probar que todo en tu sitio funcione,
correctamente, prueba enviando comentarios y otras cosas del sitio, como los urls
Si deseas editar las reglas por ti mismo, revisa los archivos de las reglas que estan en /etc/modsecurity, casi todas están basadas
en expresiones regulares, puedes editar algunas que se refieren a proteger CMS, como php-nuke y si no lo usas, no tienes por que
tenerlas cargadas, ya que no, hacen falta.
Esto no garantiza que estes protegido contra todos los males del internet, pero al menos ayuda en algo, debes estar pendiente en el
el sitio de donde bajamos las reglas por los updates para actualizar nuestros archivos de reglas.
Espero te sirva de ayuda, cualquier comentario o corrección es bienvenida a nuestros correos eléctronicos.
Copyleft: