AWS WAF
Qué es: AWS WAF (web application firewall) es un firewall de aplicación que inspecciona cada petición HTTP o HTTPS y la permite, la bloquea o la cuenta según tus reglas.
- Dónde se pone: delante de una distribución de CloudFront, un Application Load Balancer, una API REST de API Gateway y otros servicios web de AWS. No se pone en una instancia EC2 sola ni en un Network Load Balancer.
- Qué mira: la capa 7: IP de origen, país, encabezados, ruta de la URL, parámetros y cuerpo. Reglas típicas: bloquear inyección SQL y XSS, países o listas de IP. Las reglas basadas en tasa (rate-based) frenan a una IP que pasa de cierto número de peticiones en 5 minutos.
- Reglas administradas: AWS y vendedores externos publican grupos de reglas listos, como uno contra los ataques web más comunes. No tienes que escribir cada regla.
- Precio: tus reglas viven en una web ACL (web access control list, lista de control de acceso web): 5 dólares al mes por web ACL, 1 por regla y 0,60 por millón de peticiones.
Analogía: el guardia de la puerta que revisa el bolso de cada visitante según una lista. Dónde falla la analogía: el guardia improvisa ante algo raro. WAF solo aplica las reglas que configuraste; si ninguna detecta el ataque, la petición pasa.
Ejemplo real: Viajes Horizonte pone una web ACL en la distribución de CloudFront de su sitio de reservas. Usa el grupo de reglas administradas de inyección SQL, bloquea países donde no vende y añade una regla de tasa: más de 1.000 peticiones en 5 minutos desde una IP la bloquean.
Así se completa la pregunta 1 del inicio. (1) Shield frena en el borde la inundación de red. (2) WAF filtra en CloudFront o en el balanceador las peticiones HTTP maliciosas. (3) Lo que pasa llega a tu aplicación, donde siguen los security groups de la Sesión 6.
Úsalo cuando: quieras bloquear inyección SQL, XSS, bots, países o IP abusivas en una aplicación web o una API. No lo uses cuando: debas filtrar tráfico que no es HTTP, como TCP o UDP de un juego; ahí actúan Shield, los security groups y las network ACL.
En el examen: “inyección SQL”, “cross-site scripting”, “filtrar peticiones web”, “bloquear por país” o “limitar peticiones por IP” es WAF.
Trampa común: WAF no reemplaza a los security groups. El security group decide qué puertos e IP llegan a tu instancia; WAF decide qué peticiones HTTP llegan a tu aplicación, mirando su contenido.