View previous topic :: View next topic |
Author |
Message |
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Sun Apr 13, 2008 11:24 pm Post subject: [securité] site web dynamique, session et cookies |
|
|
Bonjour,
Je post ici à tout hazard ... ^^
J'ai une petite question qui ne trouve pas réponse sur le net ... Mon applic web (Java) utilise, automatiquement, des cookies pour créer une "session http". Cette session reste valide 30 minutes et après, il faut se relogger. Un cookies (comme on me l'a fait remarquer dans la section des howto) est automatiquement créé par Java (via les implémentations des class standard de Java EE).
Cette session de 30 minutes m'embête, et il y a pas que moi d'ailleur
Donc, j'aimerais augmenter cela .... mais voilà, je pourrais le mettre sur 1 semaine mais ... il "pourrait" y avoir des problèmes de sécurité ... En effet, le cookies (avec une session d'une semaine ) pourrait être "copié" vers un autre PC ... Donc, je me dis qu'un user pourrait prendre le controle de l'administrateur sans avoir entré le login/pass.
Selon ce que j'en ai compris (de la doc lue sur le net), le cookies contient une chaine de caractère qui, elle-même, correspond à un objet session http. Pour avoir accès automatiquement (session existante), il faut :
- avoir le cookies
- avoir la bonne chaine dans ce cookies (lié à une session existante)
- utiliser la bonne IP
- utiliser le bon navigateur
Donc, en gros, si je me connecte d'un pc (derrière un nat) qui a fait une copie du cookies (tout en utilisant le meme navigateur), alors l'utilisateur sera connecté Juste ? (marche pas si le pc est sur le réseau local ... faut, par exemple, que le serveur soit derrière un nat et que plusieurs pc utilise la meme ip publique)
Cela pose un grave problème de sécurité si on obtiens ce cookie; c'est pourquoi, la session d'une semaine est très exégérément dangereuse.
J'aurais voulu savoir si je suis pas entrain de rêver (en mal) et avoir un avis sur "comment que l'on fait" pour pas se faire c**** avec une session de 30 minutes
Merci d'avance _________________ Mon MediaWiki perso : http://pix-mania.dyndns.org |
|
Back to top |
|
|
avendesora Veteran
Joined: 16 Aug 2002 Posts: 1739 Location: Betelgeuse vicinity
|
Posted: Sun Apr 20, 2008 8:52 am Post subject: |
|
|
Ton serveur java doit avoir un réglage qqpart pour changer la durée de vie des sessions.
(Pour tomcat c'est dans le web.xml par ex - voir la doc de ton serveur.)
Mais effectivement, tu es toujours à la mercie du cookie hijacking. (Pense aux trucs genre
internet café où les cookies seraient pas nettoyés après chaque client...)
C'est éventuellement possible de "mitiger" le risque en laissant faire tous les trucs
normaux avec juste le cookie (et ta session de 1 sem), mais en demandant de se ré-authentifier
si la session à plus de x minutes pour les trucs plus importants genre modif profil ou actions
admin. Pas toujours simple à implémenter. |
|
Back to top |
|
|
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Mon Apr 21, 2008 3:13 pm Post subject: |
|
|
Merci pour ta réponse, c'est vrai que ca pourrait être une bonne idée de changer la durée de la session selon l'action ou le user; mais il est vrai aussi que pour l'implémentation, ca doit pas être facile. Je note ca _________________ Mon MediaWiki perso : http://pix-mania.dyndns.org |
|
Back to top |
|
|
DuF Advocate
Joined: 09 Dec 2002 Posts: 2687 Location: Paris
|
Posted: Wed Apr 23, 2008 10:07 pm Post subject: |
|
|
Je ne connais pas ton serveur java, mais logiquement, dans ton cookie il est possible de gêrer l'avancement de l'utilisateur (chaque écran qu'il aura passé feront évoluer le cookie) et donc à partir de là tu peux dire, si quelqu'un arrive sur tel ou tel type d'écran il a le droit ou non de continuer l'enchainement ou pas...
En gros, tu arrives sur un écran d'admin, c'est la rêgle du timeout à durée courte qui s'applique, si c'est sur une page de consultation publique tu peux avoir une rêgle sur le timeout du cookie laxiste... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|