Qué es un WAF (Web Application Firewall)
Un WAF (Web Application Firewall) es un firewall especializado en el tráfico HTTP/S que se sitúa entre los usuarios e internet y una aplicación web, e inspecciona cada petición y respuesta para detectar y bloquear ataques dirigidos a la capa de aplicación. A diferencia de un firewall de red convencional, opera en la capa 7 del modelo OSI y entiende el protocolo HTTP.
WAF vs. firewall de red: una distinción importante
Un firewall de red (o de perímetro) trabaja en las capas 3 y 4 del modelo OSI: filtra paquetes IP, controla puertos y protocolos, y decide si el tráfico puede entrar o salir de la red. Es imprescindible, pero está completamente ciego al contenido de una petición HTTP.
El WAF entra en juego en otro plano. Cuando un atacante envía un payload de inyección SQL como ' OR 1=1 -- en un parámetro de búsqueda, el firewall de red lo ve simplemente como una conexión TCP legítima al puerto 443. El WAF, en cambio, lee el contenido de la petición, reconoce el patrón malicioso y lo bloquea antes de que llegue a la aplicación.
En resumen:
- El firewall de red controla quién se conecta y a qué puerto.
- El WAF controla qué se envía dentro de esas conexiones HTTP/S permitidas.
Son complementarios; uno no reemplaza al otro.
Cómo funciona un WAF: inspección de tráfico HTTP/S y motor de reglas
El WAF actúa como un proxy inverso: todo el tráfico entrante (y en algunos casos también el saliente) pasa por él antes de llegar al servidor de aplicaciones. El proceso de inspección sigue, a grandes rasgos, estos pasos:
- Terminación TLS: el WAF descifra el tráfico HTTPS para poder leer el contenido en claro.
- Análisis de la petición: examina la URL, los parámetros GET/POST, las cabeceras HTTP (incluidas las cookies y el User-Agent) y el cuerpo de la petición.
- Coincidencia con reglas: compara el contenido con un conjunto de reglas (firmas, expresiones regulares, puntuación de anomalías…) para detectar patrones maliciosos.
- Decisión: según la regla activada, el WAF permite el paso (allow), bloquea la petición (deny/block), la registra sin bloquear (log/detect), o la redirige a una página de error.
- Reenvío al backend: si la petición es legítima, se reenvía al servidor de aplicaciones y la respuesta vuelve al usuario.
El estándar de reglas más extendido para WAFs de código abierto es el OWASP Core Rule Set (CRS), un conjunto de reglas genéricas que cubre los ataques más comunes sin depender de la aplicación concreta.
Qué protege un WAF: el OWASP Top 10 y más allá
Un WAF bien configurado es especialmente eficaz contra los ataques listados en el OWASP Top 10, la referencia más usada en el sector para priorizar riesgos en aplicaciones web:
| Tipo de ataque | OWASP Top 10 (2021) | ¿El WAF ayuda? | Observación |
|---|---|---|---|
| Inyección SQL (SQLi) | A03 – Injection | Sí, con alta eficacia | Detecta patrones de SQLi conocidos en parámetros y cabeceras |
| Cross-Site Scripting (XSS) | A03 – Injection | Sí, parcialmente | Eficaz en XSS reflejado; el XSS almacenado depende del contexto |
| Inclusión de ficheros (LFI/RFI) | A05 – Security Misconfiguration | Sí | Bloquea rutas sospechosas como ../../../etc/passwd |
| CSRF (Cross-Site Request Forgery) | A01 – Broken Access Control | Limitado | La protección CSRF es responsabilidad del framework, no del WAF |
| Command Injection | A03 – Injection | Sí | Detecta intentos de ejecución de comandos del SO en parámetros |
| Escaneo / enumeración automatizada | A05 / A07 | Sí | Rate limiting y detección de bots; también protege contra scraping agresivo |
| Fuerza bruta sobre login | A07 – Identification Failures | Parcial | El WAF puede limitar intentos; la MFA es la defensa definitiva |
| Broken Object Level Authorization | A01 – Broken Access Control | No | Requiere lógica de negocio; el WAF no comprende la autorización |
«A web application firewall (WAF) is an application firewall for HTTP applications. It applies a set of rules to an HTTP conversation. Generally, these rules cover common attacks such as Cross-site Scripting (XSS) and SQL Injection.»
Para profundizar en las técnicas de ataque que el WAF intenta mitigar, consulta nuestra guía completa de hacking web.
Tipos de WAF
Por modelo de detección
- Basado en lista negra (blacklist / firmas): bloquea peticiones que coincidan con patrones de ataque conocidos. Es fácil de mantener, pero queda ciego ante ataques nuevos o evasiones no catalogadas.
- Basado en lista blanca (whitelist / modelo positivo): solo permite peticiones que cumplan un modelo de comportamiento legítimo definido de antemano. Más seguro en teoría, pero caro de mantener: cualquier cambio en la aplicación puede generar falsos positivos masivos.
- Basado en anomalías / puntuación (el enfoque del OWASP CRS): asigna una puntuación a cada petición según cuántas reglas activa. Si la puntuación supera un umbral, la petición se bloquea. Este modelo equilibra cobertura y control de falsos positivos.
Por modo de operación
- Modo detección (detection / log only): registra las peticiones sospechosas sin bloquearlas. Útil durante la fase de afinamiento inicial para detectar falsos positivos antes de activar el bloqueo.
- Modo bloqueo (prevention / block): bloquea activamente las peticiones que superan el umbral de reglas. Es el modo objetivo en producción, una vez validado el modo detección.
Por modelo de despliegue
| Solución | Tipo | Despliegue | Escenario típico |
|---|---|---|---|
| ModSecurity + OWASP CRS | Open source, basado en reglas | On-premise (Apache / Nginx / IIS) | Servidor propio con control total; requiere mantenimiento activo |
| Cloudflare WAF | Comercial / SaaS, gestionado | Nube (CDN + proxy) | Cualquier aplicación web; plan gratuito con reglas básicas |
| AWS WAF | Comercial, managed rules opcionales | Nube AWS (CloudFront, ALB, API GW) | Infraestructura desplegada en AWS; pago por uso |
| Azure WAF | Comercial, managed rules | Nube Azure (Application Gateway / Front Door) | Infraestructura en Azure; integrado con el ecosistema Microsoft |
| Imperva (Incapsula) | Comercial, reputación + ML | Nube + appliance físico | Empresas que necesitan appliance dedicado o requisitos de cumplimiento |
Los WAF en la nube son más ágiles de desplegar (a menudo basta un cambio de DNS) y su proveedor gestiona las actualizaciones de reglas. Los WAF on-premise dan mayor control y privacidad, pero piden conocimiento técnico profundo para configurarlos y mantenerlos.
Limitaciones del WAF: lo que no puede hacer
Este es, en mi opinión, el punto más importante del artículo para un lector técnico. Un WAF es una capa de defensa, no una solución completa de seguridad.
No sustituye al código seguro
Un WAF mitiga ataques conocidos en la capa de transporte HTTP, pero no repara vulnerabilidades en el código. Si tu aplicación procesa datos de usuario sin validarlos ni escaparlos en el servidor, el WAF puede interceptar muchos ataques, pero no todos. Una vulnerabilidad lógica (por ejemplo, un IDOR que expone datos de otro usuario) es del todo invisible para el WAF: la petición parece legítima y el WAF la deja pasar. El único remedio real es el código seguro.
Se puede evadir
Los WAFs basados en firmas son susceptibles a técnicas de bypass que explotan la ambigüedad del protocolo HTTP o variaciones de codificación que el WAF no reconoce pero el backend sí interpreta. Algunas técnicas documentadas en la comunidad incluyen:
- Codificación alternativa: usar codificación URL doble (
%2527en lugar de'), codificación de entidades HTML, Base64 en parámetros, etc. - Fragmentación de payloads: distribuir el payload entre varios parámetros, cabeceras o partes de una petición multipart.
- Variaciones de sintaxis:
UNION/**/SELECTen lugar deUNION SELECT, comentarios en línea de MySQL, etc. - Protocol-level tricks: HTTP request smuggling, manipulación del Transfer-Encoding, o peticiones que explotan inconsistencias entre el WAF y el servidor backend.
Herramientas como Burp Suite permiten probar la resistencia de un WAF ante estas técnicas. Las extensiones específicas para bypass de WAF (como WAFNinja o el módulo sqlmap –tamper) automatizan parte del proceso.
Falsos positivos
Un WAF mal afinado puede bloquear tráfico legítimo: un formulario de contacto que acepte código en campos de texto, una API con parámetros inusuales, o una aplicación que use caracteres especiales de forma legítima. Los falsos positivos generan fricción para los usuarios y pueden afectar a la conversión en tiendas o SaaS. De ahí que el período de detección antes de activar el bloqueo importe tanto.
No protege el backend ni la infraestructura
El WAF solo ve el tráfico HTTP/S hacia las rutas expuestas. No protege bases de datos accesibles directamente desde internet, paneles de administración internos sin autenticación, accesos SSH comprometidos ni ataques de supply chain sobre las dependencias de tu aplicación.
Vídeo: qué es un WAF explicado en español
Una explicación introductoria en castellano sobre el concepto y la utilidad de un Web Application Firewall:
Ejemplos de WAF: ModSecurity, Cloudflare y AWS WAF
ModSecurity
ModSecurity es el WAF open source más extendido del mundo. Nació como módulo de Apache y hoy tiene versiones para Nginx e IIS. Combinado con el OWASP Core Rule Set (CRS), da cobertura contra el Top 10 sin coste de licencia. Su principal desventaja es la complejidad de configuración: hay que conocer bien las directivas de ModSecurity, entender la puntuación de anomalías del CRS y tener capacidad de analizar logs para afinar las reglas.
Es la opción natural si gestionas tu propio servidor Linux y quieres control total. Si te interesa el hacking web desde el lado defensivo, aprender a configurar ModSecurity con el CRS es un ejercicio que vale mucho la pena.
Cloudflare WAF
El WAF de Cloudflare forma parte de su red CDN global. Ofrece reglas gestionadas basadas en la inteligencia de amenazas de la red de Cloudflare (que procesa billones de peticiones al día), actualizadas de forma automática. El plan gratuito incluye reglas básicas; los planes Pro y superiores añaden el conjunto de reglas gestionadas OWASP y reglas específicas para CMS populares (WordPress, Drupal, Joomla). La configuración se hace desde un panel web o la API, sin tocar el servidor.
AWS WAF
AWS WAF se integra con CloudFront, Application Load Balancer, API Gateway y AppSync. Permite crear Web ACLs con reglas propias o usar Managed Rule Groups (conjuntos de reglas mantenidos por AWS o terceros, incluido el grupo de OWASP). El modelo de precios es por uso (número de Web ACLs, reglas y peticiones procesadas), lo que lo hace escalable pero con coste variable.
Para entender mejor cómo un atacante intenta sortear estas defensas, nuestro curso de hacking web cubre las técnicas de evasión en entornos controlados.
WAF como parte de una estrategia de defensa en profundidad
La filosofía de defensa en profundidad (defense in depth) propone varias capas de seguridad independientes, de modo que el fallo de una no comprometa el sistema completo. En este modelo, el WAF ocupa una capa concreta (la del filtrado de tráfico HTTP), pero no reemplaza a ninguna otra:
- Capa de red: firewall de red, segmentación, VPN.
- Capa de transporte/aplicación HTTP: WAF.
- Capa de aplicación: código seguro (validación de entrada, escape de salida, gestión segura de sesiones), principio de mínimo privilegio en BD.
- Capa de datos: cifrado en reposo, copias de seguridad verificadas, gestión segura de secretos.
- Capa de monitorización: SIEM, alertas, respuesta a incidentes.
Un WAF que detecta un intento de SQLi es valioso, pero si la consulta SQL de tu aplicación usa sentencias preparadas (prepared statements), el ataque habría fallado igualmente aunque el WAF no existiese. La diferencia es que el WAF lo detecta, lo registra y te avisa: información de inteligencia que el código seguro por sí solo no da.
Preguntas frecuentes
¿Un WAF hace mi web segura?
No por sí solo. Un WAF reduce bastante la superficie de ataque HTTP y da visibilidad sobre intentos de explotación, pero no corrige vulnerabilidades en el código, no protege la infraestructura subyacente y puede ser evadido. La seguridad real pide código seguro, gestión de dependencias, configuración adecuada del servidor y monitorización continua. El WAF es una capa de defensa, no un sustituto del resto.
¿Qué diferencia hay entre un WAF y un IDS/IPS?
Un IDS/IPS (Intrusion Detection/Prevention System) opera en el nivel de red y puede analizar múltiples protocolos (TCP, UDP, ICMP, DNS…), pero su comprensión del protocolo HTTP es limitada. Un WAF está especializado en HTTP/S y entiende la semántica de las peticiones web (rutas, parámetros, cookies, sesiones). En la práctica, algunas soluciones modernas combinan ambas capacidades, pero siguen siendo herramientas distintas con propósitos distintos.
¿Cuándo conviene usar un WAF en la nube frente a uno on-premise?
Un WAF en la nube (Cloudflare, AWS WAF, Azure WAF) es la opción más práctica para la mayoría de equipos: se despliega en minutos, las reglas se actualizan automáticamente y el proveedor absorbe los ataques volumétricos antes de que lleguen a tu infraestructura. Un WAF on-premise (ModSecurity) tiene sentido cuando necesitas control total sobre las reglas, los logs deben quedarse en tu infraestructura por requisitos legales, o trabajas en entornos sin acceso a internet.
¿El OWASP Core Rule Set es suficiente?
El OWASP CRS es un punto de partida sólido: cubre los ataques más comunes con buenas tasas de detección y un nivel razonable de falsos positivos en modo de puntuación de anomalías. Pero para aplicaciones con comportamientos poco habituales (payloads grandes, caracteres especiales legítimos, APIs REST con datos complejos) tendrás que ajustarlo. El CRS también pide actualizaciones periódicas para seguir siendo eficaz contra variantes nuevas de ataques conocidos.
¿Puede un atacante saltarse el WAF?
Sí, es posible. Las técnicas de bypass (codificación alternativa, fragmentación de payloads, HTTP request smuggling, explotación de inconsistencias entre el WAF y el backend) son un área activa de investigación ofensiva. Por eso el WAF no puede ser la única defensa: si el código de la aplicación valida y escapa correctamente los datos de entrada, muchos ataques fallan incluso si el WAF es evadido. La combinación de ambas defensas es lo que da resiliencia real. Aprende más sobre estas técnicas en nuestro artículo sobre Burp Suite.
