Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + tecnología especializada

Limitar tiempo de sesión

Nuestros ethical hackers explican cómo evitar vulnerabilidades de seguridad mediante la configuración segura del tiempo de sesión en ASP.NET modificando de forma personalizada en tiempo de expiración de la sesión de los usuarios según requiera el caso.

Necesidad

Se requiere controlar el tiempo de sesión para una aplicación desarrollada en ASP.NET.

Contexto

A continuación se describe las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. Se desarrolla una aplicación en ASP.NET.

  2. El sistema debe cerrar una sesión si se presenta un tiempo de inactividad por parte del usuario.[1]

Solución

Cuando se desarrollan aplicaciones web, muchas veces es necesario modificar variables a través de distintas páginas. Para ello es posible utilizar métodos tales como GET y POST. Sin embargo, también es posible pasar parámetros o variables utilizando las variables de sesión. Una sesión es una variable creada dentro del servidor, la cual puede ejecutarse sin que el usuario tenga conocimiento de ello. Una variable de sesión tiene la ventaja de que puede ser accesible en cualquier parte del sitio Web sin que haya la necesidad de crear enlaces de pasos de variable o formularios con métodos GET o POST, de tal forma que el usuario no tendrá conocimiento de cómo ni cuándo se crea, ni dónde o cuándo se accede y ejecuta la variable. Cuando el usuario cambia de una página a otra mediante un enlace normal, tendrá la variable disponible para usarla. Sin la presencia de variables de sesión dentro de una aplicación web no sería posible implementar sistemas seguros de identificación.[2]

Las variables de sesión poseen un tiempo de caducidad, el cual se establece de forma predeterminada en el servidor. La sesión se elimina pasados 20 minutos de inactividad del usuario, a este periodo de tiempo antes de la eliminación de la sesión en el servidor se conoce como tiempo de espera de sesión. El tiempo de espera de sesión define el tiempo en el que un usuario puede mantenerse inactivo antes de que termine la sesión o de que el usuario tenga que iniciar sesión de nuevo. El tiempo de espera de sesión también incluye a los administradores que inician sesión a través del servicio del portal.[3]

Para controlar el tiempo de sesión de las aplicaciones desarrolladas en ASP.NET, se debe configurar el valor para el atributo timeout en el subelemento < sessionState> del elemento < system.web> dentro del archivo de configuración web.config.[4] El archivo debe tener las siguientes líneas:

Web.config
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.web>
         <sessionState timeout="# de minutos" />
    </system.web>
</configuration
  • NOTA: El valor establecido en el atributo timeout representa los minutos antes de que la sesión expire. El valor máximo que se puede configurar es de 525.601 minutos (1 año).




Haz un comentario

Estado de los servicios - Términos de Uso