Gestión de Sesiones y Usuarios
El manejo de la sesión es uno de los aspectos críticos de la seguridad WEB. Veremos cómo es posible mejorar la seguridad en el control de acceso y la autenticación a través del manejo de las sesiones y de la información de los usuarios de nuestras aplicaciones.
Se detectan las siguientes vulnerabilidades significativas.
Fijación de sesión que intenta explotar la vulnerabilidad de un sistema que permite a una persona fijar el identificador de sesión de otra persona. La mayoría de ataques de fijación del período de sesiones están basados en la web, y la mayoría depende de los identificadores de sesión que han sido aceptados de URL o datos POST
Identificador de la sesión vulnerable, si no se reserva un tamaño adecuado el atacante, mediante técnicas de fuerza bruta atacante puede conocer el identificador de una sesión autenticada y por lo tanto hacerse con el control de la sesión.
Manejo de la información de sesión errónea, ya sea por estar en un espacio compartido o mal encriptada, el atacante puede obtener datos de la sesión de otro usuario.
- Ataques de proxys o cachés, las aplicaciones web deben especificar mecanismos para impedir estos ataques de tal manera que no sea posible suplantar sesiones de otros usuarios.
Objetivos
- Los usuarios autenticados tengan una asociación con sus sesiones robusta y criptográficamente segura.
- Se hagan cumplir los controles de autorización.
- Se prevengan los típicos ataques web, tales como la reutilización, falsificación e intercepción de sesiones.
Contenido del área
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0310 | Generación de la sesión | Libro de pautas | Directriz | Obligatoria |
LIBP-0311 | Gestión de la sesión | Libro de pautas | Directriz | Obligatoria |
LIBP-0312 | Desconexión de la sesión | Libro de pautas | Directriz | Obligatoria |
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0588 | Almacenamiento de objetos no serializables en HttpSession | Ejemplo | Obligatorio |
RECU-0591 | Cambio del identificador de sesión en PHP | Ejemplo | Obligatorio |
RECU-0589 | Configuración de la carpeta donde se almacenan las sesiones | Ejemplo | Obligatorio |
RECU-0590 | Denegación al JavaScript del navegador del acceso a las cookies | Ejemplo | Recomendado |
RECU-0665 | Eliminación de sesiones antes de un nuevo acceso en Java | Ejemplo | Obligatorio |
RECU-0592 | Identificador de sesión generado por el servidor en PHP | Ejemplo | Obligatorio |
RECU-0587 | Mal uso de la desconexión de sesión en Java | Ejemplo | Obligatorio |
RECU-0594 | Manejo de sesiones en Drupal | Referencia | Obligatorio |
RECU-0557 | Proteger los datos expuestos en sesión en php | Ejemplo | Recomendado |