jump to navigation

Instalando modSecurity para Apache en Ubuntu 9.04 10/11/2009

Posted by linopensoft in Tutoriales.
trackback

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

Anuncios
A %d blogueros les gusta esto: