Grav-plugin-admin: Página de inicio de sesión vulnerable a ataques de fuerza bruta

Creado en 3 nov. 2016  ·  14Comentarios  ·  Fuente: getgrav/grav-plugin-admin

El panel de administración es vulnerable a los ataques de fuerza bruta. La página de inicio de sesión (/admin) devuelve un código si el usuario existe y otro código si el usuario no existe y no hay barrera que impida que los sistemas automatizados lo intenten. No me gusta mucho esta idea, pero creo que la forma más fácil de solucionarlo de inmediato podría ser insertar un Captcha. Otra alternativa (no estoy seguro de cuán efectiva) podría ser limitar la cantidad de intentos desde la misma IP por día.

La página de contraseña olvidada también es vulnerable... Cuando intenta y solicita un enlace de contraseña olvidada, el sistema confirma si el correo electrónico está registrado o no. Sugeriría cambiarlo a un mensaje más genérico como "Si este es un correo electrónico registrado, se le envió el enlace de recuperación. Si no recibe el enlace, comuníquese con el administrador de su sitio" o algo así. .. pero no estoy muy seguro de si eso sería suficiente. Tal vez alguien con más experiencia podría querer investigar esto.

enhancement

Comentario más útil

Los retrasos entre los intentos de inicio de sesión, preferiblemente en aumento, quizás exponencialmente, con cada intento hasta cierto límite, bloquean efectivamente los ataques de fuerza bruta. Los retrasos y límites se pueden establecer como parámetros.

Todos 14 comentarios

Simplemente usaría un solo mensaje de error que indica algo como: Incorrect username or password. Esos cambios (incluido el cambio de cadena de contraseña olvidada) harían imposible adivinar los nombres de usuario en cualquiera de los formularios.

Yo no limitaría el acceso por IPs, pero añadir captcha como opción no es mala idea.

Realmente no me gusta la opción de captcha, pero si se debe agregar, ¿podríamos al menos tenerlo activo solo después de algunos intentos fallidos (como 3, o algo así)?

Los retrasos entre los intentos de inicio de sesión, preferiblemente en aumento, quizás exponencialmente, con cada intento hasta cierto límite, bloquean efectivamente los ataques de fuerza bruta. Los retrasos y límites se pueden establecer como parámetros.

La funcionalidad de contraseña olvidada se ha modificado en la versión beta del complemento de inicio de sesión. Ahora solo toma direcciones de correo electrónico.

Además, editado para imprimir el mismo mensaje, ya sea que exista el correo electrónico o no, en https://github.com/getgrav/grav-plugin-login/commit/3e7c20fd66639123cfb2894d9298d4ccfb861af9

El registro de intentos fallidos también sería bueno para fail2ban, etc. :)

¿Qué tal una forma de limitar el número de intentos de inicio de sesión incorrectos en un período de tiempo determinado?

El complemento de inicio de sesión ahora tiene una sección de seguridad en su configuración para controlar eso: https://github.com/getgrav/grav-plugin-login/commit/590f188189c8453afb5992e7ec385795336ee711

Todavía sería bueno tener la OPCIÓN para un captcha. Además, la protección contra inundaciones no parece funcionar en absoluto.
Grav nunca le impide ingresar más contraseñas, incluso con las funciones de seguridad habilitadas. Tampoco extiende el tiempo entre intentos de inicio de sesión.

¿Estoy haciendo algo mal o el complemento simplemente está roto?

En realidad, la protección de fuerza bruta del complemento de inicio de sesión no se aplica al administrador (mi error al escribir lo contrario aquí). En Admin, tiene la opción de agregar protección a nivel de servidor web (p. ej., htaccess/htpasswd en Apache) y también limitar por rango de IP, hasta que esta característica llegue también a Admin.

Veo. Sí, supongo que es lo más sensato hasta entonces.
Actualmente, esto parece una falla de seguridad evidente, si los usuarios no reciben al menos una advertencia de que deben proteger la página de administración.

Además, como ya se sugirió: una advertencia para los intentos de inicio de sesión fallidos en el tablero sería muy bueno.

Esperando una actualización sobre esto pronto :)

EDITAR: la solución .htaccess prácticamente elimina todos los CSS en la página de administración. Lo que más o menos lo vuelve inutilizable.

Actualmente, lo mejor que puede hacer para mejorar la seguridad del administrador es ocultar la página de administración cambiándole el nombre, así:
https://learn.getgrav.org/admin-panel/faq#custom-admin-url
Realmente espero que pronto llegue una protección de inicio de sesión para el administrador, ya que esto me impide usarla en un sitio corporativo.

En realidad, la protección de fuerza bruta del complemento de inicio de sesión no se aplica al administrador (mi error al escribir lo contrario aquí). En Admin, tiene la opción de agregar protección a nivel de servidor web (p. ej., htaccess/htpasswd en Apache) y también limitar por rango de IP, hasta que esta característica llegue también a Admin.

La protección de fuerza bruta parece estar funcionando en mi página de inicio de sesión de administrador. También está en los documentos . ¿Este comentario está desactualizado o estoy malinterpretando?

Además, ¿alguien sabe cómo hacer que Grav funcione con fail2ban?

Mi solución alternativa solo funciona si tiene acceso FTP a todos sus servidores/alojamiento.

Puede editar el .htaccess para permitir que solo su dirección IP específica lea la carpeta /admin/. Cualquier otra IP (y los bots posteriores) no podrán cargar ninguno de los contenidos de la carpeta.

Solía ​​​​usar este método para rechazar todo, excepto mi propia dirección IP ... para verificar si un sitio web creado estaba funcionando, antes de iniciarlo. Esto fue antes de que pudiera ejecutar un servidor web local. Tal vez esto todavía funcione para aquellos pocos usuarios que tienen miedo y quieren un control total solo desde su IP.

¿Fue útil esta página
0 / 5 - 0 calificaciones