Un ataque de fuerza bruta es un intento de obtener acceso no autorizado a un sitio web generando e ingresando continuamente varias combinaciones de una contraseña. Esta tarea generalmente la realiza un software de automatización (un "bot") que busca mensajes de éxito o error y sigue probando nuevas contraseñas hasta que recibe un mensaje de éxito.
¿Drupal 7 es seguro contra él de forma predeterminada? ¿Cuál es la configuración más segura? ¿Qué módulo me puede ayudar para un inicio de sesión más seguro?
Respuestas:
Como puede ver en el código, la función user_login_final_validate registra un evento de inundación. Eso significa que si una misma IP intenta conectar una contraseña de usuario / inicio de sesión muchas veces seremos "prohibidos" por un tiempo.
Esta es una de las protecciones que ofrece Drupal. Otro, y creo que si le sucede a su sitio web, lo notará muy rápido, es el token CSRF que Drupal genera para cada formulario.
Esto significa que el bot atacante debe generar el formulario, luego obtener el token y asociarlo con el formulario de envío. Eso lleva mucho tiempo y probablemente desanime al atacante. Pero primero, verá que su servidor comienza a calentarse.
fuente
Además de las buenas medidas que implementa Drupal 7 para detener los intentos de inicio de sesión, sugeriría instalar el módulo Spambot , que se ocupa específicamente de los nuevos intentos de registro de usuarios.
En cada nuevo registro de usuario, ese módulo consultará el servidor Stop Forum Spam para ver si el usuario que intenta registrarse es un bot conocido.
Opcionalmente, puede contribuir a Stop Forum Spam con los intentos de registro de su sitio web.
fuente
Hay control de inundaciones
Las funciones para definir e interactuar con el sistema central de control de inundaciones
El sistema de inundación nos proporciona tres funciones:
Registre un evento para el visitante actual en el mecanismo de control de inundaciones.
Haga que el mecanismo de control de inundaciones se olvide de un evento para el visitante actual.
Comprueba si el usuario puede continuar con el evento especificado. Básicamente, verificamos si un usuario tiene acceso llamando a flood_is_allowed. Si devuelve FALSO, arroje un "Acceso denegado". Cada vez que un usuario realiza la acción, llamamos flood_register_event.
Por defecto, comprueba la dirección IP del usuario. Pero podríamos pasar algún otro identificador único como la identificación del usuario.
Arriba copiado de Jugar con el sistema de inundación de Drupal
fuente
Pensando (y teniendo) este problema, escribí un módulo que le permite prevenir este tipo de ataques: https://drupal.org/project/AntispammerBot
Puede seleccionar qué roles son seguros, cuántos nodos puede publicar el usuario antes de considerarlo un ataque de spam, etc.
fuente