¿Cómo puedo detectar la Slowloris?

¿Cómo puedo detectar la Slowloris?

Estoy bastante seguro de que estaba bajo el ataque de Slowloris. Configuré una regla de iptables para limitar el máximo de conexiones a mi servidor web, pero me gustaría saber cómo puedo saber 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

Respuesta1

Los ataques de Slowloris funcionan enviando datos de solicitud lo más lento posible. Por lo tanto, si pudiera medir el uso del ancho de banda por dirección IP, si está por debajo de algún umbral (que se encuentra midiendo el ancho de banda en un ataque de slowloris conocido), entonces sabrá que está bajo ataque.

Para evitar ataques, le sugiero que cambie 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í lo es. 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/

Respuesta2

Nivel 1: DOS lento simple


Para encontrar la dirección IP del atacante de 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 varias IP, el que tiene entre 50 y 100 conexiones (o más) probablemente sea un atacante lento que pueda eliminar.

Esto es para detectarlos y eliminarlos (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 probablemente también pueda ayudar a detectar ataques de slowloris "post mortem" mediante el análisis de los registros. Si no tiene esta información en sus registros, no podrá encontrar nada interesante. . Verhttp://httpd.apache.org/docs/current/mod/mod_log_config.htmlpara la configuración de registro.

Nivel 2: DDOS de loris lentas realmente grandes


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

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

http://pastebin.com/3BNNwfyb

Después de eso, cada 408 que vea en access_log es 99,999% seguro de que se trata de una IP de atacante lento.

Usando el módulo apache reqtimeout, puede enfrentarse fácilmente a miles de ips y miles de paquetes por 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

información relacionada