Generación de la sesión
- Área: Gestión de Sesiones y Usuarios
- Tipo de pauta: Directriz
- Carácter de la pauta: Obligatoria
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ítulo | Carácter |
---|---|
Generación de credenciales de sesión | Obligatoria |
Nuevos objetos de sesión | Obligatoria |
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
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0592 | Identificador de sesión generado por el servidor en PHP | Ejemplo | Obligatorio |