AWS WAF
Web Application Firewall
Firewall de aplicación web: filtra las peticiones maliciosas antes de que lleguen a tu sitio o a tu API.
En palabras simples
Es el control de seguridad del aeropuerto: no revisa a dónde va cada quien, sino qué lleva encima, y detiene lo que no debería pasar por la puerta.
Cuándo aplicarlo
Cuando una aplicación está expuesta a internet y hace falta bloquear inyecciones, rastreadores abusivos o tráfico de países o direcciones concretas.
- ▸Bloquear intentos de inyección SQL y de secuencias de comandos entre sitios
- ▸Limitar cuántas peticiones puede hacer una misma dirección IP por minuto
- ▸Filtrar tráfico por país o por reputación de la dirección de origen
- ▸Frenar el llenado automatizado de formularios de registro
Vocabulario mínimo
- Web ACL
- El conjunto de reglas que se asocia a un recurso: CloudFront, un balanceador, API Gateway o AppSync.
- Grupo de reglas administradas
- Conjuntos mantenidos por AWS o por socios que cubren las vulnerabilidades más comunes sin escribir nada.
- Regla basada en tasa
- Bloquea a quien supere un número de peticiones en cinco minutos. Es la defensa más simple contra el abuso.
- Modo de conteo
- Aplica la regla sin bloquear, solo contando coincidencias. Es la forma correcta de estrenar cualquier regla.
- Declaración de coincidencia
- Qué parte de la petición se inspecciona: la ruta, las cabeceras, el cuerpo, la cadena de consulta.
Costo y capa gratuita
- Cómo se cobra
- Una tarifa mensual por cada Web ACL y por cada regla, más un costo por millón de peticiones inspeccionadas. Los grupos de reglas administradas de socios se cobran aparte.
- Capa gratuita
- No entra en la capa gratuita. Un Web ACL con unas pocas reglas tiene un costo mensual pequeño pero constante.
Cuidado con los créditos
- ⚠Activar muchos grupos de reglas administradas "por si acaso": cada uno suma su tarifa mensual.
- ⚠Un Web ACL asociado a un recurso que ya no existe sigue facturando.
- ⚠Inspeccionar el cuerpo completo de peticiones muy grandes eleva el costo por petición.
Descripción
Un grupo de seguridad decide si una conexión puede establecerse; WAF decide si una petición HTTP concreta merece ser atendida. Trabaja una capa más arriba: mira la ruta, las cabeceras, los parámetros y el cuerpo, y aplica reglas sobre ese contenido.
Lo más práctico de su diseño son los grupos de reglas administradas. AWS mantiene conjuntos que cubren las vulnerabilidades más habituales — inyección SQL, secuencias de comandos entre sitios, entradas maliciosas conocidas — y activarlos es cuestión de una casilla, sin escribir expresiones regulares propias.
Cómo funciona
- Creas un Web ACL y lo asocias a CloudFront, a un balanceador, a API Gateway o a AppSync.
- Añades grupos de reglas administradas y, si hace falta, reglas propias.
- Cada regla se estrena en modo de conteo, para ver qué bloquearía sin romper nada.
- Una vez revisadas las coincidencias legítimas, se pasan las reglas a modo de bloqueo.
- Las peticiones bloqueadas se registran, y desde ahí se ajustan las excepciones necesarias.
Manos a la obra
- Crea un Web ACL asociado a una distribución de CloudFront de pruebas.
- Activa el grupo de reglas administradas básicas de AWS en modo de conteo.
- Lanza una petición con una cadena típica de inyección SQL en un parámetro y encuéntrala contada.
- Añade una regla basada en tasa de 100 peticiones en cinco minutos y pruébala con un bucle.
- Pasa a modo de bloqueo y comprueba la respuesta 403 desde el cliente.
Ejemplo visual
La regla de oro al implantarlo es no saltarse el modo de conteo: un WAF mal ajustado bloquea a usuarios reales, y ese fallo es más caro que el ataque que se quería evitar.
Cuándo NO es la mejor opción
- AWS Shield — si el problema es un ataque volumétrico de denegación de servicio y no el contenido de las peticiones.
- Grupos de seguridad y listas de control de acceso — si el filtrado es por dirección y puerto, la red resuelve el caso sin inspeccionar HTTP.
- AWS Network Firewall — si hay que filtrar todo el tráfico de salida de la VPC y no solo las peticiones web entrantes.
Se usa junto con
Aparece en certificaciones
- AWS Certified Solutions Architect – Associate
- AWS Certified Security – Specialty
Para profundizar