web-dev-qa-db-fra.com

Pourquoi les sessions ne sont-elles pas exclusives à une adresse IP?

Compte tenu de la vulnérabilité XSS appropriée, un attaquant peut détourner la session de quelqu'un avec les données transmises depuis et vers le serveur.

Pourquoi les sessions ne sont-elles pas toujours exclusives à l'adresse IP sur laquelle elles ont été lancées? c'est-à-dire, quand un site Web/service devrait-il conserver une session authentifiée sur plusieurs adresses IP? Je ne sais pas pourquoi les sessions le permettent, donc je ne comprends pas comment c'est un chemin possible pour un attaquant.

47
user81147

Tout d'abord, la liaison d'une session à une adresse IP ne la rendra pas sécurisée car le serveur pourrait voir de nombreux utilisateurs différents comme utilisant la même adresse IP pour diverses raisons (tous les types de serveurs proxy, par exemple: client, proxy inverse, CDN, etc. ).

Deuxièmement, le même utilisateur peut très bien utiliser des adresses IP différentes pour la même session. Par exemple, quelqu'un pourrait basculer entre les réseaux à partir du même appareil.

Donc, comme il n'est pas efficace et qu'il cause des problèmes d'utilisation et d'évolutivité, ce n'est pas une fonctionnalité qui est généralement activée.

80
Stephane

À l'époque, AOL était connu pour équilibrer agressivement le trafic entre son réseau interne et Internet sur tous ses proxys de sortie. Cela signifiait qu'une demande pour une seule page Web et son contenu proviendrait de nombreuses adresses IP différentes: si vous épingliez une session à une seule adresse IP, la session s'arrêtait avant le chargement de la page "connexion réussie".

Ce type d'équilibrage de charge est moins courant, mais peut toujours se produire si quelqu'un utilise un proxy "accélérateur Web" ou un FAI moins techniquement incliné. Les décalages plus lents sont plus courants, comme si quelqu'un utilise un FAI sans fil et obtient une nouvelle adresse chaque fois qu'il change de station de base.

Épingler une session à une seule adresse IP peut rendre les attaques de vol de session plus difficiles, mais cela a pour effet d'empêcher certaines personnes d'utiliser entièrement votre service et de donner à d'autres une expérience dégradée.

14
Mark

Un attaquant peut se connecter au serveur à partir de la même adresse. Par exemple, un attaquant et la victime utilisent le même WiFi.
En outre, cela peut causer des problèmes à l'utilisateur s'il dispose de plusieurs itinéraires vers le serveur et que l'adresse IP de l'utilisateur subit une transition d'adresse réseau.

10
one

Une autre raison de ne pas lier des sessions à une adresse IP spécifique est une chose appelée "globes oculaires heureux" (oui, vraiment!).

Il s'agit essentiellement d'un mécanisme qui tente de détecter la meilleure façon d'établir une connexion lors de l'utilisation d'une connexion à double pile (IPv4 et IPv6 pris en charge).

Certains systèmes d'exploitation le font de manière très agressive, OS X par exemple tentera même (par exemple) de charger la page Web elle-même via IPv6, puis de charger certaines images via IPv4 pour obtenir une référence qui fonctionne mieux.

Et bien sûr, comme IPv4 et IPv6 utilisent des adresses complètement différentes que vous ne pouvez pas corréler, des choses vraiment étranges se produisent lorsque vous liez des adresses IP à des sessions.

Plus d'informations: https://en.wikipedia.org/wiki/Happy_Eyeballs

7
Tobias Mädel