Por lo tanto, estamos planeando agregar una función a nuestra aplicación que sea similar a lo que hace Google, pero un poco más estricta:
- Tiene una lista de sesiones vinculadas a un agente de usuario y una dirección IP (?) (Google muestra una ubicación)
- 2FA solo es necesario cuando intenta iniciar sesión desde un dispositivo que no ha sido aprobado en los últimos 30 días.
- Si se realiza un intento de inicio de sesión a partir de un nuevo emparejamiento usuario-agente / IP, nos gustaría enviar un enlace con un token a su dirección de correo electrónico para aprobar el inicio de sesión.
- Cuando hagan clic en el enlace, si 2FA está activo, le pediremos a 2FA que apruebe el inicio de sesión.
Algunas cosas sobre las que nos estamos preguntando:
- Al hacer que el usuario tome medidas para aprobar los inicios de sesión, en lugar de Google, donde solo le informa sobre el inicio de sesión ... esperamos evitar un mayor número de inicios de sesión no autorizados. (Actualmente, enviamos un correo electrónico cada vez que el usuario inicia sesión y le informamos el usuario-agente y la región).
- Al requerir que 2FA utilice el enlace, esperamos proteger aún más el inicio de sesión no autorizado (aunque puede restablecer la contraseña con acceso al correo electrónico, necesitamos 2FA auth antes de poder acceder a la página para ingresar la nueva contraseña después de hacer clic en el enlace de restablecimiento. )
- Nuestra mayor preocupación es que no vamos a cometer errores por error y algunos usuarios tendrán que saltar a través de este aro mil millones de veces en la misma sesión porque su operador de telefonía móvil cambia su IP constantemente ... etc, etc. / li>
Entonces, tengo una idea de que la restricción basada en IP probablemente no sea demasiado buena ... ¿así que tal vez busque en la región a través de IP y solo en la lista blanca de la región? Pero entonces un pirata informático podría simplemente falsificar el agente de usuario y usar un proxy.
Nota: entiendo que esto no es nuestro límite para la seguridad, pero nos gustaría agregar esta capa para ayudar a reducir las instancias de acceso no autorizado.
Mi pregunta: ¿Qué modelo general de restricción de sesión / inicio de sesión logrará un buen equilibrio entre "evitar que los hackers / idiotas newb inicien sesión como usted cuando adivinaron su contraseña / phishing" y "no molestar al usuario todo el tiempo con enviar enlaces de autenticación "?