0% encontró este documento útil (0 votos)
167 vistas6 páginas

Laboratorio WAF

Este documento describe cómo implementar un firewall de aplicaciones web (WAF) utilizando la herramienta Modsecurity. Las instrucciones explican cómo instalar Apache, configurarlo como proxy inverso, instalar Modsecurity y configurar sus reglas para proteger el servidor web. También incluye instrucciones para instalar la aplicación vulnerable DVWA y probar el funcionamiento del WAF bloqueando ataques como inyección de comandos e inyección SQL.

Cargado por

Wilmer Espinosa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
167 vistas6 páginas

Laboratorio WAF

Este documento describe cómo implementar un firewall de aplicaciones web (WAF) utilizando la herramienta Modsecurity. Las instrucciones explican cómo instalar Apache, configurarlo como proxy inverso, instalar Modsecurity y configurar sus reglas para proteger el servidor web. También incluye instrucciones para instalar la aplicación vulnerable DVWA y probar el funcionamiento del WAF bloqueando ataques como inyección de comandos e inyección SQL.

Cargado por

Wilmer Espinosa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

1.

- WAF – Web Application Firewall

De qué se trata este ejercicio

Este ejercicio brinda la oportunidad de implementar el servicio Web Application Firewall


mediante el uso de la herramienta Modsecurity.

Qué seremos capaces de hacer

Al finalizar este ejercicio, Ud. debería ser capaz de:

 Instalar Apache.
 Configurar apache2 como proxy reverso.
 Instalar modsecurity.
 Asegurar el servidor WEB.
 Interpretar logs de acceso mediante modsecurity.

Introducción

En este ejercicio, Ud. configurará modsecurity para el servicio web application firewall
para protección de sitios web.

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Instrucciones del Ejercicio

Instalación de Apache2

1. Actualización de repositorios e instalación de actualizaciones.

#apt update

#apt upgrade

2. Instalación del servidor web

#apt-get install apache2

3. Habilitar modulo ssl de apache

#a2enmod ssl

#systemctl restart apache2

GENERAR CERTIFICADOS AUTOFIRMADOS

4. Instalar openssl

#apt-get install openssl

5. Crear directorio para guardar certificados ssl

#mkdir /etc/apache2/ssl

#cd /etc/apache2/ssl

6. Generar certificados autofirmados

#openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout


/etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

INSTALACIÓN DE MODSECURITY

7. Instalar el módulo
#apt-get install libapache2-mod-security2 -y

8. Verificar que modsecurity se encuentra instalado y funcionando


#apachectl -M | grep --color security2

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
9. Crear archivo de configuración principal
#mv /etc/modsecurity/modsecurity.conf-recommended
/etc/modsecurity/modsecurity.conf

10. Refrescar Apache para que aplique el módulo modsecurity


#service apache2 reload

11. Se crea un archive de log en el que se registran los intentos de ataque


#/var/log/apache2/modsec_audit.log

Modificar las configuraciones de modsecurity

12. Habilitar bloqueo de modsecurity


#sed -i "s/SecRuleEngine DetectionOnly/SecRuleEngine On/"
/etc/modsecurity/modsecurity.conf

13. Desactivar registros de detección y protección de modsecurity


#sed -i "s/SecResponseBodyAccess On/SecResponseBodyAccess Off/"
/etc/modsecurity/modsecurity.conf

14. Agregar reglas


#nano /etc/apache2/mods-enabled/security2.conf
IncludeOptional "/usr/share/modsecurity-crs/*.conf"
IncludeOptional "/usr/share/modsecurity-crs/rules/*.conf"

15. Renombrar las reglas de defecto


#mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.bk

16. Descargar reglas de SpiderLabs


#git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
/usr/share/modsecurity-crs

17. Copiar el archivo de configuración de ejemplo


#cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-
crs/crs-setup.conf

Operaciones con modsecurity


Desactivar modsecurity en un dominio o directorio
En un Virtual host

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
<IfModule security2_module>
SecRuleEngine Off
</IfModule>

En un directorio
<Directory "/var/www/wp-admin">
<IfModule security2_module>
SecRuleEngine Off
</IfModule>
</Directory>

Remover unicamente una directiva


<IfModule security2_module>
SecRuleRemoveById 981173
</IfModule>

APACHE COMO PROXY INVERSO


1. Habilitar módulo proxy
#a2enmod proxy_http
#service apache2 restart

<VirtualHost *:443>
ServerAdmin admin@ejercito.mil.ec
ServerName soporte.ejercito.mil.ec
ServerAlias soporte.ejercito.mil.ec
ProxyRequests Off
SSLProxyEngine on
ProxyPreserveHost On
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<Location />
ProxyPass http://10.140.178.108/glpi/
ProxyPassReverse http://10.140.178.108/glpi/
Order allow,deny
Allow from all
</Location>

</VirtualHost>

Instalar DVWA
Instalar paquetes necesarios
#apt-get -y install apache2 mariadb-server php php-mysqli php-gd libapache2-mod-
php

Configurar clave en mysql

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
#mysql_secure_installation

Crear la base de datos para DVWA


#mysql -u root -p
> create database dvwa;
> create user dvwa@localhost identified by 'p@ssw0rd';
> grant all on dvwa.* to dvwa@localhost;
> flush privileges;

Descargar la aplicación DVWA


#git clone https://github.com/digininja/DVWA.git

Mover la aplicación al directorio de publicación de apache


#mv DVWA/ /var/www/html/

Establecer permisos de escritura en los directorios


#chmod 777 /var/www/html/DVWA/hackable/uploads/
#chmod 777 /var/www/html/DVWA/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
# chmod 777 /var/www/html/DVWA/config

Crear archivo de configuración


#cd /var/www/html/DVWA/config
#mv config.inc.php.dist config.inc.php

Afinar parámetros en php.ini


# nano /etc/php/7.2/apache2/php.ini
allow_url_include = On
allow_url_fopen = On

Reiniciar el servicio de apache


# systemctl restart apache2

Ingresar a un navegador e ingresar a la URL


http://ip_server/DVWA
Usuario: admin
Password: password

Verificar prerequisitos y proceder con la creación de la base de datos.

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador
Pruebas de funcionamiento del WAF
Ingresar a la opción Command Injection

Poner localhost luego Submit


Intentar lanzar inyecciones de comandos:
 ;cat /etc/passwd
 || whoami
 ;cat /etc/hosts
 ;ifconfig

Ingresar a la opción SQL Injection

Validar id=1 id=2 id=3


Intentar realizar peticiones de Inyecciones SQL
 %' or '0'='0 #Desplegar todos los datos verdaderos y falsos
 %' or 0=0 union select null, version() # #En la última línea desplegar la versión de
la base de datos
 %' or 0=0 union select null, user() # #Desplegar el usuario de conexión a la BD
 %' or 0=0 union select null, database() # #Desplegar el nombre de la BD
 %' and 1=0 union select null, table_name from information_schema.tables #
#Desplegar las tablas del esquema de la BD
 %' and 1=0 union select null, table_name from information_schema.tables where
table_name like 'user%'# #Desplegar las tablas que inicien con el
prefijo user
 %' and 1=0 union select null, concat(table_name,0x0a,column_name) from
information_schema.columns where table_name = 'users' # #Desplegar las
columnas de la tabla users
 %' and 1=0 union select null,
concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users #
#Mostrar información de las columnas indicadas
 ' union select null,@@hostname # #Desplegar el nombre del servidor

Desactivar las respuestas con la versión del SO de apache


#nano /etc/apache2/conf-enabled/security.conf

#ServerTokens OS
ServerSignature Off
Reiniciar servicio de apache
#systemctl restart apache2

Dirección: Calle E N66-80 y De Los Eucaliptos


Correo: telecomsec@hotmail.com
Quito-Ecuador

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy