Si hay al menos una forma de descubrir qué nombres de usuario están disponibles en el sitio, entonces significa que puede intentar forzar la fuerza bruta / el diccionario-ingeniar esas cuentas específicas. En el caso que describió, entonces no hay una diferencia de seguridad tangible para tratar de ocultar la razón del error en la página de inicio de sesión, ya que es trivial descubrir la verdadera razón de lo contrario.
Dependiendo de lo que sea más importante para usted, puede hacer que su proceso de inicio de sesión sea más fácil para el usuario (y el atacante), o en su lugar, tratar de asegurar su proceso de registro (o cualquier otro) que pueda revelar qué cuentas existen en su sistema.
Al defenderse contra estos casos relacionados con el proceso de autenticación para una aplicación web típica, normalmente debería tener en cuenta las siguientes rutas:
-
Registro / Registro : esto puede revelar qué cuentas están disponibles, así como permitir la inundación de su sistema con cuentas falsas / obsoletas, enmascaramiento de nombres, etc. Por lo general, Captcha puede proporcionar una buena protección, así como tiempos de espera, pero ganó No dejes de ataques manuales, más lentos. También sugeriría no dar sugerencias sobre la disponibilidad del nombre de usuario o el éxito del proceso de registro. Solo puede decir "Gracias por registrarse. Se enviará un correo electrónico de confirmación en breve para confirmar la cuenta" (o algo así)
-
Página de inicio de sesión : este es el punto obvio, y donde la mayoría de las aplicaciones ya tienen una protección bastante estándar, incluida la buena práctica de errores no reveladores, etc. La desaceleración del proceso de inicio de sesión o la supervisión del abuso también pueden ayudar. El bloqueo para inicios de sesión fallidos también es una posibilidad, pero es más propenso a los ataques de denegación de servicio.
-
Contraseña olvidada : esto a menudo se descuida cuando se considera la fuga de información. Cuando alguien coloca su correo electrónico / nombre de usuario en el campo de contraseña olvidada, probablemente debería responder con el mismo mensaje, independientemente de si el correo electrónico / cuenta es conocido o no. Tenga en cuenta que esto podría generar problemas de asistencia ( "Lo puse en mi correo electrónico y su sistema dijo que me estaba enviando un correo electrónico de restablecimiento, pero no recibí nada ..." )
-
Detalles de la cuenta / cambios de correo electrónico : muchas aplicaciones le permiten, por ejemplo, Cambia tu dirección de correo electrónico o incluso tu nombre de cuenta. Esto también podría filtrarse independientemente de si una cuenta o dirección de correo electrónico ya existe o no. Las mismas reglas se aplican aquí.