Limites baixos
Seus limites podem ser muito baixos. Seu limite é 20 / segundo. Se o atacante estiver atingindo abaixo desse limite, o bloqueio não será acionado.
Se o recurso que eles acessam for de processamento intensivo (por exemplo, função de pesquisa), uma taxa de solicitação muito baixa poderá derrubar o sistema.
Você pode ter que ajustar os blocos com base nos padrões de ataque.
Existe um script test.pl incluído no mod_evasive, experimente e veja se você pode acionar um bloco.
URL de destino
Além disso, qual é o acesso IP? Tente ativar o status do servidor no Apache e verifique o URL. Isso permitirá que você saiba se eles estão atingindo a mesma página ou páginas diferentes. Isso permitirá que você saiba se o PageCount do SiteCount é mais apropriado.
Verifique o IP nos seus registros e veja a que taxa eles estão se conectando. Use isso para encontrar os limites. Observe os limites são por criança. Não há garantia de que eles atingirão o mesmo processo-filho.
Inundações rápidas
Por fim, vi inundações em que o atacante faz dezenas de conexões de uma só vez. Neste caso, dos evasive pode não ter tempo para responder. Ele bloqueará solicitações futuras, mas se 100 já tiverem sido feitas, é tarde demais. Nesses casos, use o recurso do mod_dosevasive para chamar o iptables e fazer uma queda completa no firewall.
MaxRequestPerChild
Qual é a configuração MaxRequestPerChild do seu Apache? A taxa limitando é em uma base por criança. Eu tenho visto casos em que MaxRequestPerChild é muito baixo para permitir que o mod_evasive funcione. Normalmente não é um problema, mas uma área para verificar.