Considerando el incremento en los ataques web, un firewall de aplicaciones web (WAF) nos permite proteger las aplicaciones web de HTTP y fallas de seguridad basadas en aplicaciones web.
Estos sistemas WAF tienen un conocimiento específico de las vulnerabilidades de aplicaciones web y HTTP y filtran o bloquean estos ataques sin exponer los servidores o aplicaciones web.
Se implementa un WAF entre servidores de aplicaciones y enrutadores de borde de red y firewalls. El firewall de la aplicación web funciona como una barrera flexible que filtra todo el acceso a la aplicación, inspeccionando el tráfico entrante y saliente. Está específicamente diseñado para mitigar los ataques sin bloquear usuarios legítimos y sin ralentizar el rendimiento de la aplicación.
Un firewall de aplicación web difiere de un firewall de red tradicional en su capacidad para inspeccionar datos a nivel de aplicación, por ejemplo, al validar la entrada de campo de formulario o proteger las cookies de la aplicación. Un firewall de red y un firewall de aplicación web generalmente se implementan juntos y proporcionan niveles complementarios de seguridad.
Las aplicaciones pueden ser vulnerables a muchas amenazas que los firewalls de red normales no detectan. El impacto de estos ataques puede ser bastante severo. El Proyecto de seguridad de aplicaciones web abiertas (OWASP) ha compilado una lista de los 10 riesgos principales que aún amenazan muchas implementaciones de aplicaciones web. El OWASP Top 10 de 2010 es prácticamente idéntico a la versión OWASP Top 10 de 2017 ; Los ataques más comunes no han cambiado significativamente a lo largo de los años. Aquí hay unos ejemplos:
Inyección:
Los ataques de inyección SQL utilizan un formulario web u otro mecanismo para enviar comandos SQL o comandos que contienen caracteres especiales SQL. Al enviar estos comandos SQL, el atacante puede activar la base de datos SQL de back-end para ejecutar los comandos inyectados y permitir que usuarios no autorizados obtengan información confidencial de la base de datos.
Cross-site scripting (XSS):
Los ataques XSS explotan un servidor web que no valida los datos procedentes de otro sitio. XSS puede permitir al atacante obtener información confidencial o comprometer un servidor web.
Exposición de datos confidenciales:
Si las aplicaciones web no protegen los datos confidenciales , como los números de tarjeta de crédito o los números de Seguro Social (SSN), los atacantes pueden realizar robos de identidad, fraudes con tarjetas de crédito u otros delitos.
Falsificación de solicitudes entre sitios (CSRF):
Los ataques CSRF obligan a un usuario a enviar una solicitud HTTP, incluida la cookie de sesión de la víctima, a una aplicación web vulnerable. Para la aplicación web vulnerable, esto parece ser una solicitud legítima de la víctima.