mysql courier-imap pb auth, je n'en peux plus aidez moi - Installation - Linux et OS Alternatifs
Marsh Posté le 28-12-2004 à 16:28:33
tu peux pas passer un salt dans ton update MySQL ?
Marsh Posté le 28-12-2004 à 16:30:13
tomate a écrit : tu peux pas passer un salt dans ton update MySQL ? |
si si !!! mais comment le faire passer dans courier-imap quand tu lui dis que tu veux utiliser MYSQL_CRYPT_PASSWD ???
Marsh Posté le 28-12-2004 à 16:33:01
cedcox a écrit : si si !!! mais comment le faire passer dans courier-imap quand tu lui dis que tu veux utiliser MYSQL_CRYPT_PASSWD ??? |
effectivement
donc en gros, le client rentre son pass, est crypté dans un paquet SASL (j'ai bon ?)
ensuite courier doit crypter pour comparer avec ce qu'il y a en base
bon ok, mais comment le système fait ça d'habitude, genre pour login ?
Marsh Posté le 28-12-2004 à 16:36:28
oui tu as tout bon...
Et pour ce qui est de comment fait le système, moi aussi j'aimerai bien le savoir !!!!
Marsh Posté le 28-12-2004 à 16:37:55
cedcox a écrit : oui tu as tout bon... |
mais c'est pas plutôt les hash MD5 qui sont comparés (avec login) ??
j'ai un doute
Marsh Posté le 28-12-2004 à 16:18:15
Bonjour à tous,
J'ai installé tel que c'est écrit dans cet doc ( http://www.gentoo.org/doc/fr/virt-mail-howto.xml ) postfix - courier-imap - mysql - sasl - etc...
Tout fonctionne très bien, mais il y'a un petit détail qui me chagrine, les mots de passe sont en clair dans la base mysql.
J'ai trouvé d'autres docs qui sont casiment identiques à la première et qui semblent pouvoir intégrer le cryptage des mots de passe (ex: http://kirb.insanegenius.net/postfix.html )
Cependant, dans chaque doc, il est écrit qu'il ne faut pas confondre le cryptage de mot de passe MySql (password()) et le cryptage au niveau de l'OS (encrypt()) et que courier-imap lui utilise le cryptage de l'OS.
Soit ! Puisqu'il est écrit d'utiliser la fonction encrypt() voici la requete que j'utilise pour mettre à jour un enregistrement de la table utilisateurs :
UPDATE 'utilisateurs' set 'crypt' = encrypt("password" ) WHERE id = '1';
Le champ crypt devient donc : TS6SQtQUA5m3Q
Tout peut paraitre normal jusque là, mais si je réexcute la MEME requete, il devrait me donner le meme résultat !?
et bien le champ crypt devient : ScRpgNPWh3biw
Et à chaque fois le cryptage change...
Après avoir fouillé un peu sur le net, sur cette page ( http://dev.mysql.com/doc/mysql/fr/ [...] tions.html ) explique que encrypt est basé sur crypt() de l'OS. Or crypt() de l'OS lui a besoin de 2 arguments passwd et salt (dixit man crypt) ...
Bref, en gros, si le cryptage du mot de passe change tout le temps, il est fatal que l'authentification ne marche pas.
Mes questions en vrac sont :
Quelqu'un a t il déjà réussi à mettre les mots de passes en crypté dans une base mysql pour courier-imap ?
Pourquoi ma fonction encrypt() me renvoie t elle toujours un cryptage différent ?
Est ce que je me tire une balle maintenant ou plus tard ???
Cela va faire 24h non-stop que je suis dessus et je n'en peux plus, aidez moi