Mod_evasive no bloquea un ataque de DOS mediante solicitudes HEAD

Mod_evasive no bloquea un ataque de DOS mediante solicitudes HEAD

Usando Apache/2.2.15 en RHEL6 con configuración mod_evasive:

DOSHashTableSize    3097
DOSPageCount        14
DOSPageInterval     2
DOSSiteCount        70
DOSSiteInterval     1
DOSBlockingPeriod   60

Lamentablemente no bloqueó este ataque, que solo provino de 1 IP:

207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:53 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:53 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:53 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"

Mod_evasive funciona, bloquea algunas IP en otros casos. ¿No funciona para solicitudes HEAD?

EDITAR: Mi Apache se está ejecutando en modo prefork. Por lo que he leído, mod_evasive tiene problemas.

Respuesta1

Modifique la variable a algo más bajo, 14 es realmente alto.

DOSPageCount 3

Dado que el ataque proviene del mismo lugar, puedes prohibir la dirección IP.

sudo iptables -t raw -I PREROUTING -s 207.x.x.x/32 -j DROP

O puede instalar mod_security, configurarlo y agregar "algún agente de usuario falso" al archivo bad_robots.data y será recibido con un 401 prohibido.

NOTA

Los ataques DDoS están diseñados para consumir ancho de banda y recursos. Puede prohibir una dirección IP, bloquearla con mod_evasive o rechazar sus solicitudes con 401. NINGUNO DE ESTOS MÉTODOS DETENDRÁ UN DDoS. DDoS continuará consumiendo todo su ancho de banda y aún así mantendrá su dispositivo fuera de línea. El mejor método es ponerse en contacto con su ISP y pedirle que bloquee las IP infractoras o que se comunique con un servicio de mitigación de DDoS como Cloudflare. Nada más que hagas detendrá el DDoS.

Si se encuentra bajo constante DDoS, utilice un servicio de mitigación de DDoS.NINGUNO de los métodos mencionados anteriormente detendrá un DDoS.

información relacionada