Después de haber leído las publicaciones anteriores sobre MOD_SECURITY, ya se contará con conocimientos suficientes para entender su funcionamiento y la potencia de las características que incluye, sin embargo no cabe duda que las características mas robustas en este módulo están relacionadas con el motor de reglas que es altamente personalizable. Como con cualquier Firewall de Aplicaciones, IDS o NIDS, las herramientas por si solas no proveen seguridad, es necesario implementar las reglas necesarias que dependen enteramente de las políticas de seguridad que se tengan, tal como se mencionaba hace algunos meses en las publicaciones relacionadas con SNORT, un IDS por si solo no puede hacer mucho ante diferentes tipos de ataques que se lleven a cabo en entornos de red, sin embargo su verdadera potencia radica en lo robustas que sean las reglas y las alarmas que se configuren sobre la herramienta. Estas mismas premisas que aplican en SNORT, también aplican en este caso a MOD_SECURITY, tener un buen conjunto de reglas es lo que hace que este módulo funcione realmente bien.

En este orden de ideas, existe un proyecto en OWASP que es bastante interesante llamado ModSecurity Core Rule Set Project, el cual define un conjunto de reglas compatibles con modsecurity 2.x, este conjunto de reglas cubren de forma genérica, vulnerabilidades no conocidas que frecuentemente se encuentran en aplicaciones web. Este conjunto de reglas se encuentran certificadas por Trustwave SpiderLabs, la organización que se encarga del desarrollo y evolución de modsecurity, por lo tanto tiene apoyo por parte del fabricante.

Para usar este conjunto de reglas, es necesario tener en primer lugar, MOD_SECURITY 2.5 o superior instalado y configurado en el Apache, lo cual se asume después de leer las publicaciones anteriores a esta. Posteriormente se pueden obtener por medio de descarga directa de la última versión estable o directamente haciendo un checkout del repositorio SVN, en este caso se optará por hacer un checkout del repositorio

>svn co https://mod-security.svn.sourceforge.net/svnroot/mod-security/crs/trunk modsecurity_crs/

Con esta sencilla linea, se descarga el contenido del repositorio, con todas las reglas. Ahora se debe renombrar el fichero modsecurity_crs_10_setup.conf.example por modsecurity_crs_10.conf para incluirlo en el servidor web

Ahora bien, se deben seguir los siguientes pasos para habilitar Mod_security en Apache.

  1. Suponiendo que el directorio donde se encuentra instalado el Apache es: /opt/WebServerFull/httpd-2.2.22/ crear un directorio conf y copiar en dicho directorio todos los contenidos que se encuentran en Mod_Security.
  2. Desde el directorio creado, ahora se deben crear enlaces simbólicos para enlazar las reglas que se activarán.
>ln -s /opt/WebServerFull/httpd-2.2.22/conf/crs/modsecurity_crs_10_config.conf activated_rules/modsecurity_crs_10_config.conf

>for f in `ls base_rules/` ; do ln -s /opt/WebServerFull/httpd-2.2.22/conf/crs/base_rules/$f activated_rules/$f ; done

 

  1. Finalmente en el fichero de configuración se deberá tener el siguiente contenido para cargar las reglas
<IfModule security2_module>

Include conf/crs/modsecurity_crs_10_config.conf

Include conf/crs/activated_rules/*.conf

</IfModule>

Ahora, se debe probar que el servidor y las aplicaciones funcionan correctamente después de incluir los cambios anteriormente indicados, con estas reglas correctamente configuradas pueden hacerse pruebas de ataques contra alguna de las aplicaciones que se encuentre instalada en el servidor web con el fin de entender su funcionamiento.

Algunas de las características que incluyen este conjunto de reglas son:

  • Detección de violaciones en el protocolo HTTP
  • Detección de Maleware basado en web
  • Protección contra ataques HTTP DoS
  • Protección contra ataques comunes.
  • Identificación de defectos de aplicación
  • Implementación de mecanismos de AV contra ficheros subidos desde aplicaciones web.

Con estas reglas a punto, se cuenta con un mecanismo de protección bastante robusto que sin lugar a dudas debería estar en cualquier instalación de Apache donde los niveles de seguridad deben de ser altos.