¿Debe un sistema rastrear los intentos fallidos de inicio de sesión? ¿Por qué?

¿Alguna vez has oído hablar de los ataques de fuerza bruta?

En un ataque de BruteForce, el atacante básicamente usa un programa para generar muchas contraseñas aleatorias y luego el programa prueba estas contraseñas una por una para iniciar sesión en su sitio web.

Se podría decir que este tipo de ataques de fuerza bruta se pueden detener bloqueando la dirección IP del atacante que realiza tantas solicitudes a sus formularios de inicio de sesión.

Estoy de acuerdo. Puede bloquear la dirección IP de un atacante.

Pero, los hackers profesionales saben que cualquiera puede implementar este tipo de seguridad.

Entonces, lo que hacen es cambiar la dirección IP de la solicitud después de cada intento fallido.

Ahora, no puede bloquear cada dirección IP. Las direcciones IP están sujetas a cambios. Al día siguiente, la misma IP podría asignarse a uno de sus CLIENTES más IMPORTANTES.

¿Qué sucederá si bloquea su dirección IP por error?

No podrán iniciar sesión, lo que contará para una experiencia del cliente realmente mala.

Entonces, ¿qué puedes hacer ahora?

Cree una columna adicional en su tabla MySQL y asígnele el nombre algo así como login_attempts.

Incremente este campo en cada intento de inicio de sesión fallido y vuelva a establecerlo en 0 en cada intento de inicio de sesión exitoso.

Una vez que el campo alcanza el valor de 5, deja de aceptar intentos de inicio de sesión.

Ahora, puede crear una página que funcione igual que las páginas de Olvidé mi contraseña. El usuario ingresa su correo electrónico y recibe un enlace a su dirección de correo electrónico. Una vez que el usuario hace clic en este enlace, restablece el conteo de login_attemps a 0 e inmediatamente le pide al usuario que cambie la contraseña.

Espero que esto ayude. 🙂

No dude en dejar un comentario, si tiene alguna pregunta. 🙂

Bueno, si usted es serio acerca de la seguridad de su sitio web, es uno de los muchos pasos pequeños que puede tomar.

Ahora, algunas personas lo clasificarían como innecesario. Pero como se menciona aquí en las respuestas, los ataques de BruteForce son la razón por la que resulta útil. Se realizan múltiples intentos de inicio de sesión para descifrar su contraseña. De esta manera, las contraseñas aleatorias se crean utilizando todas las permutaciones y combinaciones. Entonces, algún día su contraseña será descifrada. Las IP estáticas son la cura, pero pueden cambiar si los visitantes son demasiados para rastrearlos. Entonces, el número de intentos fallidos de inicio de sesión seguramente expondrá a los culpables.

Los intentos de inicio de sesión limitados ayudan a evitar las entradas excesivas de contraseña. Normalmente, puede editar la tabla MySQL para limitar este número a cualquier número. 5 es el más favorito aquí. Esto también ayuda a los usuarios íntimos a cambiar la contraseña en caso de que un nombre de usuario se use en exceso para iniciar sesión.

Estos son mis 2 centavos. Realmente espero que resuelva tu consulta.

Sí. Puede haber una falla en el teclado o un error tipográfico debido a un error humano.
La mayoría de los sitios web permiten hasta 5 intentos fallidos de inicio de sesión antes de bloquear la cuenta.