
Usando Apache/2.2.15 no RHEL6 com configuração mod_evasive:
DOSHashTableSize 3097
DOSPageCount 14
DOSPageInterval 2
DOSSiteCount 70
DOSSiteInterval 1
DOSBlockingPeriod 60
Infelizmente não bloqueou este ataque, que veio apenas 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, bloqueia alguns IPs em outros casos. Não funciona para solicitações HEAD?
EDIT: Meu apache está rodando no modo prefork. Pelo que li, mod_evasive tem problemas com isso.
Responder1
Modifique a variável para algo menor, 14 é muito alto.
DOSPageCount 3
Como o ataque vem do mesmo lugar, você pode banir o endereço IP.
sudo iptables -t raw -I PREROUTING -s 207.x.x.x/32 -j DROP
Ou você pode instalar o mod_security, configurá-lo e adicionar "algum agente de usuário falso" ao arquivo bad_robots.data e ele será recebido com um 401 proibido.
OBSERVAÇÃO
Os ataques DDoS são projetados para consumir largura de banda e também recursos. Você pode banir um endereço IP, bloqueá-lo com mod_evasive ou rejeitar suas solicitações com 401. NENHUM DESSES MÉTODOS IRÁ PARAR UM DDoS. O DDoS continuará a consumir toda a sua largura de banda, mantendo o seu dispositivo offline. O melhor método é entrar em contato com seu ISP e pedir que ele bloqueie os IPs ofensivos ou entre em contato com um serviço de mitigação de DDoS, como o cloudflare. Nada mais que você fizer impedirá o DDoS.
Se você estiver sob constante DDoS, use um serviço de mitigação de DDoS.NENHUM dos métodos mencionados anteriormente interromperá um DDoS.