Algo que frecuentemente pasa en cualquier sitio es que existen bots que están intentando hacer dos cosas: Un tipo de bots intenta dejar comentarios y el otro tipo intenta acceder con alguna clave y usuario. En el caso de Drupal, para el primer tipo de bots, módulos como honeypot funcionan bastante bien, pero para el segundo las cosas son un poco más complejas. Una solución si se tiene control sobre el servidor es instalar un programa que se llama fail2ban que sirve para revisar y bloquear muchos tipos de visitas al servidor (ftp, ssh, etc, etc)
Encontré un comentario de alexandreracine en Drupal.org donde explica como hacer que fail2ban bloque las ips que intenten durante una cantidad de tiempo entrar a el sitio web y no lo logren.
va la traducción de como hacerlo:
Se puede ver toda la platica sobre el tema en
https://www.drupal.org/node/772238
Esta es la solución con fail2ban, drupal y Ubuntu. Necesitas roor access (SSH) para poder hacerlo.
Funciona con Drupal 6 y más.
1- Instalar fail2ban con apt-get install fail2ban"
2- En drupal, activar el módulo syslog (para todos los sitios web si se tiene más que uno)
3- Crear el archivo /etc/fail2ban/jail.local con estas reglas:
[drupal-fail2ban]
enabled = true
port = http,https
protocol = tcp
filter = drupal-fail2ban
logpath = /var/log/syslog
maxretry = 5
findtime = 86400
bantime = 432000
4- Crear el archivo /etc/fail2ban/filter.d/drupal-fail2ban.conf con:
[Definition]
failregex = \|user\|<HOST>\|.*\|Login attempt failed (.+)\.$
ignoreregex =
5- Reiniciar el servicio:
/etc/init.d/fail2ban restart
Estas reglas bloquearan una IP despues de 5 intentos de acceder y fallar por 5 dias.
Se pueden ver las ip bloqueadas en vivo con el comando: ail -f /var/log/fail2ban.log