¡La alternativa a permitir que múltiples usuarios tengan el mismo nombre de usuario es mucho peor!
Realmente lo que sucede con ese sistema
- El usuario solicita una nueva contraseña
- Ahora tiene que revisar las contraseñas para asegurarse de que no ocurran colisiones
- El usuario puede usar esto para forzar a otras cuentas
Eso es malo. Por lo tanto, debe evitar que varios usuarios tengan el mismo nombre de usuario. Para ello, haga clic en.
¿Qué sucede si un usuario puede encontrar el nombre de usuario de otro usuario?
Este es el escenario que se te presenta y cómo evitas que alguien lo use maliciosamente. ¿Qué riesgo te abres aquí?
- Un usuario puede encontrar un nombre de usuario
- Todavía no da acceso, ya que ahora tienen que adivinar la contraseña
Bien, bien, esto ofrece un poco más de seguridad y aún evita que los usuarios reciban correos electrónicos y otra información confidencial filtrada. Pero ahora quieres intentar mitigar los ataques. ¿Cómo haces eso?
Mitigar los ataques de registro
Hay un par de técnicas que existen para prevenirlo, pero la mejor es, con mucho, la limitación de la tasa y los intentos máximos que se registran por IP.
Límite de velocidad, intentos máximos y registro de IP
Cuando un usuario intenta registrarse, solo puede verificar los nombres de usuario disponibles tan rápido. En realidad, a una persona real le tomará uno o dos segundos escribir un nuevo nombre de usuario. Esto le permite hacer algunas simples comprobaciones y saldos . Sin embargo, esto solo sucede cuando intentan registrarse. Cuando un usuario te ataca y usa un nombre de usuario que no está registrado, todo lo que sucede es que ha registrado ese nombre de usuario. Oh bien. Ahora tienen que comenzar de nuevo el proceso de registro, y aquí es donde puede verificarlo.
- El usuario intenta registrar muchas cuentas realmente rápido: un bot, deténgalos y elimínelos (límite de velocidad)
- El usuario intenta MUCHO: atacando con la mano, tíralos (intentos máximos)
- El usuario regresa: la misma dirección IP muestra un atacante realmente determinado. PROHIBEN SU IP (intentos máximos repetidos)
Ahora que el atacante se ha expuesto y se ha prohibido a un nivel de IP. Usted sabe que algo malo está sucediendo aquí, tiene un registro de nombres de usuario que podrían haber sido revelados, y lo mejor es que no hubo fuga de información personal. ¡Gran trabajo!
Sin embargo, ahora necesita volver y cancelar el registro de todas las cuentas que se crearon para intentar encontrar otras. ¡Menos mal que tienes esos registros!
Las desventajas de los nombres de usuario sin correos electrónicos
Aquí hay un gran defecto que debe tener en cuenta cuando no vincula una cuenta a un correo electrónico: El nombre de usuario se puede registrar previamente y guardar para el rescate . Entonces es extremadamente difícil probar la propiedad del nombre de usuario. Esto le permite a alguien hacer un tipo diferente de ataque contra su sistema en el que solo intentan registrar previamente muchas cuentas de personas y retenerlas en un rescate. Esperamos que tenga un registro de las comprobaciones anteriores para poder intentar capturarlos en el acto.
Alternativas
Mencionó que ya han pasado por el proceso de confirmación de correo electrónico, por lo que otra forma de manejarlo en este momento es vincularlo al correo electrónico. Después del registro, si desean cambiar su correo electrónico tendrán que iniciar sesión y enviar una solicitud con un enlace a su correo electrónico para cambiarlo. Esto se puede hacer con un token sensible al tiempo. Ahora también pueden tener un nombre de usuario para mostrar en el sitio. Las fallas también se mitigan aquí ya que el nombre para mostrar puede superponerse y no hay manera de intentar obtener acceso a otra cuenta con esa información, pero el correo electrónico proporciona una verificación de la verdad (y posiblemente algún tipo de identificador físico como una imagen de perfil)