Forum général.général Cyrus SASL - IMAP : au plus simple...

Posté par  .
Étiquettes :
0
25
fév.
2005
Bonjour,

Je cherche à mettre en place Postfix / IMAP avec Cyrus. Laissons de côté Postfix, ce n'est pas le sujet. Pas contre Cyrus, j'ai du mal (beaucoup... trop).

Je suis dans un phase d'apprentissage, je ne cherche pas à monter quelque chose de gros, mais à maitriser les éléments un par un. Sachant que je ne suis pas débutant ni côté linux (compiler php/apache/python/zope... c'est du déjà fait, et en exploitation) ni côté messagerie (Exchange 2000 en exploitation, et j'ai un peu bricolé avec Postfix ces derniers jours pour voir).

Mon soucis c'est pour l'instant SASL. J'ai les dernières versions des sources (OpenSSL, cyrus-SASL, cyrus_IMAP), et je patauge. J'arrive à compiler en jouant avec les options, le pb n'est pas là. Il serait plutôt dans le choix intelligent des options... et la mise en oeuvre de SASL. C'est un plus gros morceau que je ne pensais. Je peux compiler, mais finalement je ne sais qu'en faire (ni si j'ai pris les bonnes option) :-(

Concrètement, j'aimerais savoir quoi faire pour compiler/configurer SASL et IMAP pour avoir quelque chose de fonctionnel, quelque chose de très simple, qui ne fonctionne pas avec les comptes locaux du système. Mais point de LDAP, MySQL, c'est pour plus tard tout ça. Après je pourrais compliquer les choses, interfacer avec Postfix, etc... mais j'ai vraiment besoin d'un coup de main pour la première mise en route (et non pas en root... désolé).

Les infos liées à Cyrus pour débutant sur le sujet sont difficiles trouver, et quelquefois "périmées", ce n'est pas faute d'avoir cherché.

J'utilise une debian sous coLinux en attendant d'avoir une machine. pour ça. Ce n'est pas un "vrai" système, mais au moindre soucis je remets un système propre à neuf en 5 minutes. La machine ça se mérite, et pour ça je dois savoir faire tourner cyrus :-)

Merci d'avance.
Sam.
  • # Une distribution ?!

    Posté par  . Évalué à 1.

    Pour moi le choix intelligent des options, c'est celui fait par... Debian ! Tu sembles être fier d'avoir compilé "php/apache/python/zope", mais ce n'est pas ca qui te fera comprendre en profondeur ses logiciels.

    Commence déjà par installer les version binaires de cyrus, teste les configurations, fait le fonctionner comme tu veux.

    Ne me fais pas dire ce que je n'ai pas dit : ca peut être intéressant de compiler les logiciels, dans une phase d'optimisation et de sécurisation, mais ca vient bien après l'optimisation de la configuration qui elle change rééllement les choses.

    Enfin si le problème vient de Cyrus, utilise un autre système comme courier, ou dovecot. Cyrus n'est un choix pertinent que dans le cas de très gros systèmes avec plusieurs milliers d'utilisateurs dont les boîtes sont réparties; et encore si tu as des boîtes partagées, sinon je préfère le mode proxy de courier.

    --
    Thomas
    • [^] # Re: Une distribution ?!

      Posté par  . Évalué à 2.

      Merci pour cette première réponse.

      Le but n'est pas de compiler en soit, mais de savoir utiliser les outils, de comprendre leurs fonctionnents, de savoir se débrouiller en cas d'incident. Compiler ce n'est pas le problème, ni le but, c'est une étape. Comprendre les principes de ces outils est le problème.

      La démarche n'est pas de faire fonctionner Cyrus, mais de savoir le mettre en oeuvre. Si mon but est d'avoir un petit serveur au final un jour (très vague), il y a surtout un objectif d'auto-formation, à titre personnel. Et ce dernier point est de loin le plus important.

      De plus, concernant les packages, ce sont des versions assez anciennes sous debian. Avec la dernière version en soit n'est pas une fin. Mais tant qu'à se former autant le faire avec des récentes.

      C'est un choix que de passer par le "cambouis", c'est l'objectif. Si je mets 2 semaines à tout faire fonctionner tant pis, mais je n'aurais pas installé un outils sans le comprendre.

      Et là je galère totalement avec SASL. Et ne pas comprendre SASL c'est très gênant pour la suite (IMAP et authentification SMTP). Alors pour SASL... à l'aide :-)

      Sam.
  • # re

    Posté par  . Évalué à 3.

    De base, l'implémentation de la libsasl utilise une base de données au format dbm pour les authentifications.
    Celle ci est généralement localisée dans /etc/sasldb(2) et tu n'as pas d'options particulières à mettre pr que la libsasl gère ça.

    Ensuite, en fonction des services qui utilisent la lib, tu peux avoir différentes configurations. Ces confs sont stockées par défaut dans /usr/lib/sasl(2)/<sasl-name>.conf ou sasl-name est le nom de l'appli (smtp, imap, ...).

    C'est dans ces fichiers de conf que tu peux préciser le mécanisme utilisé pr l'authentification avec la directive pwcheck_method.
    Par exemple, tu peux utiliser le daemon saslauthd comme méthode d'authentification (qui utilisera lui même le fichier /etc/sasldb).
    Pour utiliser ce daemon tu devras ajouter l'option --with--saslauthd.

    C'est ici aussi que tu pourras faire évoluer ton authentification vers ldap ou mysql.
    Dans ce cas la méthode à utiliser est auxprop. Ensuite, tu dis à auxprop d'utiliser le plugin pr mysql/ldap avec la directive auxprop_plugin: sql
    Pour compiler le plugin sql: --enable-sql

    Pour la sécurité, c'est pas mal d'utiliser des methodes autre que PLAIN pour l'authentification par exemple via cyrus-imap.
    Il faut donc activer les méthodes plus sûres:
    --enable-cram
    --enable-digest

    Voilà. J'espère avoir répondu vaguement à tes questions.
    Si t'en a d'autres, je veux bien eventuellement te donner un coup de main, tu peux me joindre sur irc.freenode.net, /query binarym.
    • [^] # Re: re

      Posté par  . Évalué à 1.

      Merci pour ces infos !

      Cela semble confirmer certains points, c'est pas mal. Par contre concernant l'authentification "de base" (sasldb) je ne sais trop comment l'exploiter.

      Ce qui m'a inquiété (et amené à me dire que je n'avais manifestement pas tout compris) c'est la mention fréquente de l'outil saslpasswd2 dans différents articles, forums ... trouvé lors de mes recherches. Ce dernier n'est pas produit lors des compils, même lorsque je demande à avoir saslauthd (qui lui est bien créé).

      Comment ça se gère cette sasldb ? Ce 'saslpasswd2' est bien utile ou j'ai pris une mauvaise piste ? Histoire de voir si je dois me concentrer sur un soucis de compilation, ou si au contraire je n'ai pas trouvé les bonnes infos pour exploiter mon résultat.

      Si je peux débloquer cette situation, je pense que je pourrais plus facilement avancer sans ennuyer tout le monde, ayant eu plus de facilité à trouver de la doc sur le reste.

      Encore merci.
      Sam.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.