¿Cómo proteger el ID de sesión?

1

En los últimos días he estado leyendo un poco sobre los ID de sesión y los métodos adoptados para evitar que las personas los intercepten y los utilicen para secuestrar una sesión.

Por lo que he leído, al enviar el ID de sesión en una cookie al navegador, se debe usar SSL / TSL para evitar que alguien detecte paquetes con el ID de sesión y esta cookie debe configurarse en HttpOnly para que no pueda leerse JavaScript.

Personalmente pensé que comprobar que la dirección IP del cliente desde la cual se recibe la identificación de la sesión es constante sería una buena medida adicional, pero he leído en línea argumentos conflictivos sobre personas que dicen que los proxies y otras cosas pueden interferir con esto.

Mis preguntas son:

  1. Es SSL / TSL y HttpOnly lo suficiente para estar seguro de que una sesión no puede ser secuestrado?
  2. ¿Hay alguna forma de usar las direcciones IP de los clientes como una capa adicional de protección?
  3. ¿Se pueden tomar más medidas para proteger una sesión?
  4. ¿Podemos estar 100% seguros de que alguien no pueda secuestrar una sesión?
pregunta K Martin 15.06.2016 - 09:54
fuente

1 respuesta

4
  

¿Es SSL / TSL y HttpOnly lo suficiente como para asegurarse de que una sesión no pueda ser secuestrada?

Esos son lo que hay que hacer y ofrecen una buena protección (pero no perfecta). Vea la pregunta cuatro.

  

¿Hay alguna forma de usar las direcciones IP de los clientes como una capa adicional de protección?

Solo verificando que la IP que creó creó un ID de sesión romperá su sitio para muchos usuarios, por ejemplo. para usuarios móviles que pueden no tener IP constante: s. (Tampoco protegerá a los usuarios si el atacante está en la misma LAN y comparte la IP de los usuarios). No se recomienda.

Lo que podrías considerar es usar la ubicación geográfica. Si una identificación de sesión creada para un usuario en México de repente es utilizada por alguien en China cinco minutos más tarde, podría ser una señal de que algo está mal. Por otro lado, esto romperá las cosas para las personas que usan Tor y algunas VPN: s que giran IP: s.

  

¿Se pueden tomar más medidas para proteger una sesión?

Sí. Asegúrate de generar ID de sesión larga y aleatoria: s con un CSPRNG.

Además, asegúrese de no ser vulnerable a la fijación de sesión al no aceptar el ID de sesión: s no lo ha generado usted mismo y / o cambiando el ID de sesión al iniciar sesión.

  

¿Podemos estar al 100% de que alguien no pueda secuestrar una sesión?

No. Nunca puede estar 100% seguro de nada con respecto a la seguridad (o cualquier cosa, para el caso). Por ejemplo, no hay forma de proteger a sus usuarios de alguien con acceso físico a su computadora, ya que eso le permitiría al atacante leer el ID de sesión de la cookie en el navegador.

    
respondido por el Anders 15.06.2016 - 10:35
fuente

Lea otras preguntas en las etiquetas