Un Firewall de Aplicación Web es un componente de seguridad que vive frente a una aplicación web e inspecciona el tráfico entrante a aplicaciones web para prevenir que solicitudes maliciosas exploten vulnerabilidades.
En la pila de red, un WAF se sitúa en la capa de Aplicación del modelo OSI, dándole visibilidad completa en la carga útil de la solicitud. Para hacer esta inspección, tiene lugar la terminación de TLS y SSL, permitiendo que el WAF inspeccione lo que está entrando. Cada solicitud se analiza entonces para patrones definidos en una lista de reglas. Estas reglas pueden ayudar a prevenir métodos de ataque comunes como Ataques de Inyección SQL, inyección de cargas útiles de cross-site scripting (XSS), Falsificación de solicitudes entre sitios (CSRF), ataques de inclusión de archivos y más.
Mantener reglas de firewall fuertes 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 diferencia clave de propiedad intelectual entre proveedores. Un WAF generalmente aborda las detecciones usando un modelo de bloqueo negativo, donde todo se considera una solicitud legítima a menos que se active una regla específica. Algunos proveedores usarán aprendizaje automático para detectar abstracciones de patrones conocidos y activar reglas basadas en eso.
A pesar de sus beneficios, los firewalls de aplicación web también pueden crear compensaciones al agregar latencia significativa a las aplicaciones web, o en algunos casos crear una falsa sensación de seguridad al limitar el tamaño del paquete que inspecciona. A su vez, esto podría potencialmente permitir que actores maliciosos eludan sus detecciones, permitiendo que un actor de amenaza se deslice sin ser notado.
Tradicionalmente, un WAF no puede monitorear las respuestas del servidor web, o el tráfico de salida. Esta es una limitación que, si no se planifica, puede causar fugas de datos sensibles en caso de una solicitud maliciosa. Un WAF tampoco tiene visibilidad en las ejecuciones del lado del cliente.
Los firewalls de aplicación web se pueden implementar de muchas maneras: como dispositivos físicos, servicios administrados que están alojados en plataformas de nube pública, servicios que se ejecutan en tiempos de ejecución de borde, o más recientemente, incrustados directamente en una aplicación a través de un SDK.
La seguridad se trata de capas. Un WAF no resuelve mágicamente los riesgos de seguridad, sin embargo, puede ser una buena capa en la defensa de seguridad de una aplicación web.
De hecho, muchos marcos de cumplimiento estándar de la industria como PCI DSS, recomiendan o requieren tener un WAF implementado.