¿Consideraciones sobre si extender las fechas de vencimiento de la sesión en algún intervalo si el cliente permanece activo?

0

Nuestra API está protegida con sesiones que se almacenan y verifican desde la base de datos (JWT no firmadas de un cliente) y tienen una caducidad almacenada en la base de datos.

A partir de ahora, nunca se actualiza la caducidad, pero me gustaría que los clientes que hacen ping al servidor en algún intervalo permanezcan conectados.

No he oído hablar de esto, así que solo quería asegurarme de que no estaba pasando por una falla masiva.

Así que las opciones.

  1. Cada vez que llegan a un punto final, aumentan su vencimiento para decir dentro de 1 hora. Aunque es un poco excesivo.

  2. Para ralentizar las actualizaciones de db, podría decir que si hacen ping dentro de 15 min. De vencimiento, lo refrescaré por otra hora.

  3. ¿Algo mejor?

¿O hay algunos agujeros de seguridad que me faltan?

    
pregunta Josh.F 30.06.2017 - 20:42
fuente

1 respuesta

2

Como comentamos en los comentarios, el mayor problema aquí es que si alguien obtiene un token de sesión, simplemente puede enviar solicitudes periódicas y mantener la sesión en funcionamiento.

También una vez que ha expirado una sesión. Sólo marca que expiró. No permitas que una sesión se renueve en otro ping. (Supongo que estas sesiones no son como usuarios diferentes en la misma máquina. En ese caso, también podría ocurrir que un usuario se olvide de cerrar sesión y otro usuario inicie sesión y obtenga acceso incluso después de que la sesión haya expirado)

Puede consultar la hoja de trucos de OWASP sobre las formas de manejar la expiración de la sesión.

    
respondido por el Limit 30.06.2017 - 21:08
fuente

Lea otras preguntas en las etiquetas