¿Cómo puedo detectar Slowloris?

14

Estoy bastante seguro de que estaba bajo el ataque de Slowloris. Configuré una regla de iptables para limitar las conexiones máximas a mi servidor web, pero me gustaría saber cómo puedo averiguar si realmente fue un ataque de Slowloris y, de ser así, cómo puedo encontrar la dirección IP del atacante. Realmente me gustaría pasar los registros a su ISP.

Gracias

Robar
fuente

Respuestas:

5

Los ataques de Slowloris funcionan mediante el envío de datos de solicitud lo más lento posible. Por lo tanto, si puede medir el uso del ancho de banda por dirección IP, entonces si está por debajo de algún umbral (encontrado midiendo el ancho de banda en un ataque lento conocido), entonces sabe que está bajo ataque.

Para evitar ataques, sugiero cambiar el software de su servidor web. Yo uso cherokee que es resistente en su configuración predeterminada. No puedo determinar si nginx es vulnerable, pero lighttpd sí. Tampoco puedo estar seguro de que usar un servidor web resistente como proxy haga alguna diferencia.

Aquí hay más información: http://ha.ckers.org/blog/20090617/slowloris-http-dos/

dan_waterworth
fuente
10

Nivel 1: slowloris simple DOS


Para encontrar la dirección IP del atacante slowloris utilizo la siguiente línea de comando:

netstat -ntu -4 -6 |  awk '/^tcp/{ print $5 }' | sed -r 's/:[0-9]+$//' |  sort | uniq -c | sort -n

Esto le dará la cantidad de conexiones activas para cada IP conectada

Si está bajo un simple ataque de DOS, un niño con una o algunas IP, el que tiene 50-100 conexiones (o más) es probablemente un atacante de slowloris que puede eliminar.

Esto es para detectarlos y soltarlos (con iptables o su hlfw preferido) "en tiempo real" si está conectado al servidor durante el ataque.

Agregar el tiempo de procesamiento (argumento% D o% T) en sus registros de Apache también puede ayudar a detectar ataques "postmortem" de slowloris analizando los registros, si no tiene esta información en sus registros, no podrá encontrar nada interesante . Consulte http://httpd.apache.org/docs/current/mod/mod_log_config.html para ver la configuración del registro.

Nivel 2: verdadero gran slowloris DDOS


netstat (use watch netstat para actualizar) aún puede ayudarlo a ver que algunas IP están siempre conectadas

Para combatir slowloris, en apache, instale los módulos reqtimeout y configúrelo, por ejemplo:

http://pastebin.com/3BNNwfyb

Después de eso, cada 408 que ve en access_log tiene una seguridad del 99.999% de IP de un atacante slowloris.

Usando el módulo reqtimeout apache, puede enfrentarse fácilmente a miles de ips y miles de paquetes / segundo en un servidor dedicado decente

Iptables también puede ayudar un poco con algo como:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP
neofutur
fuente