Você não mencionou um sistema operacional, e isso não é o que você pediu (um rewriterule) - mas bloqueia ataques.
Eu uso Fail2Ban para bloquear todos os tipos de lixo no Ubuntu; usando o log do servidor web, o log sshd e outros.
Um incidente = um regexp + um arquivo de log.
Uma regra pode dizer quando há incidentes NN no tempo T adicionar uma proibição no firewall para o IP por X minutos. O padrão é como 10 minutos ... o que é bom se você acidentalmente se proibir. Se você não está preocupado com isso, pode ser definido por mais tempo.
O bom desta abordagem é que você pode banir todo o tráfego desse IP e não apenas trafegar contra o servidor web. Além disso, em vez de obter uma indicação como RECUSED ou FORBIDDEN, o tráfego pode simplesmente ser interrompido e nunca ser entregue ou confirmado.