Hoy quiero compartir un paso importante en la evolución de mi sitio web, jlnavarro.es: la implementación de un Web Application Firewall (WAF) llamado Coraza, junto con las reglas de seguridad de OWASP CRS, para blindar el sitio contra amenazas modernas. Si eres desarrollador, administrador de sistemas o simplemente te interesa la ciberseguridad, aquí te cuento cómo funciona esta tecnología y por qué es clave para cualquier proyecto web.
¿Qué es un WAF y por qué lo necesito?
Un Web Application Firewall (WAF) es una herramienta que actúa como un "guardián" entre los usuarios y tu aplicación web. Analiza todas las peticiones entrantes y bloquea aquellas que parecen maliciosas, como intentos de inyección SQL, cross-site scripting (XSS), o ataques de fuerza bruta. A diferencia de un firewall tradicional, un WAF entiende el contexto de las solicitudes HTTP/HTTPS, lo que lo hace especialmente eficaz para proteger aplicaciones y APIs.

Seguridad multicapa
Desde hace tiempo, mi sitio ya contaba con protección contra DDoS gracias a Cloudflare, un servicio que filtra tráfico malicioso a nivel de red y distribuye la carga para evitar caídas por ataques masivos. Sin embargo, decidí añadir una capa adicional de seguridad a nivel de aplicación con Coraza WAF, un proyecto opensource compatible con las reglas OWASP Core Rule Set (CRS).
¿Qué aporta Coraza?
- Protección contra vulnerabilidades comunes:
- Inyecciones SQL (ataques que buscan acceder o manipular bases de datos).
- Cross-Site Scripting (XSS): Bloquea scripts maliciosos incrustados en formularios o URLs.
- Fuerza bruta: Detecta intentos repetidos de acceso a rutas críticas (como
/admin
). - LFI/RFI: Previene la lectura de archivos sensibles del servidor (ej:
/etc/passwd
). - Shell Uploads: Detiene subidas de archivos ejecutables peligrosos.
- Reglas OWASP CRS:
Coraza utiliza las reglas del OWASP Core Rule Set, el estándar open-source más utilizado en la industria para WAFs. Estas reglas se actualizan constantemente para combatir las últimas amenazas, lo que garantiza una defensa proactiva.
¿Cómo se implementó Coraza en el website: jlnavarro.es?
La configuración sigue una arquitectura escalable y eficiente:
- HAProxy como balanceador de carga: Gestiona el tráfico entrante y lo distribuye a los servidores backend.
- Coraza SPOA como WAF: Integrado directamente con HAProxy, analiza cada petición en tiempo real usando el protocolo SPOE (Stream Processing Offload Engine).
- Reglas OWASP CRS: Se descargaron desde el repositorio oficial y se ajustaron para minimizar falsos positivos.
Para los interesados en replicar esta configuración, seguí la guía detallada de All Discoveries, que explica paso a paso cómo integrar HAProxy y Coraza en un servidor Ubuntu.
Resultados y próximos pasos
Desde la implementación:
- Cero falsos positivos: Tras ajustar las reglas de OWASP CRS, el sitio funciona sin interrupciones para usuarios legítimos.
- Alertas proactivas: Coraza registra intentos de ataques en tiempo real, lo que permite tomar acciones preventivas.
- Menor carga en el servidor: Al descargar el análisis de seguridad a Coraza, HAProxy mantiene alta disponibilidad.
En el futuro, planeo explorar plugins adicionales de Coraza y automatizar actualizaciones de reglas mediante integración continua.
Conclusión
La seguridad web no es un lujo, sino una necesidad. Herramientas como Coraza WAF y Cloudflare permiten a proyectos grandes y pequeños defenderse de amenazas cada vez más sofisticadas, sin sacrificar rendimiento ni accesibilidad. Si tienes un sitio web, te animo a investigar cómo un WAF puede fortalecer tu infraestructura.
Enlaces útiles:
Member discussion: