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:
[[email protected] ~]# cd /etc/httpd/conf.d/
[[email protected] 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...
[[email protected] 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.[[email protected] conf.d]# yum install mod_security
[[email protected] 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í.
[[email protected] conf.d]# mkdir /etc/modsecurity
y entramos en el:[[email protected] 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
[[email protected] modsecurity]# wget http://www.gotroot.com/downloads/ftp/mod_security/2.0/apache2/exclude.conf
Luego el rules.conf[[email protected] 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
[[email protected] 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:[[email protected] 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:[[email protected] 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:[[email protected] 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[[email protected] 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:[[email protected] 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: