Вы находитесь на странице: 1из 10

Asignatura Datos del alumno Fecha

Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

Actividades

Trabajo: Instalación y pruebas del firewall de aplicaciones web


open source: MODSECURITY

Descripción de la actividad

Modsecurity es un WAF instalable embebido en HOST o como reverse proxy:

Figura 5. Modesecurity as reverse proxy


Fuente: http://adolfomaltez.wordpress.com/2011/05/29/apache-reverse-proxy-modsecurity/

ModSecurity puede instalarse de forma embebida protegiendo un único servidor


Apache o como proxy inverso protegiendo varios servidores web. La instalación de
ModSecurity es la misma para estos dos tipos de despliegue, únicamente variará la
configuración de Apache que en el caso de querer proteger varios servidores se deberá
instalar en una máquina dedicada el servidor

Apache con el módulo ModSecurity, configurando el servidor Apache para que actúe
como proxy inverso. ModSecurity realiza un filtrado de los datos de entrada y salida al
servidor web bloqueando todo el tráfico que considere malicioso según unas reglas
definidas. Cada una de las peticiones realizadas al servidor web son inspeccionadas por
ModSecurity para comprobar que no llegue al servidor web ningún contenido no
autorizado. En este ejercicio se va a instalar, configurar y probar
ModSecurity protegiendo la aplicación web Mutillidae.

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

1. Instalación del entorno con Modsecurity embebido en host.

MAQUINA ANFITRIONA (ataque)


192.168.2.1

ATAQUES: M. VIRTUAL
SQLI fwmodsecurity
XSS 192.168.2.3
LFI (mutillidae)
REDIRECT
» Descargar eDDOSinstalar
(loic, hoic) Oracle VM VirtualBox desde:
http://www.oracle.com/technetwork/es/server-
storage/virtualbox/downloads/index.html

» Descargar Máquina Virtual lamp que contiene: Linux Ubuntu server +


Apache + Mysql + Php (LAMP) y aplicación web php MUTILLIDAE desde:
https://drive.google.com/open?id=0Bz7Tp_tMynwpTVJSZWxYS3RXOHc

» La máquina virtual tiene dos dispositivos de red ya configurados:

o Eth0: NAT
o Eth1: 192.168.2.3

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

» Configurar el adaptador de red virtual de la maquina local anfitriona (adaptador


de red ORACLE VM VIRTTUALBOX) con la dirección 192.168.2.1, para tener
conectividad con el servidor Ubuntu de la MV
(VIRTUALBOXARCHIVOPREFERENCIASRED):

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

» La red Virtualbox host only ethernet adapter debe estar asignada a la


MV: configuración red

» Las pruebas se realizarán en la misma máquina activando-desactivando el


firewall modsecurity y reiniciando la máquina virtual al terminar las pruebas
sin modsecurity activado y antes de pasar a las pruebas con modsecurity
activado.

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

» Instalar el firewall de aplicaciones web modsecurity+modevasive en la


MV fwmodsecurity. NOTA: el procedimiento que se muestra a continuación utiliza
las versiones de MODSECURITY (2.7.7) y de CORE RULE SET (2.2.9)
correspondientes a la fecha en la que se realiza la configuración de la actividad. Es
posible que si en el momento de realizar la actividad, han aparecido nuevas
versiones de MODSECURITY y de CORE RULE SET, el resultado de ejecutar este
procedimiento puede diferir del obtenido en el momento de configurar la actividad.

» Contraseña de root: root

sudo apt-get update


sudo apt-get install libapache2-mod-security2 libapache2-modsecurity libapache2-mod-
evasive

Para habilitar las reglas mod_security, copier el fichero de configuración


mod_security, editarlo y establecer el parámetro ‘SecRuleEngine’ a On:

sudo cp /etc/modsecurity/modsecurity.conf{-recommended,}
sudo nano /etc/modsecurity/modsecurity.conf
SecRuleEngine On

SecRequestBodyLimit 32768000
SecRequestBodyInMemoryLimit 32768000

SecResponseBodyAccess Off

Las reglas modsecurity están en:

/usr/share/modsecurity-crs/base_rules
/usr/share/modsecurity-crs/optional_rules
/usr/share/modsecurity-crs/experimental_rules

Descargar OWASP modsecurity Core Rule Set:

Sudo wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/2.2.9.tar.gz


gzip -d 2.2.9.tar.gz
tar -xvf 2.2.9.tar
sudo mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.bak
sudo mv owasp-modsecurity-crs /usr/share/modsecurity-crs

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

sudo mv /usr/share/modsecurity-crs/modsecurity_crs_10_setup.conf.example
/usr/share/modsecurity-crs/modsecurity_crs_10_setup.conf
sudo ln -s /usr/share/modsecurity-crs/base_rules/*.conf /usr/share/modsecurity-
crs/activated_rules/

Comentar líneas (carácter # al comienzo de línea) 20, 27, 29 del fichero


modsecurity_crs_35_bad_robots.conf (esto ocurre porque la versión de reglas es
posterior a la de modsecurity, se podría instalar una versión de reglas más antigua o
comentar las directivas siguientes que dan problemas. Este problema puede variar en
función de las versiones de MODSECURITY y de REGLAS en el momento de efectuar
la instalación):

#SecRule REQUEST_HEADERS:User-Agent "@pmFromFile modsecurity_35_scanners.data" \


#SecRule REQUEST_HEADERS:User-Agent "@pmFromFile modsecurity_35_bad_robots.data" \
#SecRule REQUEST_HEADERS:User-Agent “(?i:?:c … \

Comentar línea: buscar la cadena dentro del fichero:


“modsecurity_40_generic_attacks.conf” y comentar esa línea:

sudo nano /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_40_generic_attacks.conf


#SecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML:/*
"@pmFromFile modsecurity_40_generic_attacks.data" \

Comentar línea: buscar la cadena dentro del fichero:


“modsecurity_50_outbound.conf” y comentar esa línea:

sudo nano /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_50_outbound.conf


#SecRule RESPONSE_BODY "!@pmFromFile modsecurity_50_outbound.data" \

Editar /etc/apache2/mods-enabled/security2.conf:

sudo nano /etc/apache2/mods-enabled/security2.conf

Contenido de security2.conf:

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

<ifmodule security2_module>

SecDataDir /var/cache/modsecurity

IncludeOptional /etc/modsecurity/*.conf

IncludeOptional "/usr/share/modsecurity-crs/*.conf"

IncludeOptional "/usr/share/modsecurity-crs/activated_rules/*.conf"

</IfModule>

Configurar módulo mod_evasive:

Sudo nano /etc/apache2/mod-enabled/mod-evasive.conf

<ifmodule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 30
DOSPageInterval 1
DOSSiteInterval 3
DOSBlockingPeriod 3600
DOSLogDir “/var/log/mod_evasive”
</ifmodule>

Crear fichero de log para mod_evasive:

touch /var/log/mod_evasive
sudo chown www-data:www-data /var/log/mod_evasive

Cargar módulos en Apache:

sudo a2enmod headers


sudo a2enmod evasive
sudo a2enmod security2

Reinicio de Apache2 web server:

sudo service apache2 restart

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

Comprobar si están activos:


sudo apachectl -M | grep security2
security2_module (shared)

sudo apachectl -M | grep evasive


evasive20_module (shared)

» Instalar las herramientas HOIC, LOIC en la máquina anfitriona para


realizar ataques de denegación de servicio distribuidos DDOS contra la aplicación
web MUTILLIDAE situada en la MV:

o LOIC: http://sourceforge.net/projects/loic/

PD: los antivirus dan alerta cuando se descargan, no pasa nada, se obvia la
alerta.

o ATAQUES DDOS:
http://resources.infosecinstitute.com/dangerous-ddos-distributed-denial-of-
service-on-the-rise/

HERRAMIENTAS DDOS:
http://resources.infosecinstitute.com/dos-attacks-free-dos-attaking-tools

2. Pruebas de funcionamiento de modsecurity:

Con el objetivo de comparar los efectos conseguidos mediante ataques a la


aplicación mutillidae, hay que llevar a cabo las siguientes pruebas en cada
una de las dos máquinas por separado (lamp, fwmodsecurity). Debido a
que tienen la misma dirección IP, hay que realizar las pruebas con una sola máquina
virtual arrancada:

Se arranca una máquina, se pasan todas las pruebas, se monitorizan y se recogen


resultados y posteriormente, se realiza la misma operación con la otra máquina.
También se puede utilizar solo la máquina fwmodsecurity habilitando y
deshabilitando el firewall mediante el parámetro SecRuleEngine On/Off en
/etc/modsecurity/modsecurity.conf

» Comprobar:

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

o Acceder al servidor Apache desde el navegador de la máquina local mediante la


dirección IP de la máquina Ubuntu server donde está instalado el servidor
Apache http://192.168.2.3/ Si está correctamente instalado MODSECURITY
prohibirá el acceso, ya que existe una regla que impide acceder mediante
dirección IP. Solo se permite por defecto acceso mediante nombres de dominio
con DNS configurado. Para permitir el acceso mediante dirección IP el alumno
deberá deshabilitar la regla que impide tal acceso y comprobar posteriormente
que ya se permite acceder mediante dirección IP.

o Después de deshabilitar la regla anterior, comprobar el acceso a


http://192.168.2.3/mutillidae/index.php?page=../../../../../etc/passwd. Se
debería prohibir el acceso. Localizar el mensaje de LOG donde se especifica la
regla que impide el acceso y mostrarlo en la memoria.

» Ataques:

o Explotar al menos 5 vulnerabilidades OWASP 2013-2010-2007 manualmente o


con ayuda de una herramienta como ZAP o similar (DAST): SQLI, XSS, OPEN
REDIRECT, LFI…

o Mediante la herramienta LOIC realizar ataques de denegación de servicio


distribuidos DDOS desde la máquina anfitriona a la aplicación mutillidae
instalada en las máquinas virtuales. Para realizar los ataques de DDOS y
que tengan éxito, es conveniente dirigirlos a aquellas partes de la
aplicación que sean más vulnerables a ataques DDOS por consumir
más recursos al ser requeridas por el usuario, por ello, se debe
investigar un poco la aplicación para configurar las URL,s más
vulnerables y dirigir los ataques hacia ellas. Además, hay que estudiar
como parametrizar los ataques con cada herramienta.

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asignatura Datos del alumno Fecha
Seguridad en Apellidos:
Aplicaciones Online
y Bases de Datos Nombre:

o Mediante distintos métodos aplicables en las capas de la aplicación, monitorizar


el comportamiento de la aplicación y servicios en las pruebas con y sin firewall:
 Comando TOP de Linux.
 Log de la aplicación de mutillidae:
http://192.168.2.3/mutillidae/index.php?page=show-log.php
 Log de S.O. Linux  /var/log/…
 Log de apache /var/log/apache2/…
 Log modsecurity  /var/log/apache2/modsec_audit.log
 Log mod_evasive  /var/log/apache2/mod_evasive/…
 Phpmyadmin: http://192.168.2.3/mutillidae/index.php?page=phpmyadmin.php
 mysql estado actual.
 Aplicación wireshark instalada en la máquina anfitrión para grabar estadísticas
de tráfico durante los ataques. Para uso de wireshark consultar: 
https://www.incibe.es/CERT/guias_estudios/guias/guia_wireshark

Entregable: Se debe confeccionar una memoria explicando lo realizado y resaltando


el análisis comparativo de los ataques realizados con y sin MODSECURITY activado, se
incluirán pantallas, logs, capturas, etc. que demuestren la realización del ejercicio.

Extensión máxima de la memoria (sin contar anexos) 15 páginas, fuente Georgia 11 e


interlineado 1,5. Debe contener: índice, apartados con contenido principal,
conclusiones, referencias, anexo.

Entregar un fichero en formato pdf.

TEMA 2 – Actividades © Universidad Internacional de La Rioja (UNIR)

Вам также может понравиться