Para llevar acabo los ataques utilizaremos la herramienta SlowHTTPTest la cual podéis descargar desde el Github de su creador: https://github.com/shekyan/slowhttptest o bien ejecutando un simple “apt-get install slowhttptest”. Esta herramienta incluye cuatro modalidades de Ataque: Slow Headers (Slowloris), Slow Body (R-U-Dead-Yet),  Range Attack (Apache Killer) y Slow Read.

Para realizar el Ataque superaremos el límite de conexiones del servidor (por defecto 150), ante la duda mejor que sobren conexiones, podéis crear tantas como permita vuestro ancho de banda.

Con la opción -H seleccionamos el ataque Slow Headers, -g para generar estadísticas del ataque, -c será el número de conexiones que queremos generar (en servidores basados en hilos como Apache, cada conexión generará un proceso), -l para la duración del ataque en segundos, con -s definimos el valor del Content-length que irá en el header de la petición (este tiene que ser grande), -t para el tipo de petición (GET, POST, FAKEVERB), -u para la URI a atacar y -p para el tiempo en segundos que esperará para recibir una respuesta del servidor antes de considerar su caída.

Lanzamos el ataque y vemos como a los pocos segundos el servidor web deja de atender las solicitudes.

La herramienta ya nos avisa de que el servicio no está disponible.

El servicio vuelve a levantarse una vez han pasado los 120 segundos que definimos en el ataque. Podemos analizar lo sucedido en el servidor web después del mismo, ya que durante el ataque no podremos acceder a server-status.

Conexiones abiertas (máximo definido en MaxRequestWorkers), las conexion se generan en modo lectura para que el servidor las mantenga abiertas, las 10 peticiones sobrantes no son atendidas (DoS).

Consumo de memoria. Al enviar más peticiones de las permitidas (150) el consumo de memoría no aumenta por lo que la denegación unicamente se causa sobre el servicio web, recordemos que esto es gracias a la protección MaxRequestWorkers.

Error.log del servidor Apache: “server reached MaxRequestWorkers setting”

En la máquina atacante la herramienta SlowHTTPTest genera un archivo html con el resultado del ataque, donde se aprecia el punto exacto en el cual el servidor dejó de dar servicio.