Configuración de ModSecurity con OWASP CRS — Parte 1

October 6, 2013
Pentestes

En esta serie, escribiremos sobre la instalación y configuración de ModSecurity con OWASP CRS en Ubuntu 10.0.4 y Apache 2.

Nos motivó escribir sobre ello cuando algunos de nuestros clientes nos preguntaron al instante si podíamos bloquear todos los ataques web maliciosos conocidos a nivel del propio servidor web. Rápidamente les sugerimos una solución WAF fiable y de código abierto que se adaptara a sus necesidades. Evidentemente, la simple instalación de WAF no significa que no necesite controles de seguridad de las aplicaciones.

ModSecurity (desarrollado por TrustWave) es un WAF (firewall de aplicaciones web) de código abierto confiable que se encuentra entre el usuario final y su servidor de aplicaciones, es decir, a nivel de servidor web. ModSecurity tiene reglas de seguridad básicas preconfiguradas que se activan durante la instalación y la configuración.

Es importante tener en cuenta que ModSecurity, por sí solo, proporciona una protección muy limitada. Para que ModSecurity sea útil, debe configurarse con reglas.Comunidad OWASP Defenderha desarrollado y mantiene un conjunto gratuito de reglas de protección de aplicaciones denominadoConjunto de reglas básicas de OWASP ModSecurity (CRS). Estas reglas deben integrarse con ModSecurity para que pueda realizar sus tareas plenamente funcionales.

Referir aquí para obtener más información sobre ModSecurity.

Hemos buscado mucho en Internet artículos similares, pero la mayoría de ellos tienen información incompleta o incorrecta, lo que es un poco decepcionante. Hemos intentado que este artículo sea lo más preciso, simple y directo.

Antecedentes

Tenemos una nueva instalación de Ubuntu-Desktop-10.0.04.iso (descargada desde aquí) y una instalación de VirtualBox (descargada desde aquí). En primer lugar, necesitamos instalar LAMP (Linux, Apache, MySQL y PHP) en nuestra nueva máquina para configurar el entorno de prueba y ejecutar una aplicación PHP de muestra para probar nuestras cargas maliciosas.

A continuación se detallan los pasos a seguir:

Paso 1: Descargar e instalar LAMP:

actualización de sudo apt-get

sudo apt-get install php5 mysql-server apache2

La instalación le pedirá que introduzca la contraseña de MySQL. Introduzca la contraseña de MySQL de su elección.

Paso 2: Instalar PHP y MySQL

sudo apt-get install php5-mysql

Tras una instalación exitosa, tendrá LAMP instalado en la caja. Para probar la configuración, abra un navegador y escriba http://127.0.0.1. Debería aparecer la siguiente página que indica que la instalación de LAMP se ha realizado correctamente:

Paso 3: Permiso de carpeta y configuración de la página de prueba

Ejecute el siguiente comando para cambiar el permiso de la carpeta /var/www/ para crear el archivo test.php en la carpeta /www/:

sudo chmod 777 /var/www/

Crea un archivo test.php y pega el siguiente código:

<? php

$archivo_secreto = $_GET ['archivo_secreto'];

incluir ($secret_file);

? >

Paso 4: Probar la configuración y realizar un ataque básico

Abre un navegador web y accede a la siguiente URL. Deberías obtener el archivo de contraseña en tu navegador.

http://localhost/test.php?secret_file=/etc/passwd

Paso 5: instalación de ModSecurity

sudo apt-get install libxml2 libxml2-dev libxml2-utils

sudo apt-get install libaprutil1 libaprutil1-dev

sudo apt-get install libapache-mod-security

Paso 6: Modifique los permisos de carpeta para apache2 y el archivo conf.d para crear el directorio de reglas de ModSecurity:

sudo chmod 777 /etc/apache2/

sudo chmod 777 /etc/apache2/conf.d/security

Ejecute los siguientes comandos para copiar el contenido del directorio de descargas al directorio /rules creado en /apache2.

cp -R /usr/share/doc/mod-security-common/examples/rules /etc/apache2/

Nota: Todas las reglas de ModSecurity ahora se encuentran en el directorio /apache2.

Paso 7: Recopilación de registros y configuración de las reglas de ModSecurity

Ejecute el siguiente comando para crear el directorio /logs en /apache2:

mkdir /etc/apache2/logs/

Modifique el archivo /etc/apache2/conf.d/security con el siguiente código:

<IfModule mod_security2.c>

Incluye /etc/apache2/rules/ *.conf

Incluya /etc/apache2/rules/base_rules/ *.conf

</IfModule>

Paso 8: Completar la configuración

Reiniciar apache:

reiniciar sudo /etc/init.d/apache2

Prueba la carga útil de ataque http://127.0.0.1/test.php?secret_file=/etc/passwd. Deberías obtener403 Prohibido. Esto indica que la instalación y configuración de ModSecurity Rules se han realizado correctamente.

A continuación se muestran los comandos de referencia para activar y desactivar ModSecurity:

Para habilitar ModSecurity:

a2enmod mod-security

Desactivar ModSecurity:

a2dismod mod-security

Los pasos anteriores nos funcionan a las mil maravillas en Ubuntu 10.0.4. Espero que esto ayude.

En la siguiente parte, tendremos OWASP CRS instalado y configurado con ModSecurity.


¡¡¡Feliz lectura!!!

Share this post
Seguridad de Wordpress
Análisis de malware
Herramientas y técnicas
Pentestes
PTAAS
Suscríbase a nuestro boletín

Suscríbase a nuestro boletín hoy mismo y mejore sus conocimientos con información valiosa. ¡Es rápido, fácil y gratuito!

Be a Team Player
¡Gracias! ¡Su presentación ha sido recibida!
¡Uy! Algo salió mal al enviar el formulario.
Latest blogs

Latest updates in cybersecurity services

View All
Blacklock Blog Image