¿Una alternativa segura para retrasar la respuesta a un atacante con sleep ()?

5

tl;dr

sleep () cuesta a mis servidores los recursos. Usarlo para retrasar la respuesta al atacante puede costarle tiempo, pero permite DOS. ¿Es posible mantenerlo esperando sin costo mío?

Largo

Suponiendo que puedo decir (o al menos estimar muy bien) que los datos que se envían a mi vía mediante el método POST son un ataque.

Primero en un ataque de ira, pensé que sería inteligente, pero nunca respondí a la solicitud y dejé al atacante "esperando para siempre", por lo que pensé que usaría el sueño (30).

Luego descubrí que esto abre la puerta para que el atacante (especialmente cuando usa DDos que tiene más de 1 IP) para conducir la carga de mi servidor a través del techo porque cada script "colgante" (es decir, dormido) me cuesta recursos en mi sistema.

¿Hay alguna forma de retrasar una respuesta a un costo muy bajo? (es decir, romper la conexión TCP / IP sin previo aviso y mantener el ataque en la oscuridad / esperando)

Alternativamente: En esencia, ¿existe tal vez incluso una estrategia para revertir los costos de los recursos?

    
pregunta humanityANDpeace 10.03.2014 - 08:29
fuente

1 respuesta

2

el sueño () no ralentizará los ataques de fuerza bruta de la generación actual, para empezar.

En general, los intentos de interrupción de fuerza bruta en la actualidad se ejecutan a través del mismo tipo de botnet que se usa para los ataques DDoS, por lo que en lugar de una fuente única que intenta un conjunto de credenciales tras otra, verá cientos o miles de fuentes diferentes que intentan conjunto único sin esperar una respuesta entre sí. Cualquiera que sea el que obtenga un hit, los demás zombies simplemente se encogen de hombros y siguen adelante.

Si tiene suficiente control sobre su servidor para poder decirle a sus servicios que registren intentos incorrectos de inicio de sesión en un archivo, puede configurar algo como fail2ban para manejar el bloqueo y desbloqueo de los atacantes por usted, pero sleep() será esencialmente inútil contra la mayoría de los intentos modernos de breakin mientras degradan el rendimiento para los usuarios legítimos que Tendremos que esperar un segundo extra para obtener cada página nueva.

    
respondido por el Shadur 10.03.2014 - 08:55
fuente

Lea otras preguntas en las etiquetas