Generación de la sesión

LIBP-0310 (Libro de pautas)

Se recomienda seguir las siguientes indicaciones a la hora de generar las sesiones

La generación de sesiones es una técnica o herramienta que permite vincular información a un usuario concreto durante el proceso de visita a un sitio Web. Se utiliza para autenticar y seguir la actividad de los usuarios en aplicaciones que tienen partes privadas para las que se necesita algún tipo de control de acceso.

Pautas

TítuloCarácter
Generación de credenciales de sesión Obligatoria
Nuevos objetos de sesiónObligatoria
Identificadores de sesión Obligatoria

Generación de credenciales de sesión

Proteger los datos importantes de las sesiones, mediante algoritmos de encriptación robustos.

Si un manejador de sesiones emite credenciales predecibles, se está facilitando la labor de los atacantes, ya que éstos pueden predecir las credenciales y atacar fácilmente la sesión. Por este motivo, las credenciales de sesión deben ser únicas, no predecibles, y resistentes a ingeniería inversa. Para ello debe generarse la credencial en base a un origen aleatorio (como un generador de números aleatorio, Yarrow, EGADS, etc.). Adicionalmente, el algoritmo de credencial de sesión nunca debería basarse en información personal como nombre de usuario, contraseña, dirección postal, etc..

Del mismo modo, es recomendable relacionar las credenciales de sesión con una instancia de cliente HTTP específica (identificador de sesión y dirección IP) para prevenir ataques de secuestro y reutilización de sesiones.

Un ejemplo de mecanismo de este tipo es el uso de credenciales de páginas, que son únicas para cualquier página generada, que puedan ser relacionadas con credenciales de sesión en el servidor.

Nuevos objetos de sesión

Comprobar que el usuario no está en el sistema.

Cuando inicie un nuevo objeto de sesión para un usuario, asegúrese que se encuentra “fuera del sistema” y no le haya sido otorgado ningún rol

Identificadores de sesión

Evitar los identificadores de sesión cortos, asegurando que tienen una longitud de, al menos, 128 bits.

Se recomienda que los identificadores de sesión deban de ser de, al menos, 128 bits de longitud para evitar ataques de fuerza bruta sobre las sesiones. Un identificador de sesión más corto deja la aplicación abierta a ataques de fuerza bruta sobre la sesión.

Si un atacante puede adivinar o robar la identificación de una sesión, entonces puede ser capaz hacerse cargo de la sesión del usuario (secuestro de sesión). El número de posibles identificadores de sesión aumenta con una mayor longitud del campo identificación de la sesión, por lo que es más difícil adivinar o robar un ID de sesión.

Contenidos relacionados

Recursos