Seguridad con sesiones que no expiran

4

Las sesiones caducan de manera diferente en diferentes lugares de la web:

  • StackOverflow: nunca caduca
  • Twitter: nunca caduca
  • Facebook: nunca caduca
  • Raya: caduca después de unos 30 minutos o una hora más o menos
  • Algunos sitios web de bancos: expiran luego de 15 minutos de inactividad
  • Otros sitios web caducan después de 5 minutos, sin importar qué

Las prácticas más recientes indican mantener las solicitudes sin sesión y usar un JWT que se actualice automáticamente cada 15 minutos o en una nueva solicitud, utilizando un token de actualización. La razón de esto es que puedes poner en una lista negra un token rápidamente si está en las manos equivocadas, y no se podrá utilizar durante más de 15 minutos, manteniendo la duración mínima del ataque.

El problema es que no quieres cerrar la sesión de un usuario cada 15 minutos, es una mala experiencia de usuario. StackOverflow y Twitter son excelentes porque siempre estás conectado.

La parte confusa es por qué StackOverflow / Twitter no hace esto. Parece un riesgo de seguridad si sigues la ruta de caducidad de 15 minutos sin sesión, o quizás estén haciendo algo para mitigar el riesgo.

    
pregunta Lance Pollard 26.11.2017 - 05:45
fuente

1 respuesta

3

Primero, considera la audiencia. Obviamente, el incumplimiento de una cuenta bancaria va a ser más desastroso que el desbordamiento de pila. Debe adaptarse al nivel de datos que está procesando.

Segundo, asumo porque usted dice que nunca caduca, quiere decir que la cookie nunca caduca. Esto por sí mismo no es un buen indicador. Las ID de sesión y tales pueden ser regeneradas periódicamente. No se debe confiar en la caducidad real de la sesión por sí sola. PHP, por ejemplo, tiene un sistema ridículamente complejo de sesiones de invalidación. Puede encontrar más detalles aquí: enlace

Al considerar inconvenientes, debe considerar el impacto de seguridad en términos reales. Odio mi banco, siempre se agota antes de que termine ... pero debido al contenido, esa es una consideración que debe hacerse. Si stackoverflow tuviera mi sesión agotada en la mitad de una respuesta, ¡nunca la volvería a usar! (sí, solo me registré esta noche) Pero el desbordamiento de pila no almacena los datos personales necesarios para tener un tiempo de espera de 15 minutos.

Las aplicaciones son similares. Inicia sesión en twitter / facebook y has iniciado sesión (prácticamente) para siempre. Se basan en la seguridad del propio dispositivo para "autenticarse", así como en el hecho de que es un dispositivo que nunca se alejará de usted. Los bancos nuevamente requieren una verificación constante de que eres quien dices que eres.

    
respondido por el user164613 26.11.2017 - 06:00
fuente

Lea otras preguntas en las etiquetas