No hay una respuesta estricta a la duración del tiempo. Los límites de los tiempos de espera inactivos dependen de las regulaciones y, posiblemente, de las leyes jurisdiccionales.
Se requiere que el acceso basado en sesión a los datos del titular de la tarjeta en PCI DSS 3.1 sea "razonable". PCI DSS 3.1 en el elemento 8.1.8 proporciona orientación específica sobre esto
8.1.8 Si una sesión ha estado inactiva durante más de 15 minutos, solicite al usuario que vuelva a autenticarse para reactivar el terminal o la sesión.
FUENTE: enlace
Existen sugerencias similares para otros programas de cumplimiento. Hacerlo configurable y flexible según el contexto de sensibilidad de datos es probablemente su mejor apuesta.
Los tiempos de espera absolutos no son obligatorios en ningún marco que conozca, pero parecen interesantes. El impacto de la experiencia del usuario es potencialmente significativo, pero el beneficio de limitar la duración del secuestro de una sesión también es significativo. Parece que una mejor solución, si controla el código de la aplicación, sería la rotación de la sesión (es decir, un Tiempo de espera de renovación en el lenguaje de OWASP), por lo que la aplicación genera una nueva ID de sesión periódicamente.
Recomiendo seguir con un tiempo de espera de renovación si la aplicación lo permite y usar un tiempo de espera de renovación no mayor a 1 hora. Esto reduce sustancialmente el riesgo de secuestro y debe ser práctico con cualquier aplicación que tenga un estado de sesión sencillo (pequeño y se puede copiar manualmente) o serializable.
Si el Tiempo de espera absoluto es su única opción, haría el tiempo de espera de 24 horas. Es un límite sensato y sorprende a los límites. Un tiempo de espera absoluto de varios días probablemente confundiría a los usuarios, ya que verían el nuevo aviso como arbitrario o potencialmente indicativo de un fallo de la aplicación.