OVH Cloud OVH Cloud

[Sessions] Eviter le vol de sessions

3 réponses
Avatar
sylsau
Bonjour,

Je suis en train de mettre en place un site dans lequel j'utilise le
mécanisme des sessions pour stocker et passer des variables sur les
différentes pages du site.

Pour sécuriser un petit peu plus les sessions, je fais une
vérification sur l'IP (Au passage vaut il mieux faire la vérification
sur l'IP ou sur le nom d'hôte correspondant à cette IP?) du visiteur
tout au long des pages. En cas de différence, je déloggue
immédiatement cette personne qui accède à la page.

J'ai lu qu'en utilisant cette vérification sur l'IP, on sécurisait
plus les sessions et on atteignait un niveau de sécurité acceptable
avec les sessions.

J'aurais donc aimé savoir si vous pensez que cela est suffisant ou
s'il fallait rajouter une autre sécurité ?

Merci d'avance de votre aide.

Sylvain

3 réponses

Avatar
Olivier Miakinen
Bonjour,


Pour sécuriser un petit peu plus les sessions, je fais une
vérification sur l'IP (Au passage vaut il mieux faire la vérification
sur l'IP ou sur le nom d'hôte correspondant à cette IP?) du visiteur
tout au long des pages. [...]


Quoique ça ne réponde pas directement à tes questions, voici déjà deux
pointeurs dans la FAQ où il est question à la fois des sessions et de
l'adresse IP :

http://faqfclphp.free.fr/#rub7.4
http://faqfclphp.free.fr/#rub7.5


Cela étant, je laisse les personnes plus compétentes que moi sur le
sujet répondre plus concrètement aux questions que tu poses.

Avatar
P'tit Marcel
Je suis en train de mettre en place un site dans lequel j'utilise le
mécanisme des sessions pour stocker et passer des variables sur les
différentes pages du site.

Pour sécuriser un petit peu plus les sessions, je fais une
vérification sur l'IP (Au passage vaut il mieux faire la vérification
sur l'IP ou sur le nom d'hôte correspondant à cette IP?)



J'aurais donc aimé savoir si vous pensez que cela est suffisant ou
s'il fallait rajouter une autre sécurité ?


à mon avis, le plus important est la péremption de la session (càd
définir un time-out suffisamment bas).

Pour la vérification de l'IP : elle risque d'être peu efficace pour les
personnes connectées derrière un routeur avec translation d'IP. Je ne
vois pas l'intérêt de travailler avec le nom d'hôte et en plus la
résolution IP=>nom consommera de la resource.

Notre gourou forumesque a lapidairement conseillé au sujet des sessions:

"Quelle que soit la gestion de sessions que vous utilisiez sur votre
plateforme, elles doivent impérativement vous permettre de gérer un
time-out. Si votre application le nécessite, vous pouvez envisager de ne
pas conserver le même identifiant tout au cours de la même session pour
limiter la probabilité du vol d'identifiant (à la limite, mais ceci doit
vraiment se justifier, vous pouvez avoir un jeton-jetable, valable pour
une seule requête à chaque fois)."
(in http://www.saphirtech.com/securite_web_dynamique.pdf)


eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/

Avatar
John GALLET
Bonjour,

Pour sécuriser un petit peu plus les sessions, je fais une
vérification sur l'IP (Au passage vaut il mieux faire la vérification
sur l'IP ou sur le nom d'hôte correspondant à cette IP?)


Marchera jamais, pour ne citer qu'eux, tous les utilisatreurs d'AOL se
feront jeter car ils changent d'IP en permanence (proxys).

J'ai lu qu'en utilisant cette vérification sur l'IP, on sécurisait
plus les sessions et on atteignait un niveau de sécurité acceptable
avec les sessions.


Je l'affirme haut et fort : ceux qui écrivent ça sont des guignols, et
encore, c'est méchant pour le comparse de Gniafron.

Ca fait des années qu'on le répète, il est aberrant de continuer à lire
des âneries pareilles. Et on voit même ce genre de chose chez des gens a
priori sérieux, c'est ça le pire. Je ne peux absolument pas utiliser
l'interface Gandi.net depuis certains réseaux locaux qui ont plusieurs
adresses IP de sortie, je me fais jeter en permanence.

"que vous utilisiez sur votre
Tiens, une faute de frappe, faudra que je corrige ça.


(in http://www.saphirtech.com/securite_web_dynamique.pdf)
Ite missa est.


Pour complèter : il y a en fait très peu d'informations provenant du
client qui ne changent pas de manière sûre au cours d'une session. Le User
Agent, par exemple, ne doit pas changer a priori, ou alors c'est que toto
a décidé de faire un copié collé depuis son Netscape favori vers IE parce
que le machin est évidemment codé avec du spécifique non compatible. Si on
le jette, il fera on espère l'effort de se relogguer. Mais si la session
est volée par une XSS de type "je lis directement l'ID du site machin dans
mon log http à moi", on aura également accès au User Agent.

Se méfier du User Agent dans l'absolu, cf le même document.

HTH
JG