Hola, ¿qué respuestas necesitas?
Imprimir

Instalar Fail2ban + modsecurity en Ubuntu

1️⃣ Actualizar e instalar ModSecurity

 
sudo apt update sudo apt install libapache2-mod-security2 modsecurity-crs -y

2️⃣ Activar el archivo de configuración principal

 
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf sudo nano /etc/modsecurity/modsecurity.conf
  • Cambia la línea:

 
SecRuleEngine DetectionOnly

por:

 
SecRuleEngine On

Guarda y cierra (CTRL+O, ENTER, CTRL+X).


3️⃣ Crear carpeta para reglas activadas

 
sudo mkdir -p /usr/share/modsecurity-crs/activated_rules

4️⃣ Enlazar las reglas base OWASP CRS

 
sudo ln -s /usr/share/modsecurity-crs/base_rules/* /usr/share/modsecurity-crs/activated_rules/
  • Verifica que se hayan creado correctamente:

 
ls -l /usr/share/modsecurity-crs/activated_rules/

5️⃣ Incluir reglas activadas en Apache

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

Agrega dentro de <IfModule security2_module>:

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

Guarda y cierra.


6️⃣ Reiniciar Apache

 
sudo systemctl restart apache2
  • Verifica que el módulo esté activo:

 
sudo apache2ctl -M | grep security

Deberías ver:

 
security2_module (shared)

7️⃣ Probar que ModSecurity funciona

  • Los bloqueos se registran en:

 
/var/log/apache2/modsec_audit.log
  • Puedes probar una petición maliciosa de prueba (XSS, SQLi) con curl o navegador, y verificar que se registre y bloquee.


💡 Consejo de producción:

  • Inicialmente, revisa los logs antes de poner SecRuleEngine On si tienes un sitio en producción.

  • Puedes empezar con DetectionOnly y luego pasar a On una vez estés seguro de que no hay falsos positivos.