Pregunta

He visto aplicaciones web con limitaciones para el usuario de intentos de inicio de sesión.

Es una necesidad de seguridad y, si es así, ¿por qué?

Por ejemplo: usted tuvo tres intentos de inicio de sesión, vamos a intentarlo de nuevo en 10 minutos!!

¿Fue útil?

Solución

Aclaración Esta es una conclusión a las otras respuestas. El uso de un buen código de imagen se utiliza junto con un mecanismo anti-fuerza bruta usando sesiones, por ejemplo.
El interrogador marcó esto como aceptados si se asume que los captchas son ilegibles por máquinas (ella es casi derecha) y así se está haciendo puntos negativos, porque la gente piensa que no es una respuesta completa y tienen razón.


También usando un buen CAPTCHA de práctica podría ser una forma alternativa de ENPOWER seguridad de las aplicaciones contra los ataques de fuerza bruta. hay un amplia variedad de proveedores de captcha disponible de forma gratuita, vamos a tratar de la manera más fácil si usted tiene prisa. También tenga en cuenta que hay personas de aquí diciendo que "oh, no! esto código de imagen no es lo suficientemente seguro y tienen razón a veces!" .

"Para aquellos de ustedes que no saben, un CAPTCHA es programa que puede decir si su usuario es un ser humano o en otro equipo. Ellos' re esas pequeñas imágenes de texto distorsionado que sirven cuando se suscribe a Gmail o dejar un comentario en el blog de alguien. Su objetivo es asegurarse de que alguien no utiliza un ordenador para inscribirse en millones de cuentas en línea de forma automática, o. ." ref .

Otros consejos

vi un enfoque creativo para esto una vez ...

Para cada intento de acceso, que se falla, el tiempo de bloqueo aumenta exponencialmente ....

attempt | lockout time
======================
   1    |     2s
   2    |     4s
   3    |     8s
   4    |    16s
   5    |    32s
   6    |    64s
   7    |   128s
   8    |   256s
   9    |   512s
  10    |  1024s

En teoría, permite que el usuario cometa un error o dos, pero tan pronto como aparece a convertirse en una "piratería" intento, el hacker se queda encerrado por períodos de tiempo más largos.

No he utilizado yo mismo (aún), pero conceptualmente me gusta bastante la idea. Por supuesto el inicio de sesión satisfactorio, se pone a cero el contador.

El límite de cuántos intentos de hacerse en un sitio web son para evitar que la fuerza bruta (automatizado) ataca a su sitio. Si no limitar estos intentos, un hacker puede configurar una secuencia de comandos para seguir adivinando contraseñas hasta que encuentra uno, y esto puede afectar a la disponibilidad de su servidor web.

Normalmente, es posible que desee vez que el usuario fuera (10 minutos como usted ha mencionado) después de 3 intentos, y encerrarlos a cabo después de 6 o 9 intentos repetidos consecutivos, obligando al usuario a contacto con usted con el fin de desbloquear su cuenta. Esto se pone en su lugar porque alguien puede modificar sus guiones para ajustar el tiempo de espera.

Si los usuarios pueden establecer sus propias contraseñas, algunos bot / niño intentará iniciar sesión con una lista de contraseñas comunes, y tener éxito. Y si no saben cualquier usuario, van a tratar nombres comunes como administrador, Simon, rico, etc.

No ayuda a solo pabellón tenga el usuario en la sesión, ya que sólo pueden eliminar la cookie o parámetro de consulta en su extremo. Es necesario tener una cuenta de intentos de acceso fallidos para iniciar sesión IP y nombre. Tal vez sea más indulgente para la IP ya que puede ser compartida entre muchos usuarios.

Para mis propios proyectos de I escribió una biblioteca generalizada 'floodcontrol' que se ocupa de este tipo de cosas.

Me permite especificar el número de intentos pueda hacerse en X cantidad de tiempo. Además, permite una cierta cantidad de intentos de 'gracia' en un corto período de tiempo, por lo que sólo un comportamiento muy inusual será capturado.

Me registro en la base de datos un par de cosas:

  • La dirección IP (o los primeros 24 bits de la misma)
  • La acción que se intentó (es decir, 'conectarse', 'buscar', 'comentario')
  • La hora del intento
  • Número de intentos (contador de intentos)

Para cada intento hizo que consulta en la dirección IP parcial y la acción, y si se hizo un intento anterior dentro de una cierta ventana de tiempo entonces incrementar el contador de intentos para ese intento. Si el contador de intentos supera el número de intentos de gracia otorgado a continuación, puedo comprobar si el último intento fue en x segundos de ahora y si es así, devolver false - por lo tanto, se bloqueará la acción (y al usuario se le dijo que esperara X segundos antes de intentar de nuevo). Si el contador de intentos es inferior al número de intentos de gracia luego vuelvo verdad y dejar que se deslice.

Si una persona con la misma IP viene por más tarde, entonces el recuento intento anterior no va a ser exagerado, porque va a ser hace mucho tiempo.

Sí, es necesario para proteger las cuentas de los sofisticados ataques de fuerza bruta - como en, el uso de bots y los archivos de diccionario de abajo a alguien tratando de adivinar la contraseña de la cuenta.

Creo que poner un '' intentos fallidos de contador en la base de datos sería la forma más segura y más fácil de seguir. De esta manera el usuario no puede prescindir de ella (mediante la desactivación de las cookies). Restablecer el inicio de sesión correcto, por supuesto.

Restablecimiento de los intentos fallidos de inicio de sesión después de una correcta casi hace que todo el sistema de valor.

Cualquier usuario registrado puede entonces hacer tres conjeturas en cuenta y la contraseña de otra persona, a continuación, iniciar sesión con su cuenta para restablecer el contador, y repetir - que puede ser automatizado, también. Por lo que un usuario normal registrado puede fuerza bruta contraseñas de administrador, por ejemplo.

El reajuste que hay que hacer por el administrador, no simplemente entrando en el éxito.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top