¿Cómo tratar con alguien que intenta iniciar sesión como administrador?

14

Durante estos últimos días, noté en mi dblog que alguien había estado tratando de escabullirse.

La persona trató de encontrar la URL de inicio de sesión (mi sitio web no está abierto para el registro de usuarios), por lo que intentó todo desde my-domain.com/admin, my-domain.com/administrator .. y también my-domain.com/wp- iniciar sesión (lo que indica que la persona no está familiarizada con drupal ..)

Una vez que la persona terminó en / usuario, intentó iniciar sesión como administrador probando diferentes nombres de usuario: administrador, administrador, etc. (nunca uso 'admin' como nombre de usuario para el usuario raíz)

¿hay alguna manera de prevenir / proteger un sitio web de drupal de este tipo de cosas?

Gracias

ps: estoy interesado en cómo hacer esto tanto para d6 como para d7.

amstram
fuente

Respuestas:

14

Este tipo de sondas son muy comunes en Internet. Hay algunas cosas que puede hacer para bloquear este problema y reducir el éxito de un atacante.

Primero, recomiendo que todos usen la autenticación de dos factores para que, incluso si el atacante adivina su nombre de usuario y contraseña, no puedan iniciar sesión. Hubo una recompensa por $ 500 para romper TFA y, aunque los atacantes de sombrero blanco tenían nombre de usuario y contraseña, no pudieron entrar.

El módulo de revisión de seguridad o Droptor puede ayudar a monitorear estos inicios de sesión fallidos. Si suceden mucho, entonces debes comenzar a tomar más medidas. Los ataques de fuerza bruta a las contraseñas solo funcionan si alguien las usa mucho, por lo que si solo sucede unas docenas de veces, no me preocuparía.

Puede rastrear la dirección IP en uso por esta persona usando las entradas de vigilancia y luego usar las Reglas de acceso D6 integradas (o el equivalente d7 - http://drupal.org/project/user_restrictions ) para bloquear el acceso a través de esa IP. También puede denegar el acceso a la IP en Apache o en algún otro servidor de seguridad de nivel de servidor. El servidor de seguridad / servidor web es un lugar más eficiente para bloquear a los usuarios en términos de carga en el servidor, pero generalmente requiere un poco más de esfuerzo.

Para Drupal 6 y 7, AjitS ha proporcionado una respuesta con una buena descripción de cómo usar una función de limitación de velocidad para evitar repetidos intentos de inicio de sesión desde la misma IP.

greggles
fuente
66
Ahora eso suena como la respuesta de un tipo del equipo de seguridad de Drupal ;-) +1
AjitS
Ideas interesantes Comenzaré bloqueando las direcciones IP usando las reglas de acceso d6 durante unos días y veré cómo eso ayuda. Gracias a todos ustedes !
amstram
Felicitaciones por la respuesta bien escrita, pero una gran pérdida de tiempo. No importa lo que haga, siempre tendrá estos scripts raspando su sitio. Simplemente envíe su página de administrador e inicio de sesión en https y tenga una contraseña de administrador decente.
stefgosselin
¿Drupal 7 no bloquea automáticamente el acceso desde una determinada dirección IP después de repetidos intentos fallidos de inicio de sesión? Una vez un cliente me llamó para decirme que ya no puede iniciar sesión ya que intentó su usuario / pase 5 veces y falló y ahora ya no puede iniciar sesión y tuve que limpiar algunas tablas de la base de datos para darle acceso de nuevo. ..
Mario Awad
@stefgosselin https no es una opción para mucha gente, aunque ciertamente estoy de acuerdo en que es un buen paso. Tampoco veo cómo https realmente ayuda con el problema de la fuerza bruta. Creo que TFA es útil para las personas que no pueden obtener https y / o que realmente están buscando una solución para los ataques de fuerza bruta.
Greggles
3

Para Drupal 6, debe verificar el módulo Seguridad de inicio de sesión .

El módulo de seguridad de inicio de sesión mejora las opciones de seguridad en la operación de inicio de sesión de un sitio de Drupal. Por defecto, Drupal introduce solo el control de acceso básico que niega el acceso IP al contenido completo del sitio.

Con el módulo Seguridad de inicio de sesión, un administrador del sitio puede proteger y restringir el acceso agregando funciones de control de acceso a los formularios de inicio de sesión (formulario de inicio de sesión predeterminado en / usuario y el bloque denominado "bloque de formulario de inicio de sesión"). Al habilitar este módulo, un administrador del sitio puede limitar el número de intentos de inicio de sesión no válidos antes de bloquear cuentas o denegar el acceso por dirección IP, temporal o permanentemente. Un conjunto de notificaciones puede ayudar al administrador del sitio a saber cuándo sucede algo con el formulario de inicio de sesión de su sitio: contraseña y adivinanzas de cuenta, intentos de inicio de sesión de fuerza bruta o simplemente un comportamiento inesperado con la operación de inicio de sesión.

Para Drupal 7, como dijo @saadlulu que ya hay una característica de bloquear el acceso después de 5 intentos fallidos de iniciar sesión. Si desea más control, puede probar el módulo de control de inundaciones .

El objetivo de este proyecto es agregar una interfaz de administración para las variables ocultas de control de inundaciones en Drupal 7, como los limitadores de intentos de inicio de sesión y cualquier variable oculta futura.

AjitS
fuente
3

¿Quizás sería útil usar las rutas de administrador de cambio de nombre ?

El propósito de este módulo es asegurar el backend de drupal anulando la ruta del administrador.

John
fuente
Sí, sé que "la seguridad a través de la oscuridad" no es realmente seguridad en absoluto, pero en realidad tenía el objetivo de responder la pregunta ...
John
buena respuesta, el cambio de nombre / usuario / entrada a la costumbre / login / ruta puede ser muy eficaz para detener los robots de tratar de iniciar sesión en la URL por defecto
Undersound
3

Me gustaría manejar esto de la misma manera que se manejan los inicios de sesión fallidos de otras fuentes (por ejemplo, ssh, ftp), por lo que todos se tratan de manera consistente. Para eso estaría mirando fail2ban , que he tenido un gran éxito al usar contra inicios de sesión SSH de fuerza bruta. También alimenta muy bien las herramientas de monitoreo y los bloques en el nivel de firewall, que generalmente es más seguro que evitar solo los inicios de sesión de Drupal porque es común que múltiples vectores de ataque provengan del mismo lugar, por ejemplo, si están ejecutando cosas como metasploit .

Synchro
fuente
Estoy de acuerdo, pero esta instalación de drupal que está siendo 'dirigida' se ejecuta en un servidor de alojamiento compartido que me impide tener acceso a la configuración de nivel del servidor, solo puedo intentar protegerla desde dentro de drupal, pero estoy considerando cambiarla a un servidor dedicado en las próximas semanas. Gracias
amstram
Un beneficio de ir al nivel de firewall es que Drupal es solo una parte de la superficie de ataque de su sitio. Si alguien no puede ingresar a través de Drupal, probablemente verá si ssh o ftp u ... otros servicios se están ejecutando y luego intentará ingresar a través de esos métodos.
greggles
3

Este es en realidad un comportamiento totalmente esperado. Cada vez que publique un sitio web en una dirección IP pública, en cuestión de horas / días comenzará a recibir tráfico de ese tipo. El 99,99% de las veces, estos son solo bots que ejecutan un script genérico en busca de aplicaciones sin parches o contraseñas fáciles. Esto explica por qué ves hits en domain.com/wp-login, el host atacante (automatizado) ni siquiera sabe inicialmente que estás ejecutando Drupal, está probando todos los caminos de los populares CMS, Wordpress, Drupal, etc. .

Yo digo que no pierdas demasiado tiempo preocupándote por esto. Hagas lo que hagas, siempre encontrarás estos scripts raspando tu sitio ... de todo el mundo.

Dos cosas simples harán que su aplicación sea relativamente segura:

  1. Servir páginas de inicio de sesión y administrador a través de https

  2. Tener una contraseña decente para el administrador

Cualquiera sea el esquema de seguridad que implemente, SIEMPRE tenga una copia de seguridad reciente de sus cosas.

Buena suerte, feliz año nuevo amigo.

Stefgosselin
fuente
2

Lo que está pidiendo no es lógico si quiere decir eliminar o impedir el acceso a la página / usuario.

Si logras evitar esa página de alguna manera, ¿cómo vas a acceder?

Además, Drupal ya proporciona una forma de detener tales ataques bloqueando el acceso a un usuario después de 5 intentos.

Sin embargo, puede limitar los intentos a su cuenta de administrador.

saadlulu
fuente
Hola gracias por responder No estoy pidiendo nada específico. Solo estoy buscando ideas sobre cómo lidiar con esto. Creo que el 'bloqueo de 5 intentos fallidos' es solo una característica de drupal 7, ¿estoy en lo cierto? ¿Es posible implementar una característica similar en Drupal 6?
amstram
No tengo idea ya que mi experiencia es solo Frupal 7. Le dejaré esto a mis hermanos de Drupal 6 :). puedes hacerme un favor y aceptar mi respuesta si te gusta.
saadlulu
también puede verificar la seguridad de inicio de sesión de
saadlulu
Esta "respuesta" no es buena ya que el bloqueo de 5 intentos es solo Drupal 7 y siempre hay cosas que hacer para evitar el problema, incluso más allá de eso.
greggles