Ainda relevante quase quatro anos depois.
Como presumivelmente o mod_rewrite está manipulando o tráfego legítimo, esses scripts não adicionarão muito mais à carga. Mas sim, eles podem causar um atraso momentâneo. Em geral, você não será capaz de evitar isso completamente.
Os mods e plugins para atenuar isso tendem a se concentrar em freqüências e taxas antes de bloquear o ip no firewall local (iptables). Uma abordagem melhor deve incluir assinaturas como fragmentos de nomes de diretórios (falsos em uso normal). Então, deve ser considerado como isso deve ser reativo. Pode-se adaptar partes do pacote "denyhosts" (um produto para proteger contra problemas semelhantes para logins de senhas SSH) para ler por trás do log e identificar as "assinaturas" para adicionar os endereços IP ao /etc/hosts.deny.
Como regra geral, essas pessoas não voltam do mesmo host, então podemos querer algo mais rápido. A beleza do código aberto é que podemos ajustá-lo. mod_evasive parece OK, mas e se o seu servidor é consultado por scripts legitimamente (curl, wget e afins). Por isso, não há CAPTCHA e a necessidade de listas brancas ou uma reinicialização por pars POST ou GET.
Para aqueles de vocês preocupados com o risco do ataque (o OP não estava, o OP estava incomodado com o consumo de recursos), se você realmente tem phpmyadmin então:
Use as diretivas por diretório.
ORDER DENY, ALLOW
DENY FROM ALL
ALLOW FROM *safe places*
Sério, muito poucas pessoas devem ter acesso. A menos que sejam um DBA, o que justifica o risco? Durante um incidente, o Apache pode ser reconfigurado sob demanda para abrir a porta de um único endereço. Se você estiver ausente, faça VPN em uma área de trabalho VNC / RDP na mesma rede ou use um proxy.
O script deles ainda te atingirá por 404 (e pelo menos um 403). Deixar pastas fictícias e código de configuração para eles encontrarem apenas os encoraja. Eu apenas uso o grep -v para filtrar os nomes dos diretórios.