estas são as regras para bloquear seus atacantes
# Block request if not empty or not start with http
RewriteCond %{HTTP_REFERER} "!^$|^http"
# Block request rule
RewriteRule .* - [F]
Eu adicionei mais algumas regras para bloquear outros bots:
# Block empty user agent, and suspect user agen
RewriteCond %{HTTP_USER_AGENT} ^-?$|perl|python|\x.*?\x [NC,OR]
# Limit request to GET POST and HEAD
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST)$ [OR]
# Block request who doesn't start with / as it should for normal web sites
RewriteCond %{REQUEST_URI} !^/ [OR]
# Block request if not empty or not start with http
RewriteCond %{HTTP_REFERER} "!^$|^http"
# Redirect to 406 page
RewriteRule .* - [END,R=406]
Estou usando o código 406 (Não Aceitável) como código de resposta, mas é opcional, pode ser tudo que você quiser, como [F], como sugerido pelo apache doc
Se você estiver usando outra regra de regravação (como url curto, por exemplo), é necessário colocar a regra que eu postei antes, para ser usada na primeira