Un WAF (Web Application Firewall) es, en palabras de INCIBE, un cortafuegos dedicado a las aplicaciones web: una herramienta especializada en filtrar, monitorizar y bloquear las conexiones desde y hacia una aplicación web. Se usa para proteger una tienda online, un portal de clientes, una API o cualquier web con formularios o acceso de usuarios.
Qué problema resuelve
Un servidor web tiene que estar abierto: sirve páginas a quien las pida y, a menudo, recibe datos por formularios, inicios de sesión o archivos subidos. INCIBE explica que, si algún componente tiene un fallo o está mal configurado (el sistema operativo, el gestor de contenidos, la base de datos, el sistema de pago), un atacante puede meter información manipulada o archivos maliciosos y llegar a hacerse con el control.
Aquí el cortafuegos de red ayuda poco, porque ese tráfico tiene que entrar para que la web funcione. El WAF se fija en lo que va dentro de la conversación entre el navegador y el servidor.
Cómo funciona
OWASP lo describe como un cortafuegos para aplicaciones HTTP que aplica un conjunto de reglas a esa conversación. También señala que se puede considerar un proxy inverso: se pone delante de la aplicación, y protege al servidor y no al cliente.
Según INCIBE, filtra en los dos sentidos, entre el navegador de quien visita la web y el servidor que la aloja. Con esas reglas se pueden impedir los ataques web que identifica OWASP, sobre todo los de inyección y XSS. Puede funcionar de dos maneras:
Los dos modelos de seguridad de un WAF, según INCIBE
| Modelo | Cómo decide | A cambio |
| Seguridad positiva | Deniega todo por defecto y solo acepta lo que sus reglas dan por válido. | Muy fiable, pero más difícil de mantener. |
| Seguridad negativa | Acepta lo que llega y solo deniega lo que considera un ataque. | Más fácil de mantener, pero menos preciso, y necesita actualizaciones de amenazas. |
WAF y cortafuegos de red: en qué se diferencian
WAF frente a cortafuegos de red
| WAF | Cortafuegos de red |
| Qué protege | Una aplicación web o un grupo de ellas | La red y lo que hay conectado a ella |
| Qué tráfico mira | HTTP, entre navegador y servidor | Todo el que cruza la red |
| Dónde va | Delante de la web, o dentro de su servidor | En el borde de la red o entre sus zonas |
Un NGFW también identifica aplicaciones y lleva prevención de intrusiones, pero su trabajo es el conjunto de la red. Si tienes dudas de qué aparato hace qué, mira los tipos de firewall.
INCIBE distingue tres:
- En la red (in-line appliance): como un dispositivo más, sea un aparato físico o un software virtualizado.
- En el propio servidor (end-point): como programa independiente, como complemento del servidor web (por ejemplo, Apache) o como plugin de un gestor de contenidos como WordPress, Drupal o Joomla.
- En la nube (cloud-based): recibe las peticiones, las analiza y filtra, y pasa las buenas a tu servidor. INCIBE destaca que lo configuran y lo mantienen expertos, con soporte a todas horas.
Si tu web está en un alojamiento externo, no tienes dónde poner un aparato: lo que te queda es el plugin o el WAF en la nube, o lo que incluya tu proveedor. Pregúntaselo, porque INCIBE recomienda asegurar la seguridad de la web en el contrato de servicio.
WAF en hardware: un ejemplo
También existe como aparato físico, y tiene sentido sobre todo cuando las aplicaciones están en tus propias instalaciones. Como ejemplo, esto es lo que publica Fortinet de su gama FortiWeb, que también se vende como máquina virtual y como servicio en la nube:
FortiWeb en hardware, según la web de Fortinet (rendimiento con WAF activo)
| Modelo | Rendimiento | Puertos |
| FortiWeb 100F | 100 Mbps | 4 GE RJ45 |
| FortiWeb 400F | 500 Mbps | 4 GE RJ45 y 4 SFP GE |
| FortiWeb 600F | 1 Gbps | 4 GE RJ45 y 4 SFP GE |
| FortiWeb 1000F | 2,5 Gbps | 8 con bypass y 4 SFP GE |
| FortiWeb 2000F | 5 Gbps | 4 GE y 4 SFP GE |
| FortiWeb 3000F | 10 Gbps | 8 GE |
| FortiWeb 4000F | 70 Gbps | 8 GE |
No compares estas cifras con las de un cortafuegos de red, porque miden trabajos distintos. Dimensiónalo por el tráfico de tus webs, no por tu línea de Internet.
También los hay de código abierto
OWASP mantiene dos proyectos: ModSecurity CRS, un conjunto de reglas genéricas de detección que da una protección básica a cualquier aplicación web, y Coraza, una base para integrar un WAF en tus aplicaciones que admite esas mismas reglas. Son una opción si tienes a alguien que los mantenga.
Lo que no hace
- No arregla la web. INCIBE lo plantea como algo adicional a lo básico: tener el software actualizado, quitar lo que no se usa, doble factor para administrar, auditorías y copias de seguridad.
- No funciona solo. OWASP avisa de que adaptarlo a una aplicación puede costar bastante y hay que mantenerlo cuando la aplicación cambia. INCIBE también dice que requiere adaptación y configuración.
- No sustituye al servidor bien colocado. Si el servidor web está en tus instalaciones, INCIBE recomienda situarlo en una zona desmilitarizada o DMZ.
Si te afecta el ENS
El Esquema Nacional de Seguridad no nombra el WAF. Pero su medida mp.s.2, sobre servicios y aplicaciones web, exige prevenir ataques de inyección de código, de manipulación de URL y de cookies, de escalado de privilegios y de cross site scripting. Un WAF puede ayudar con esto, pero no basta: según la categoría del sistema, la medida pide además auditorías de seguridad de las aplicaciones.
Cuándo compensa
- Si tu web recibe datos (formularios, usuarios, pagos), es cuando más sentido tiene. Una web solo informativa tiene menos que proteger, aunque también puede ser atacada.
- Si usas un gestor de contenidos en un alojamiento externo, mira primero qué incluye tu proveedor y qué ofrece un plugin o un servicio en la nube.
- Si tienes las aplicaciones en tu propia sala y mucho tráfico, valora un aparato o una máquina virtual.
- Cuenta con el mantenimiento: revisa quién va a ajustar las reglas y atender los bloqueos de peticiones legítimas.