Un firewall de aplicaciones web es un componente de seguridad que se sitúa delante de una aplicación web e inspecciona el tráfico entrante hacia las aplicaciones web para impedir que las solicitudes maliciosas exploten vulnerabilidades.
Dentro de la pila de red, un WAF se sitúa en la capa de aplicación del modelo OSI, lo que le da visibilidad total sobre la carga útil de la solicitud. Para poder realizar esta inspección, el WAF termina el TLS y el SSL, lo que le permite examinar lo que entra. A continuación, analiza cada solicitud en busca de los patrones definidos en una lista de reglas. Estas reglas pueden ayudar a prevenir métodos de ataque habituales como los ataques de inyección SQL, la inyección de cargas de cross-site scripting (XSS), la falsificación de solicitudes entre sitios (CSRF), los ataques de inclusión de archivos y más.
Mantener unas reglas de firewall sólidas es la parte más valiosa de un WAF. La calidad de las reglas varía significativamente entre proveedores, y es, en última instancia, la principal diferencia de propiedad intelectual entre ellos. Un WAF suele abordar la detección mediante un modelo de bloqueo negativo, que trata toda solicitud como legítima a menos que se active una regla concreta. Algunos proveedores utilizan el aprendizaje automático para detectar abstracciones de patrones conocidos y activar reglas a partir de eso.
A pesar de sus ventajas, los firewalls de aplicaciones web también pueden generar contrapartidas al añadir una latencia significativa a las aplicaciones web, o, en algunos casos, crear una falsa sensación de seguridad al limitar el tamaño de paquete que inspeccionan. Esto, a su vez, puede permitir que actores maliciosos eludan la detección y se cuelen sin ser detectados.
Tradicionalmente, un WAF no puede supervisar las respuestas del servidor web, ni el tráfico de salida. Se trata de una limitación que, si no se tiene en cuenta, puede provocar la fuga de datos sensibles en caso de una solicitud maliciosa. Un WAF tampoco tiene ninguna visibilidad sobre las ejecuciones del lado del cliente.
Los firewalls de aplicaciones web se pueden desplegar de muchas formas: como dispositivos físicos, como servicios gestionados alojados en plataformas de nube pública, como servicios que se ejecutan en entornos de borde o, más recientemente, integrados directamente en una aplicación mediante un SDK.
La seguridad consiste en capas. Un WAF no resuelve por arte de magia los riesgos de seguridad; sin embargo, puede ser una buena capa dentro de la defensa de seguridad de una aplicación web.
De hecho, muchos marcos de cumplimiento estándar del sector, como PCI DSS, recomiendan o exigen tener implementado un WAF.