Ataque de Inundación HTTP
Una inundación HTTP es un ataque DDoS a nivel de aplicación (Capa 7) que abruma a un servidor web enviando volúmenes masivos de solicitudes HTTP aparentemente legítimas. A diferencia de los ataques volumétricos que saturan el ancho de banda, las inundaciones HTTP agotan los recursos del servidor — CPU, memoria, conexiones a base de datos y threads de aplicación — al forzar al servidor a procesar cada solicitud individualmente, haciéndolas extremadamente difíciles de distinguir del tráfico real.
Cómo Funciona Ataque de Inundación HTTP
Los ataques de inundación HTTP imitan el comportamiento normal de un usuario a escala extrema. Debido a que cada solicitud parece legítima (encabezados válidos, formato HTTP correcto), las herramientas tradicionales de mitigación DDoS a nivel de red no pueden detectarlas. El ataque apunta a la capa de aplicación, donde cada solicitud consume significativamente más recursos del servidor que ancho de banda de red.
Ensamblar una botnet o infraestructura de ataque
El atacante controla una red de dispositivos comprometidos (botnet) o alquila infraestructura de DDoS como servicio. Las botnets modernas incluyen dispositivos IoT, servidores comprometidos y proxies residenciales que generan tráfico desde direcciones IP diversas y de apariencia legítima.
Identificar endpoints con uso intensivo de recursos
El atacante perfila el objetivo para encontrar endpoints que consumen recursos desproporcionados del servidor: páginas de búsqueda, endpoints de API con consultas a base de datos, generación dinámica de páginas, descargas de archivos o formularios de inicio de sesión que activan hashing con bcrypt.
Lanzar la inundación
Miles de bots envían simultáneamente solicitudes HTTP GET o POST al objetivo. Las inundaciones GET solicitan páginas o recursos; las inundaciones POST envían formularios o cargas útiles de API. Cada solicitud es sintácticamente válida y puede incluir encabezados realistas, cookies y agentes de usuario.
Agotamiento de los recursos del servidor
Los threads de trabajo del servidor, el pool de conexiones a base de datos y la memoria son consumidos por el procesamiento de la inundación. Los usuarios legítimos experimentan lentitud extrema, tiempos de espera o indisponibilidad completa. La aplicación puede fallar o el servidor puede volverse inaccesible.
Ejemplos Reales
Ataque DDoS a GitHub
GitHub fue golpeado con 1.35 Tbps de tráfico, el mayor ataque DDoS registrado en ese momento. Aunque principalmente fue un ataque de amplificación memcached, incluyó componentes significativos de inundación HTTP dirigidos a la capa de aplicación.
Informe de AWS Shield: las inundaciones HTTP dominan la Capa 7
AWS reportó que los ataques de inundación HTTP representaron más del 60% de los eventos DDoS a nivel de aplicación mitigados por AWS Shield en 2023, con ataques pico que superaron los 100 millones de solicitudes por segundo.
Cloudflare mitiga récord de DDoS HTTP
Cloudflare reportó la mitigación de un ataque DDoS basado en HTTP/2 con un pico de 201 millones de solicitudes por segundo, originado desde aproximadamente 20,000 dispositivos comprometidos en 132 países.
Impacto y Evaluación de Riesgo
Las inundaciones HTTP causan indisponibilidad del servicio, pérdida de ingresos y daño reputacional. Los sitios de comercio electrónico pierden ventas durante el tiempo de inactividad. Las plataformas SaaS incumplen compromisos de SLA. El impacto financiero incluye costos de exceso de infraestructura (cargos de auto-escalado), gastos de respuesta a incidentes y pérdida de clientes. A diferencia de los ataques a nivel de red, las inundaciones HTTP pueden evadir los CDNs si no están específicamente configurados para mitigación de Capa 7.
Cómo Detectar Ataque de Inundación HTTP
Monitorear las tasas de solicitudes por IP y por endpoint en busca de picos repentinos. Analizar patrones de solicitud en busca de huellas de navegador ausentes (sin ejecución de JavaScript, sin soporte de cookies). Rastrear la proporción de visitantes nuevos vs. recurrentes durante los picos de tráfico. Vigilar distribuciones geográficas anormales de solicitudes. Inspeccionar la diversidad de User-Agent — las botnets a menudo muestran agentes limitados u obsoletos. Usar desafíos JavaScript o CAPTCHA para verificar visitantes humanos durante ataques sospechados.
Cómo Prevenir Ataque de Inundación HTTP
Desplegar un WAF con mitigación DDoS que pueda desafiar tráfico sospechoso en el borde (desafíos JavaScript, CAPTCHA). Implementar limitación de tasa por IP, por sesión y por endpoint. Usar reglas de acceso basadas en geografía para bloquear tráfico de regiones inesperadas durante ataques. Configurar auto-escalado con límites de gasto para absorber picos sin costos descontrolados. Cachear agresivamente — las respuestas estáticas consumen recursos mínimos. Identificar y proteger endpoints con uso intensivo de recursos con límites de tasa más estrictos. Desplegar un CDN que absorba el tráfico antes de que llegue al servidor de origen.
Ejemplos de Código
# Define rate limiting zone (10 requests/second per IP)
limit_req_zone $binary_remote_addr zone=flood:10m rate=10r/s;
server {
location / {
# Allow burst of 20 requests, then delay
limit_req zone=flood burst=20 delay=10;
# Return 429 Too Many Requests instead of 503
limit_req_status 429;
proxy_pass http://backend;
}
# Stricter limits on resource-intensive endpoints
location /api/search {
limit_req zone=flood burst=5 nodelay;
proxy_pass http://backend;
}
}
PowerWAF bloquea automáticamente Ataque de Inundación HTTP antes de que llegue a tu servidor.
Implementa en minutos. Sin cambios de código. Plan gratuito disponible.
Los cupos del plan gratuito son limitados