Saltar a contenido

Sesiones y Cookies

Los IDs de sesión de usuario de Clarive se almacenan en cookies en el navegador.

Hay varias opciones disponibles en el servidor Web de Clarive para configurar cómo el servidor administra las sesiones de usuario.

Configuración general de Cookies

Para sobrescribir los valores predeterminados, vaya a su archivo de configuración CLARIVE_BASE/[config].yml y agregue o modifique las claves deseadas usando la siguiente estructura YAML (tenga cuidado con la indentación):

baseliner:
    'Plugin::Session':
        expires: 2592000     # Un mes
        cookie_name: clarive-session
        cookie_secure: 0     # 1 = sesión solo disponible en servidores HTTPS
        cookie_samesite: "None"   # "None", "Lax" o "Strict"

Todos los cambios en el archivo .yml requieren reiniciar el servidor Web de Clarive.

Cambiar este valor alterará el nombre de la cookie que se envía a los usuarios. Cambiar este nombre cerrará la sesión de todos los usuarios y les requerirá iniciar sesión nuevamente.

expires

Establece el número de segundos hasta que expire una sesión, igual que la variable simple session_expires.

Por defecto este valor está establecido en 1 mes de duración. Establecerlo en, por ejemplo 3600 cerrará la sesión de los usuarios después de 1 hora de inactividad.

Note

Si solo desea configurar el valor de expires y nada más use el valor simple session_expires en la configuración.

Establezca este valor en 1 para permitir solo que los usuarios inicien sesión usando HTTPS.

Después de cambiar este valor (y reiniciar el servidor) los usuarios que accedan al servidor Clarive a través de URLs http://... no podrán iniciar sesión en Clarive a menos que usen una conexión HTTPS (https://...).

Los usuarios que ya iniciaron sesión cerrarán sesión después de que el servidor se reinicie.

Configure primero su servidor front-end

Recomendamos que primero y ante todo, antes de activar esta cookie para forzar a sus usuarios a conectarse a través de HTTPS, realice los cambios pertinentes en su servidor web front-end (ej. Nginx). Solo use este parámetro de configuración si no tiene acceso o control sobre su front-end y desea asegurarse de que los usuarios solo inicien sesión a través de conexiones HTTPS seguras, o como una segunda medida después de que el front-end haya sido configurado para desviar el tráfico HTTP a través de HTTPS.

Establezca este valor en Strict o Lax para establecer el flag SameSite de la cookie.

SameSite ayuda a prevenir ataques CSRF (Cross-site request forgery) limitando que su cookie de sesión de Clarive se envíe solo cuando se acceda desde una sesión abierta de Clarive.

  • Lax - este es el valor recomendado, ya que previene que las cookies de sesión se envíen a sitios que solicitan recursos pero permite a los usuarios ser redirigidos a su interfaz web de Clarive a través de enlaces sin tener que iniciar sesión nuevamente. Esto se está convirtiendo en un estándar y el predeterminado en algunos navegadores.

  • Strict - este valor de flag requerirá que los usuarios vuelvan a iniciar sesión en el servidor web de Clarive al hacer clic en cualquier enlace que redirija al servidor web de Clarive. Puede ser molesto para los usuarios tener que ingresar sus credenciales cada vez, pero resulta en una instalación más segura.

  • None - este flag deshabilitará explícitamente toda seguridad SameSite. Esto no se recomienda en este momento, pero a medida que los navegadores comiencen a implementar SameSite por defecto, lo que puede resultar en molestias para sus usuarios, es posible que desee establecerlo en None para decirle a los navegadores (como Chrome 76) que permitan que su cookie de sesión de Clarive se envíe a través de sitios.

  • 0 (predeterminado) - el valor cero evita que el flag SameSite sea enviado por el servidor web de Clarive.

Note

La configuración de cookie SameSite es un nuevo estándar introducido en 2017 y algunos navegadores pueden no respetarlo. Verifique la versión de su navegador para asegurarse de que los flags SameSite sean compatibles.

Single Sign-on

Si tiene una configuración de single sign-on con Clarive entonces algunas de las opciones de configuración de cookies podrían interferir con su esquema de single sign-on, así que asegúrese de probarlo antes de cambiar cualquier valor en sistemas Clarive de producción.

Duración de la sesión y "Recuérdame"

Clarive permite tanto cookies de sesión como cookies de expiración que mantienen el ID de sesión actual para un usuario en el navegador.

Las cookies de expiración son cookies que expirarán después del tiempo establecido por el administrador en el archivo de configuración, bajo la entrada session_expires o la configuración general Baseliner/Plugin::Session/expires.

session_expires: 2592000  # segundos = un mes

Las cookies de sesión son cookies que son eliminadas por el navegador cuando el usuario cierra sesión. A partir de la versión 7.10.5 de Clarive esa es la cookie predeterminada que Clarive creará, a menos que el usuario marque la casilla "Recuérdame" en el formulario de inicio de sesión.

Los usuarios pueden decidir al iniciar sesión si prefieren una cookie de sesión (marcando la casilla "Recuérdame") o una cookie con la expiración global establecida por el administrador.

El administrador puede limitar las opciones del usuario durante el inicio de sesión estableciendo la opción de configuración session_duration_mode.

  • session_token: session_cookie - solo se permiten cookies de sesión (que son eliminadas por el navegador)
  • session_token: expire_cookie - solo se permiten cookies de expiración
  • session_token: cookie (predeterminado) - el usuario puede usar la casilla "Recuérdame" para establecer su modo de expiración de cookie preferido.

Establezca el valor de expiración independientemente

Independientemente de los modos de token de sesión, establezca session_expires a un valor entero positivo que sea mayor que 0 (>0). Si se establece en cero, los usuarios que inicien sesión cerrarán sesión inmediatamente. Si no se establece ningún valor, se usará el valor predeterminado interno de 1 mes.

Limitar sesiones de usuario a 1 por usuario

Limitar una sesión de usuario significa que un único ID de usuario no puede ser usado simultáneamente en diferentes navegadores o sesiones de navegador.

A partir de Clarive 7.6.1.4, Clarive puede limitar las sesiones de usuario a 1 por usuario por dirección IP. Esto significa que un usuario puede iniciar sesión en Clarive desde muchas sesiones de navegador desde la misma dirección IP, que típicamente corresponde a una única computadora (pero puede variar si los usuarios comparten un proxy o una conexión VPN).

# multiple es el modo predeterminado:
user_session_mode: multiple # permitido: 'multiple', 'ip' o 'unique'

Para limitar las sesiones de usuario a 1 por usuario en lugar de 1 por IP, agregue la siguiente línea a su archivo [config].yml:

user_session_mode: unique

Este modo es muy restrictivo y hará que los usuarios tengan que volver a iniciar sesión muy a menudo.

Una sesión por dirección IP

El modo de sesión ip limita las sesiones de usuarios por dirección IP. Esto significa que un usuario puede iniciar sesión muchas veces desde una sola IP, pero si abren sesiones de Clarive desde diferentes direcciones IP (ej., otra computadora o red) Clarive requerirá que el usuario vuelva a iniciar sesión.

user_session_mode: ip

Hay una limitación: Clarive no puede hacer coincidir direcciones IPv4 con IPv6, por lo que el usuario puede tener en realidad hasta dos sesiones, una desde una sola dirección IPv4 y otra desde una sola dirección IPv6. Esta es en realidad una situación rara, pero podría ser el caso para ciertas configuraciones de software, SO o red/router.

Sesiones ilimitadas

Para levantar el límite de sesión para todos los usuarios, volviendo al comportamiento predeterminado antes de Clarive 7.6.1.4:

user_session_mode: multiple

Esto permite que un usuario tenga sesiones ilimitadas abiertas desde muchas ubicaciones, IPs o navegadores.