¿Qué es esta extraña solicitud GET (GET / A0A32579-2767) DoSed my apache?

4

Tengo apache detrás de nginx en mi servidor web.

Hoy mi apache deja de responder a las solicitudes. Las investigaciones muestran esta situación:

  1. El número de procesos de apache crece más de 500 pero MaxChildren=256 en config (tengo mpm_itk, también probé mod_prefork).

  2. el estado del servidor muestra que 256 de los procesos estaban ocupados y cerca de todos ellos se atendieron solicitudes como GET /A0A32579-2767-F346-A463-9EC16718D7E7/9FDAE968-8090-9C4F-8122-DCBEA5A9A8EC/from .

    La primera parte antes de "/" siempre fue la misma y la segunda es diferente.

  3. Según los registros de apache, responde 404 a tales solicitudes.

  4. Después de bloquear dicha solicitud en nginx, todo va normal. Pero me interesa, ¿qué fue?

Tengo

Ubuntu 12.04.5  
apache-2.2.22-1ubuntu1.7  
php-5.3.10-1ubuntu3.1
    
pregunta iprok 02.11.2014 - 16:54
fuente

2 respuestas

4

Desde mi experiencia, parece que te atacaron con un ataque SlowLoris. Parece que el atacante intentó recuperar una página aleatoria no existente y luego utilizó SlowLoris, lo que causó el efecto DoS.

Esencialmente el atacante generó dos GUID / UUID de 16 bytes, los anexó junto con / y luego cargó el archivo de índice de /GUID_1/GUID_2 . Cuando el servidor comenzó a responder, la aplicación del atacante luego leyó los bytes muy lentamente y, por lo tanto, la conexión se mantuvo abierta. Mientras tanto, varios otros subprocesos probablemente abrieron otras conexiones concurrentes y realizaron el mismo proceso. Por lo tanto, cada uno de los subprocesos del atacante ocupó 1 conexión en el servidor y el servidor no pudo responder a ninguna otra conexión porque todavía estaba intentando atender las conexiones del atacante con el error 404.

Debido a que esto se considera un ataque de capa 7 ("Capa de aplicación"; vea la imagen a continuación), un atacante inteligente podría usar proxies para evitar el seguimiento y el bloqueo de IP.

LamejormitigaciónseríabloquearlasdireccionesIPdelatacante(olasdireccionesIPdelosproxiesqueusóelatacante)einstalaralgunasmodificacionesdelservidorquepuedendetectaryprevenirestosataques.En este artículo , leí que la instalación de libapache2-mod-qos en el servidor impedirá a SlowLoris en máquinas Apache susceptibles.

Vale la pena señalar que los servidores ISS de Microsoft no son vulnerables a un ataque HTTP GET incompleto de SlowLoris; sin embargo, los servidores ISS son vulnerables a los ataques HTTP POST incompletos "R-U-DEAD-YET".

    
respondido por el Spencer Doak 02.11.2014 - 20:27
fuente
0

Este es el ataque loris lento de solicitudes HTTP GET incompletas.

Cómo proteger su servidor: actualice su servidor Apache, hay muchas actualizaciones para este ataque, este ataque se descubrió en el 2011. Como otra opción, se reduce el tiempo de espera en su servidor Apache, etc. Este ataque funciona en el tiempo de espera. Aquí le explica cómo proteger su Apache de DoS / DDoS (loris lentos incluidos) en Linux (proporciona actualizaciones, muestra las configuraciones que deben cambiarse).

¿Qué es el loris lento? El loris lento es una capa 7 Denegación de servidor (DoS, puede llevarse a cabo con 1 computadora) que se usa ampliamente en servidores Apache y más, porque estos servidores si no está actualizado tiene este "error".

¿Cómo funcionan los loris lentos? Los loris lentos se realizan cuando se realiza una conexión TCP y luego se envía al servidor una solicitud HTTP GET incompleta. Entonces, el servidor no agota el tiempo de espera de esta conexión durante largos períodos de tiempo tan altos como 400 segundos. El servidor (como el servidor Apache) hace esto porque la idea es que cree que estás en una red que no es de confianza, o simplemente desacelera Internet y esperará el resto de la solicitud HTTP GET.

Más información: Esto es un DoS de HTTP, no un DoS de TCP porque la solicitud es lo que está causando esto. Un lento ataque de loris puede funcionar al enviar 1 paquete por segundo por cada nueva conexión.

Ejemplos de cómo se ve esta solicitud:

GET / HTTP/1.1\r\nHost: www.whatever.com\r\nUser-Agent: Mozilla 5.0\r\n

o

GET / HTTP/1.1\r\nHost: www.whatever.com\r\nUser-Agent: Mozilla 5.0

Ejemplo de solicitud HTTP GET normal:

GET / HTTP/1.1\r\nHost: www.whatever.com\r\nUser-Agent: Mozilla 5.0\r\n\r\n 
    
respondido por el user3818650 17.04.2015 - 14:31
fuente

Lea otras preguntas en las etiquetas