Política de seguridad de bloqueo de cuenta (nombre de usuario / contraseña)

3

Actualmente estoy trabajando en una aplicación con respecto a la aplicación de una política de seguridad a la aplicación. Estamos bloqueando la cuenta después de X intentos fallidos de inicio de sesión en Y minuto. La cuenta se bloqueará durante Z minutos. Quiero saber si la cuenta debe estar bloqueada si hay intentos de inicio de sesión fallidos sucesivos o si la cuenta debe estar bloqueada si hay intentos fallidos en los últimos Y minutos.

Ejemplo: intentos de inicio de sesión fallidos = 3 en 10 minutos

Si el usuario ingresa el nombre de usuario / contraseña incorrecto 2 veces. Luego inicia sesión con éxito la tercera vez. Luego cierra la sesión e intenta un inicio de sesión fallido. (Todos los intentos se realizan dentro de los 10 minutos).

¿La cuenta debe estar bloqueada o no?

    
pregunta user36009 02.03.2015 - 12:41
fuente

3 respuestas

3

No hay una respuesta correcta o incorrecta. La política de bloqueo más agresiva es un poco más segura y menos conveniente para sus usuarios. Debe evaluar si vale la pena hacerlo en función de los requisitos de su aplicación, su conocimiento de su base de usuarios, el valor del activo que está protegiendo, su modelo de amenaza, etc. etc.

    
respondido por el Graham Hill 02.03.2015 - 14:25
fuente
1

Y siempre recuerde que puede haber idiotas que intentan hacer DOS a alguien que no les gusta intentando intencionadamente bloquear su cuenta utilizando una cuenta de correo electrónico conocida.

    
respondido por el Ken 03.03.2015 - 07:51
fuente
0

Sí, la cuenta debe estar bloqueada.

El motivo es que el inicio de sesión correcto podría ser del usuario real, y los inicios de sesión fallidos podrían ser de un atacante. El hecho de que el usuario real haya iniciado sesión no debe reiniciar el contador del atacante. Por supuesto, puede realizar un seguimiento de las sesiones y solo bloquear al usuario si está en una sesión diferente a la del usuario real, sin embargo, aquí existe un mayor riesgo de errores de implementación, lo que significa que podría introducir algo inadvertidamente que permita a un atacante evitar el bloqueo. Con seguridad, a menudo es mejor mantener las cosas lo más simples posible.

También debe limitar los intentos repetidos de límite desde la misma dirección IP que ayudará a protegerse contra un ataque horizontal contra diferentes cuentas de usuario.

Lo anterior es un comentario sobre su propuesta actual, sin embargo, también me gustaría una respuesta cada vez más retrasada en lugar de bloquearla.

por ejemplo

Login Attempt              Artificial Delay
1                          0
2                          1 second
3                          2 seconds
4                          4 seconds
5                          8 seconds

De esa manera, el usuario real podrá iniciar sesión durante una fuerza bruta en su cuenta y el atacante no podrá provocar una Denegación de Servicio en el usuario legítimo. Para retrasos más prolongados, podría mostrar algo al usuario para mostrar que su inicio de sesión está en curso, por lo que no estaría tentado a hacer clic nuevamente. Por supuesto, no desea que la demora máxima sea mucho más larga que varios segundos, sin embargo, agregar una demora artificial en los hilos retrasará a un atacante. La diferencia entre ralentizar el inicio de sesión y mostrar un mensaje de bloqueo de cuenta es que el usuario real no tendrá que seguir enviando sus datos de inicio de sesión; solo debe ser paciente mientras el inicio de sesión progresa.

    
respondido por el SilverlightFox 03.03.2015 - 11:14
fuente

Lea otras preguntas en las etiquetas