32 votos

¿Cómo mejor defenderse contra un ataque "slowloris" DOS contra un servidor web Apache?

Recientemente un script llamado "slowloris" se ha ganado la atención. El concepto básico de lo que slowloris no es un nuevo ataque, pero dada la reciente atención que he visto un pequeño aumento de los ataques en contra de algunos de nuestros sitios web Apache.

Por el momento no parece estar al 100% defensa contra este.

La mejor solución que hemos determinado (hasta ahora) es incrementar el MaxClients.

Por supuesto, esto no hace nada más que aumentar los requisitos para el atacante del equipo y en realidad no proteger el servidor 100%.

Otro informe indica que el uso de un proxy inverso (como Perlbal) en la parte frontal del servidor Apache puede ayudar a prevenir el ataque.

El uso de mod_evasive para limitar el número de conexiones desde el host y el uso de mod_security para denegar las solicitudes que parece que fueron emitidos por slowloris parece ser la mejor defensa hasta el momento.

Tiene a nadie en ServerFault estado experimentando ataques como este? Si es así, ¿qué medidas implementar para defender y prevenir esto?

NOTA: Esta pregunta es para servidores Apache como es mi entendimiento de que los servidores IIS de Windows no se ven afectados.

22voto

Kristaps Puntos 2360

He experimentado ese ataque ... en el centro de san juan (23 de junio), donde se supone que para estar en el campo y beber cerveza :>

Puse mi Apache detrás de Barniz, que no sólo protegía de slowloris, pero también se aceleró las solicitudes web bastante.

También, iptables ayudado:

iptables -I INPUT -p tcp --dport 80 \
         -m connlimit --connlimit-above 20 --connlimit-mask 40 -j DROP

Esta regla de los límites de un host a 20 conexiones al puerto 80, que no debe afectar a la no-usuario malintencionado, pero haría slowloris inservible de un host.

4voto

LiraNuna Puntos 193

mod_antiloris, así de simple.

3voto

jjnguy Puntos 62123

Si todos los módulos de apache están seguro para subprocesos, slowloris puede ser derrotado simplemente conmutando al evento o trabajador multiprocesamiento. ref: aquí

0voto

Maxwell Puntos 4577

Ahora parece que no hay nada más que hacer limitar las conexiones concurrentes máximos por ip en el servidor.

0voto

Dentrasi Puntos 2832

Hay un parche de usuario que puede probar. Modifica el tiempo de espera basado en la carga que del servidor es bajo, pero teniendo en cuenta su estatus, no deberías usarlo en una máquina de producción, sin algunas pruebas serias. Echa un vistazo aquí.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: