- 1
[Opened] JAuth : persistent : Ne serait t'il pas plus secure d'encrypter le login ?
Posted by sylvain261 on 01/21/2010 13:21
Salut,
Un des sites que je gère est actuellement victime de phishing. Les "méchants" ont, par un moyen ou un autre, récupéré les emails de mes internautes et leur envoie du phishing afin de tenter de leur soutirer de l'argent. C'est pas drôle du tout comme situation.
La question qui se pose c'est comment les "méchants" on récupéré les e-mails de nos internautes..
Qu'est ce que ca à voir avec JAuth me direz vous... Une intuition...
Coté sécurité le site concerné et, je crois, relativement bien protégé en terme système et en terme applicatif (un soin particulier a été mis à tout ce qui est ctrl des paramètres et autres), on a vérifié tous nos logs d'erreurs, on a vérifié nos logs SSH et FTP, on a vérifié nos données à la recherche de XSS, etc etc..
Une des explications possibles serait un détournement des cookies des internautes, en effet, pour nous le login est l'email et le login est stocké en clair dans les cookies créés par jAuth quand on active le mode persistent... Lire le contenu d'un cookie d'un autre domaine étant chose faisable en exploitant les failles de sécurité des navigateurs ou via du XSS...le fait que l'e-mail y apparaisse en clair n'est à mon avis pas une bonne chose.
Faute de certitude fasse à mon pb actuel, il me parraitrait opportun que le login stocké en cookie soit crypté par jAuth au même titre que le mot de passe.
Je pense préparer le patch correspondant mais souhaitait au préalable avoir le feedback de la communauté jelix :-)
[Opened] Re: JAuth : persistent : Ne serait t'il pas plus secure d'encrypter le login ?
Posted by laurentj on 01/21/2010 13:55
pour nous le login est l'email
Donc c'est votre faute.
Lire le contenu d'un cookie d'un autre domaine étant chose faisable en exploitant les failles de sécurité des navigateurs ou via du XSS..
Faudrait alors auditer vos données et votre code pour savoir si il y a effectivement des failles de type XSS.
il me parraitrait opportun que le login stocké en cookie soit crypté par jAuth
ce qui ne servira à rien si vous affichez quelque part sur le site le login (donc son email) de l'utilisateur, que le user soit loggué ou pas.
Et si des emails sont affichés sur le site, pas besoins de faille xss ou autre : suffit juste d'un crawler pour récupérer tous ces emails.
Vérifier aussi les mots de passe des comptes de ceux qui peuvent voir la liste des login/emails (les admins ou autre). si ce ne sont pas des mots de passe suffisement costaud (pas généré aléatoirement avec des lettres, chiffres et autres signes), ce ne serait pas étonnant d'avoir été piraté.
Si vous utilisez un système de droit, vérifier que dans votre code vous n'avez pas des actions accessibles par tout le monde alors qu'elles ne le devraient pas.
Bref, chiffrer le cookie avec le login, faut voir, mais ça ne sert pas à grand chose si à coté il y a des trous de tout les cotés.
[Opened] Re: JAuth : persistent : Ne serait t'il pas plus secure d'encrypter le login ?
Posted by laurentj on 01/21/2010 17:18
C'est tellement commun que le login soit l'email que je te trouve un peu dur quand tu dit "donc c'est votre faute".
commun ? j'en ai pas l'impression. Et puis personnellement je ne trouve pas ça commode pour le user, surtout quand il change d'email.
je n'ai pas dit non plus que votre appli était grosse passoire.
Mais il y a forcément une faille xss ou un truc comme ça quelque part. On ne récupère pas des cookies magiquement sans qu'il y ait un truc de ce genre. chiffre le cookie si tu veux, propose un patch, mais ça ne va pas forcément changer le problème. Il faut absolument trouver l'origine du problème.
Il y a peut être une fuite parmis les admin, qui ont leaké d'une manière ou d'une autre le contenu de la base ou des users (backup ou autre qui traine, accessible facilement etc...). Ou encore, routeur vérolé, machine compromise, avec un outil qui scanne les paquets http (mais là encore, tout ce qui est partie authentifiée devrait être sous https).
je répète, un vol de cookie ne se fait pas aussi facilement. Pas que je sache en tout cas. Ou alors je serais curieux de savoir par quel moyen magique on peut le faire.
incorporez vous des scripts JS externes ? (des services du genre google analytics, meteo, etc...) ?
[Opened] Re: JAuth : persistent : Ne serait t'il pas plus secure d'encrypter le login ?
Posted by laurentj on 01/29/2010 16:33
ok, ça me rassure d'un certain coté. Chiffrer le cookie n'est pas non plus une mauvaise idée, propose un patch si tu peux.
Et sinon, ce serait bien qu'on en sache quand même un peu plus sur ce trou (en privé si tu préfère : laurent@jelix.org) : est ce que ce trou est lié à un manque dans la doc, à une mauvaise pratique liée à l'utilisation de jelix ? Ce serait bien de le savoir pour soit améliorer la doc, soit améliorer jelix de manière à éviter autant que possible, l'apparition du même genre de trou que vous avez eu.
[Opened] Re: JAuth : persistent : Ne serait t'il pas plus secure d'encrypter le login ?
Posted by laurentj on 01/30/2010 19:47
ok très bien :-)
- 1