Publicado originalmente en adeodato.es.
Una sola máquina, sin botnets y sin saturar la red, puede dejar un servidor web sin responder en segundos. No es un ataque volumétrico: es Slowloris, un ataque de Denegación de Servicio de Capa 7 que no ahoga tu ancho de banda, sino tus conexiones. Lo reproduje en laboratorio para entenderlo por dentro y, sobre todo, para saber pararlo.
Qué es Slowloris y por qué es peligroso
Un ataque volumétrico clásico busca saturar la red con tráfico masivo: es ruidoso y fácil de detectar. Slowloris hace lo contrario. Abre cientos de conexiones y envía las cabeceras HTTP a cámara lenta, de forma incompleta, manteniendo los sockets ocupados esperando datos que nunca llegan. Cuando se agota el límite de conexiones del servidor, deja de atender a usuarios legítimos.
- No consume ancho de banda: el consumo de red es mínimo.
- Le basta una sola máquina: no necesita botnet.
- Parece tráfico legítimo: peticiones HTTP válidas desde una IP normal, así que evade los firewalls de red.
La demostración: del reconocimiento al colapso
En un laboratorio controlado, con slowhttptest, el ataque adopta la forma de un Slow Headers contra la página de login del servidor objetivo:
slowhttptest -c 1000 -H -i 10 -r 200 -u http://servidor-victima/login.php -t GET
Cada parámetro cuenta parte de la historia que un defensor debe reconocer: -c 1000 mantiene 1000 conexiones abiertas; -H activa cabeceras lentas; -i 10 envía un fragmento cada 10 s para mantener viva la conexión; -r 200 abre 200 conexiones nuevas por segundo.
En el segundo 10: 623 conexiones ocupadas, 0 cerradas y
service available: NO. El servidor está caído — sigue esperando cabeceras que nunca llegarán.
Por qué funcionó: la vulnerabilidad no es el hardware
El servidor no cayó por falta de potencia, sino por configuración:
- Timeouts laxos: tolera esperas larguísimas por cabeceras que no llegan.
- Sin límite por IP: ningún tope de conexiones por origen.
- Capa 7 = tráfico legítimo: las peticiones parecen válidas y evaden los firewalls de red.
- Sin WAF ni IDS: nadie alertó del volumen anómalo de conexiones abiertas.
Cómo detectarlo (perspectiva Blue Team)
- Pico de conexiones concurrentes desde muy pocas IPs.
- Muchas conexiones
ESTABLISHEDque no envían datos: esperan cabecera. - Workers agotados con la CPU y el ancho de banda bajos — la pista clave frente a un ataque volumétrico.
- Peticiones cuya cabecera se recibe a goteo y nunca se completa.
Regla de oro: si las conexiones abiertas suben pero el tráfico real no, sospecha.
Cómo defenderte: el playbook
-
Timeouts agresivos —
RequestReadTimeout(Apache) /client_header_timeout(Nginx). La medida de mayor impacto. - mod_reqtimeout — corta automáticamente las conexiones lentas.
-
Límites por IP —
LimitRequestFields,MaxKeepAliveRequests. -
Control de tasa —
limit_req_zoneen Nginx. - fail2ban — bloqueo dinámico ante comportamiento anómalo.
- WAF / CDN (Cloudflare, Akamai) — absorben y filtran el tráfico.
La clave: los timeouts estrictos impiden que las conexiones incompletas ocupen sockets indefinidamente, que es el mecanismo del ataque.
La lección
La robustez de un sistema no se mide por lo rápido que procesa peticiones, sino por su capacidad de gestionar conexiones anómalas. Slowloris opera bajo el radar, simulando tráfico legítimo y agotando recursos de forma silenciosa pero letal. Entender el ataque es el primer paso para diseñar la defensa.
Escrito por Rafael Adiosdado Caballero Diéguez — **Adeodato, ciberseguridad IT/OT. Ayudo a PYME e industria a detectar, contener y responder ataques reales, también en entornos OT. Más en adeodato.es · SOC Adeodato en GitHub.

Top comments (0)