¿Qué es WAF?
También llamado: Web Application Firewall, cortafuegos de aplicaciones web, ModSecurity
Definición
Un WAF (Web Application Firewall) es un cortafuegos que analiza el contenido de las peticiones HTTP que llegan a una web y bloquea las que parecen ataques, como inyecciones SQL, XSS o intentos de explotar vulnerabilidades conocidas.
Un firewall normal decide por IP y puerto: deja pasar todo lo que va al puerto 443. Un WAF mira dentro de cada petición: la URL, los parámetros, las cabeceras, el cuerpo. Si una petición contiene ' OR 1=1 -- en un formulario, la bloquea antes de que llegue a tu aplicación.
Ejemplo
Una petición que un WAF bloquearía por intento de inyección SQL:
GET /productos?id=5%20UNION%20SELECT%20usuario,clave%20FROM%20usuarios HTTP/1.1
Host: example.com
HTTP/1.1 403 Forbidden
Con ModSecurity y el conjunto de reglas OWASP CRS en un servidor:
SecRuleEngine On
Include /usr/share/modsecurity-crs/crs-setup.conf
Include /usr/share/modsecurity-crs/rules/*.conf
Dónde se pone
- En la CDN o un servicio externo: filtra el tráfico antes de que llegue al servidor. Es lo más sencillo.
- En el servidor: ModSecurity con Apache o Nginx; muchos hostings con cPanel lo traen activado.
- En la aplicación: plugins de seguridad de WordPress, por ejemplo.
Cosas que conviene saber
- Un WAF es una capa más, no sustituye a escribir código seguro ni a mantener actualizado el CMS y los plugins.
- Falsos positivos: a veces bloquea peticiones legítimas (un artículo que contiene código SQL, un formulario con caracteres especiales). Empieza en modo de solo detección y ajusta las reglas.
- Un buen uso es el parcheo virtual: bloquear un ataque contra una vulnerabilidad recién publicada mientras llega la actualización.
¿Tienes un producto o servicio relacionado con WAF? Anúnciate en este término.
Términos relacionados
- FirewallUn firewall o cortafuegos es un sistema que filtra el tráfico de red según...
- Inyección SQLLa inyección SQL es una vulnerabilidad en la que un atacante introduce código SQL...
- XSSUn XSS (Cross-Site Scripting) es una vulnerabilidad que permite a un atacante insertar código...
- DDoSUn ataque DDoS (denegación de servicio distribuida) consiste en saturar una web o un...
- CDNUna CDN (Content Delivery Network) es una red de servidores repartidos por el mundo...
- Ataque de fuerza brutaUn ataque de fuerza bruta consiste en probar automáticamente miles o millones de combinaciones...