Instalando modSecurity para Apache en Ubuntu 9.04
Posted by K|Ke on June 21st, 2009
modSecurity™ es un firewall de aplicaciones Web embebible que se 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.
modSecurity™ para Apache es un producto desarrollado por Breach Security. modSecurity™ está disponible como Software Libre bajo la licencia GNU General Public License, a su vez, se encuentra disponible bajo diversas licencias comerciales.
El módulo cuenta con diversas funcionalidades:
- Filtrado de Peticiones: los pedidos HTTP entrantes son analizados por el módulo mod_security antes de pasarlos al servidor Web Apache, a su vez, estos pedidos son comparados contra un conjunto de reglas predefinidas para realizar las acciones correspondientes. Para realizar este filtrado se pueden utilizar expresiones regulares, permitiendo que el proceso sea flexible.
- Técnicas antievasión: las rutas y los parámetros son normalizados antes del análisis para evitar técnicas de evasión.
-
-
- Elimina múltiple barras (//)
- Elimina directorios referenciados por si mismos (./)
- Se trata de igual manera la \ y la / en Windows.
- Decodificación de URL
- Reemplazo de bytes nulos por espacios (%00)
-
- Comprensión del protocolo HTTP: al comprender el protocolo HTTP, ModSecurity™ puede realizar filtrados específicos y granulares.
- Análisis Post Payload: intercepta y analiza el contenido transmitido a través del método POST.
- Log de Auditoría: es posible dejar traza de auditoría para un posterior análisis forense.
- Filtrado HTTPS: al estar embebido como módulo, tiene acceso a los datos después de que estos hayan sido descifrados.
- Verificación de rango de Byte: permite detectar y bloquear shellcodes, limitando el rango de los bytes.
La instalación en Ubuntu 9.04 es simple, basta tan solo ejecutar en consola lo siguiente:
$ sudo apt-get install libapache-mod-security
Para habilitar modSecurity, debemos crear el archivo /etc/apache2/conf.d/mod_security.conf
$ sudo touch /etc/apache2/conf.d/mod_security.conf
Luego editamos el archivo y incluímos lo siguiente en el:
<ifmodule mod_security2.c>
Include conf.d/mod_security/*.conf
</ifmodule>
Luego creamos el archivo que mostrará los Logs generados por modSecurity
$ sudo mkdir /var/log/apache2/mod_security
$ sudo ln -s /var/log/apache2/mod_security /etc/apache2/logs
Luego descargamos las reglas desde aquí
Posteriormente configuramos las reglas
$ sudo mkdir /etc/apache2/conf.d/mod_security
$ sudo cp modsecurity-core-rules* /etc/apache2/conf.d/mod_security/
$ cd /etc/apache2/conf.d/mod_security
$ sudo tar xvfz modsecurity-core-rules*
$ sudo rm CHANGELOG LICENSE README modsecurity-core-rules*.tar.gz
Si desea deshabilitar cualquier regla de modSecurity, basta con crear el fichero / etc/apache2/conf.d/mod_security/modsecurity_crs_99_disabled_rules.conf y decirle ModSecurity que reglas o lugares desea deshabilitar (puede conocer el número de las reglas de modSecurity, leyendo el archivo de registro /var/log/apache2/mod_security). Por ejemplo:
<Location /trac>
SecRuleRemoveById 950005
SecRuleRemoveById 950006
</Location>
Finalmente reinicie el servidor Apache
$ sudo /etc/init.d/apache2 restart
Fuentes: Wikipedia - textoplano.livejournal.com
Entradas relacionadas:










September 14th, 2009 a 8:01 am
Tengo este problema.
sudo apt-get install libapache-mod-security
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
E: No se pudo encontrar el paquete libapache-mod-security
September 14th, 2009 a 12:11 pm
Hola, el paquete está en los repositorios Universe, por lo que debes tenerlos habilitados previamente.
http://packages.ubuntu.com/jaunty/libapache-mod-security
Saludos.
November 18th, 2009 a 7:49 pm
Bueno me perdi en este paso.
$ sudo cp modsecurity-core-rules* /etc/apache2/conf.d/mod_security/
cp: no se puede efectuar `stat’ sobre «modsecurity-core-rules*»: No existe el fichero ó directorio
November 19th, 2009 a 7:28 pm
* Restarting web server apache2 apache2: Syntax error on line 233 of /etc/apache2/apache2.conf: Syntax error on line 132 of /etc/apache2/conf.d/mod_security/base_rules/modsecurity_40_generic_attacks.data: /etc/apache2/conf.d/mod_security/base_rules/modsecurity_40_generic_attacks.data:170: was not closed.\n/etc/apache2/conf.d/mod_security/base_rules/modsecurity_40_generic_attacks.data:132: was not closed.
[fail]