Cuando utilizamos la Autenticación de formularios ASP.NET en cualquiera de los frameworks ASP.NET (ASP.NET MVC, Web Forms, etc.), persistimos en la cookie de autenticación en el navegador del cliente . Como práctica recomendada, configuramos la cookie como HttpOnly y segura. También hacemos todas las transacciones a través de SSL. Independientemente del tipo de mecanismo que utilicemos para autenticar al usuario (OAuth, proveedor de membresía de ASP.NET, etc.), aún necesitamos persistir en la autenticación para una mejor experiencia del usuario.Autenticación de formularios ASP.NET y autenticación persistente Cookie Security
Con todos estos en su lugar, supongo que alguien aún puede obtener la cookie del navegador del cliente y emitir solicitudes con esos valores de autenticación de cookies. Esto no puede ser detectado por el servidor y estaríamos dando datos protegidos a otra persona.
Creo que lo que tengo en mente para reducir el riesgo es pedirle la contraseña al cliente cada vez que intenta tomar algunas medidas serias (como cambiar la dirección de correo electrónico, acceder a la información de perfil, etc.) pero esto no resuelve nada y puede ser bastante molesto para el cliente.
¿Tiene algún enfoque que esté siguiendo activamente para este tipo de problemas? ¿O cuál sería la mejor manera de mantener la autenticación en el navegador de los clientes?
Gracias Troy, muy buena respuesta y buenas sugerencias. Debo admitir que pasé por alto para establecer 'slidingExpiration' en' false'. Supongo que esto permite que un ticket vencido no se pueda reactivar. Esto también otorga una mayor confianza al sistema. ¿Qué piensas? – tugberk
Lo que hace la expiración deslizante cuando está activada aplica el tiempo de espera de la sesión contra la * última solicitud * pero cuando está desactivada, se aplica contra * el inicio de la sesión *. Supongamos que tiene un tiempo de espera de 20 minutos y usa activamente el sistema durante 10 minutos. Cuando el vencimiento del deslizamiento es * en *, el tiempo de espera se producirá a los 30 minutos. Cuando está * apagado *, el tiempo de espera se producirá a los 20 minutos. Al apagarlo, se reduce la ventana de oportunidad para secuestrar la cuenta, pero afecta negativamente la usabilidad. Si su sistema es uno donde las personas ingresan, hacen lo que necesitan rápidamente y luego se van, apáguelo. –
Entonces, de cualquier manera, una cookie de autorización caducada no se puede usar y reactivar, ¿verdad? – tugberk