WAF
📘 ¿Qué es AWS WAF?
AWS WAF es un firewall de aplicaciones web que te permite monitorear, bloquear o permitir tráfico HTTP/S en función de reglas personalizadas para proteger tus aplicaciones contra ataques comunes como:
-
SQL Injection
-
Cross-Site Scripting (XSS)
-
Bots maliciosos
-
Tráfico no deseado (por IP, geografía, etc.)
🧠 ¿Para qué sirve?
-
Filtrar tráfico malicioso antes de llegar a tu aplicación
-
Mitigar ataques de capa 7 (aplicación)
-
Proteger endpoints HTTP/S en:
-
Amazon CloudFront
-
Application Load Balancer (ALB)
-
API Gateway
-
AWS App Runner
-
-
Integrarse con AWS Shield, Firewall Manager y CloudWatch
🧩 Componentes clave
| Componente | Descripción |
|---|---|
| Web ACL (Access Control List) | Conjunto de reglas aplicadas a un recurso |
| Rules | Reglas individuales (permitir, bloquear, contar) |
| Rule groups | Colecciones de reglas reutilizables (pueden ser de AWS o personalizadas) |
| Conditions | Tipos de coincidencias (IP, patrones, geografía, tamaño, etc.) |
| Managed Rules | Reglas predefinidas por AWS o partners para amenazas comunes |
| Custom Rules | Reglas personalizadas definidas por el usuario |
| Labels | Etiquetas que se pueden usar para seguimiento o lógica condicional entre reglas |
🔍 Tipos de condiciones comunes
| Condición | Descripción |
|---|---|
| IP Set | Permitir o bloquear por IP o rangos |
| Geo match | Por país |
| String match | Coincidencia de cadenas |
| Regex pattern set | Coincidencias por expresiones regulares |
| Size constraint | Tamaño del cuerpo, encabezado, etc. |
| SQL injection match | Detección de patrones de inyección SQL |
| XSS match | Detección de ataques de tipo XSS |
| Rate-based rules | Limitar número de solicitudes por IP (mitigación de bots/DDoS) |
⚙️ Funcionamiento general
-
Creas un Web ACL
-
Defines un conjunto de reglas personalizadas o gestionadas
-
Asocias ese Web ACL a un recurso (CloudFront, ALB, API Gateway, etc.)
-
El tráfico se evalúa en orden de prioridad de las reglas
-
Se permite, bloquea o cuenta cada solicitud
🤖 Reglas gestionadas por AWS
AWS ofrece paquetes de reglas ya configuradas para protegerte de:
-
OWASP Top 10
-
Bots comunes
-
Tráfico sospechoso
-
Anomalías en User-Agent, encabezados, cookies, etc.
Estas reglas están constantemente actualizadas y son recomendadas para comenzar rápidamente.
📊 Integración con otros servicios
| Servicio | Integración |
|---|---|
| AWS CloudFront | Protección para contenido distribuido |
| ALB | Protección para aplicaciones HTTP en VPC |
| API Gateway | Seguridad para APIs REST |
| AWS App Runner | Protección de aplicaciones serverless web |
| AWS Shield | Defensa conjunta contra DDoS (Shield = L3/L4, WAF = L7) |
| CloudWatch | Métricas, dashboards y alertas |
💰 Precios
Precios aproximados por Web ACL (a julio 2025):
| Concepto | Costo |
|---|---|
| Web ACL base | $5.00 por ACL/mes |
| Regla personalizada | $1.00 por regla/mes |
| Reglas administradas (AWS) | Desde $1.00 por grupo/mes |
| Solicitudes procesadas | $0.60 por millón de requests |
Ver detalles: https://aws.amazon.com/waf/pricing/
🧠 Preguntas tipo certificación
-
¿Qué servicio protege tus apps contra ataques como XSS o SQLi?
- ✅ AWS WAF
-
¿WAF protege contra DDoS a nivel de red?
- ❌ No. Para eso está AWS Shield
-
¿Qué recurso necesitas para aplicar tus reglas?
- ✅ Web ACL
-
¿Puedes asociar un WAF a una API de API Gateway?
- ✅ Sí
-
¿Puedes limitar el número de solicitudes por IP en un minuto?
- ✅ Sí, usando rate-based rules
📚 Recursos útiles
✅ Casos de uso recomendados
-
Protección de formularios contra inyecciones SQL
-
Bloqueo de tráfico malicioso por país (Geo Match)
-
Limitación de tráfico abusivo (rate-limiting por IP)
-
Aplicación de reglas OWASP para e-commerce o APIs públicas
-
Protección de endpoints sin necesidad de modificar el código