af Daniel Gálvez Delgado 3 år siden
454
Mere som dette
Utilizar cookies no persistentes: la cookie usada por defecto, JSESSIONID, es no persistente.
Establecer un timeout de sesión. Se estable en la opción session-timeout del fichero web.xml.
Utilizar la opción secure en las cookies de sesión. Se controla mediante la opción secure del apartado cookie-config de web.xml.
Utilizar el protocolo HTTPS: se controla mediante la opción security-constraint del archivo web.xml.
Permitir únicamente el identificador en cookies. Se controla mediante la opción tracking-mode de web.xml
Renovar el identificador cuando se autentifica.
Deshabilitar el método TRACE.
Las cookies sólo han de ser accesibles a través del protocolo HTTP. Se configura mediante la opción http-only de web.xml
Aleatorización y longitud suficiente del identificador de sesión.
Medidas contra los errores en el cierre de sesión
Invalidar y no reutilizar los identificadores de sesión.
Utilizar cookies no persistentes.
Establecer un tiempo máximo de validez de sesión.
Establecer un timeout de sesión: se establece en la opción de configuración timeout de sessionState.
Utilizar la opción secure en las cookies de sesión: se activa mediante la opción requireSSL.
Asociar el identificador con información del usuario única, como su dirección IP.
Permitir únicamente el identificador en cookies: esta es la opción por defecto y se controla con la opción cookieless de sessionState.
Renovar el identificador, al autenticarse el usuario, o asignarlo únicamente después de la autenticación.
Deshabilitar el método TRACE
Las cookies sólo han de ser accesibles a través del protocolo HTTP y esto se define en el archivo web.config
Aleatorización y longitud suficiente del identificador de sesión: aunque se puede modificar la generación del identificador, a través de SessionIDManager.
Medidas ante aspectos propios de la implementación de la gestión de sesiones de PHP
Restringir el acceso al directorio session.save_path
Medidas contra el eavesdropping
Invalidar y no reutilizar los identificadores de sesión que se controla con la siguiente variable session.destroy.
Poner que las cookies solo estén registradas en el dominio y en la raíz web con las siguientes variables session.cookie_domain y session.cookie_path
Utilizar cookies no persistentes a través de la variable o session.cookie_lifetime.
Establecer un tiempo máximo de validez de sesión a través de la variable session.cookie_lifetime.
Establecer un timeout de sesión a través de la variable session.gc_maxlifetime.
Utilizar el protocolo HTTPS
Medidas contra la captura del identificador a través de ataques XSS
Desactivar el modo TRACE
Las cookies sólo han de ser accesibles a través del protocolo HTTP: activar la opción session.cookie_httponly
Medidas contra la predicción de sesión
añadir fuentes de datos para la generación del identificador mediante session.entropy_file y session.entropy_length.
Aleatorización y longitud suficiente del identificador de sesión
Medidas contra la fijación de sesión
Asociar el identificador a información del usuario única como su dirección IP.
Permitir únicamente la identificación con cookies aunque esta activada por defecto podemos controlarla con la siguiente variable esession.use_only_cookies.
Renovar el identificador al autenticarse el usuario o asignarlo únicamente después de la autenticación: utilizar la función session_regenerate_id.
El proceso de eliminación puede ser aleatorio y viene definido por dos variables que son session.gc_probability y session.gc_divisor o en su defecto por una tarea programada.
estos archivos tienen una estructura de nombre de variable, tipo de variable y valor.
No reutilizar los identificadores de sesión
Invalidar los identificadores de sesión ante un cierre de sesión
Utilizar cookies no persistentes
Establecer un tiempo máximo de validez de la sesión
Establecer un time-out en la sesión
Este tipo de ataque se utiliza en ordenadores compartidos en los que las sesiones se quedan abiertas y el atacante a través del historial de navegación intenta entrar en sitios y hacerse con la sesión de los sitios web visitados si aún no ha caudcado
Activar la opción de cookie segura para que esta vaya siempre por HTTPS
Utilizar HTTPS en vez de HTTP para que la petición este cifrada incluyendo la cookie de sesión
Este tipo de ataque trata de utilizar aplicaciones como Wireshark para escanear las peticiones de una red e intentar obtener los identificadores de sesión de estas.
Asociar el identificador a un dato único del usuario como su ip
Permitir únicamente el identificador en cookies
Cambiar el cookie de sesión cuando un usuario haga login
En este tipo de ataque el atacante intenta crear una sesión que nadie tenga asociada para intentar engañar a algún cliente para que la use y haga login con esta sesión
Deshabilitar el modo TRACE
Utilizando la etiqueta httponly en el servidor
Este tipo e ataque consiste en explotar vulnerabilidades que nos permitan inyectar código en el cliente para que recoja los identificadores de sesión y nos lo envié a un servidor a través de alguna petición remota y de esta forma podrías utilizar esta información para poder suplantar a los usuarios
Aleatorización y longitud suficiente del identificador de sesión: esto se logra al hacer un hash bastante largo combinando la dirección remota HTTP del cliente, información del cliente y datos aletorios.
Este tipo de ataque trata de intentar crear identificadores de sesión aleatorios con el fin de intentar obtener las de algún usuario y poder suplantar a este usuario.