WAF (Web ApplicationFirewall) protegen servidores web y las aplicaciones que ejecutan, trabajan en la capa 7 o capa de aplicación del modelo OSI situándose entre el firewall y el servidor.
- Pueden integrarse como software, hardware o servicio cloud.
- Funcionan como un antivirus, utilizando una base de datos de reglas, análisis sintáctico y firmas.
- Protege ante vulnerabilidades de inclusión de ficheros, XSS, SQL injection, etc.
- Permiten también el balanceo de cargas entre varios servidores.
Realizamos una snapshot
Instalamos el módulo de apache mod-security
apt-get install libapache2-mod-security
Reiniciamos apache
apachectl -M | grep security
Renombramos el fichero de configuración de modsecurity.conf-recommended
cp modsecurity.conf-recommended modsecurity.conf
Editamos el fichero modsecurity.conf y ponemos SecRuleEngine a On
Las reglas se guardan en la siguiente ubicación:
Vamos a descargar las reglas actualizadas de OWASP
sudo git clone
https://github.com/SpiderLabs/owasp-modsecurity-crs.git
/usr/share/modsecurity-crs
Si listo el directorio tenemos más ficheros que antes.
Hay que cambiar el nombre fichero crs-setup-conf.example
cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf
Comprobamos que el fichero security2.conf contenga los ficheros de configuración.
nano /etc/apache2/mods-enabled/security2.conf
Añadimos 2 líneas al fichero de configuración.
IncludeOptional /usr/share/modsecurity-crs/*.conf
IncludeOptional /usr/share/modsecurity-crs/rules/*.conf
Vemos la cantidad de reglas que hay descargadas para distintas aplicaciones como cPanel, WordPress, Drupal
Reiniciamos apache
Ahora comprobamos que el módulo modsecurity funciona correctamente
Ejercicios:
1. Simulamos un ataque XSS
192.168.159.128/index.html?=<script>alert<”XSS”>;</script>
Si editamos el fichero modsecurity.conf y desactivamos SecRuleEngine a On se traga el script
2. Ver los logs
Aquí vemos la regla donde capa el ataque
nano /var/log/apache2/modsec_audit.log