Postfix + SASL
Par Pierre le dimanche 28 août 2005, 02:28 - Linux - Lien permanent
Un peu de technique sur ma p'tite Debian! 
En ayant marre de devoir reconfigurer mon client de messagerie a chaque fois que je transporte mon portable dans un réseau autre que le mien. En effet, comme tout serveur de messagerie bien configuré qui soit, j'ai bien évidemment interdit l'envoi de mail depuis un réseau autre que le mien afin d'éviter d'en faire un Open Relay pour les Spammeurs !
Afin de contourner ce problème il est possible d'envoyer des mails depuis l'extérieur, sous réserve d'avoir configuré Postfix afin de s'authentifier avant l'envoi du message. Pour cela, plusieurs méthodes existent.. j'ai pour ma part opté pour les librairies SASL
Installation
Ayant déjà un serveur postfix opérationnel, je n'ai eu qu''à installer les librairies et utilitaires SASL Ceci se fait de façon très simple sous debian :
apt-get install libsasl2 libauthen-sasl-cyrus-perl sasl2-bin postfix-tls libsasl2-modules
Configuration et mise en oeuvre
La partie configuration est un peu plus complexe.. il faut veiller à bien faire les choses dans l'ordre !
Configuration du démon saslauthd
Le fichier **/etc/default/saslauthd** est renseigné de la manière suivante si l'on souhaite utiliser le fichier shadow pour l'authentification. L'ensemble des mécanismes disponibles est donné par la commande suivante :
root@liberty:~# saslauthd -v saslauthd 2.1.19 authentication mechanisms: sasldb getpwent kerberos4 kerberos5 pam rimap shadow ldap
- Le fichier /etc/default/saslauthd
# This needs to be uncommented before saslauthd will be run automatically START=yes
# You must specify the authentication mechanisms you wish to use. # This defaults to "pam" for PAM support, but may also include # "shadow" or "sasldb", like this: # MECHANISMS="pam shadow"
MECHANISMS="shadow" PARAMS="-r -m /var/spool/postfix/var/run/saslauthd"
Le répertoire /var/spool/postfix/var/run/saslauthd est créé avec les permissions qui vont bien :
mkdir -p /var/spool/postfix/var/run/saslauthd chown postfix:sasl /var/spool/postfix/var/run/saslauthd
Cela permettra à Postfix de se connecter au démon.
Enfin le démon est démarré :
/etc/init.d/saslauthd start
Configuration de Postfix
Deux fichiers sont à prendre en compte :
On ajoute tout d'abord les ligne qui suivent au fichier /etc/postfix/main.cf :
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
Puis le fichier /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd mech_list: plain login
La configuration est rechargée :
postfix reload
Normalement tout est bon côté serveur, il ne reste plus qu'à configurer le client de messagerie. Pour ce faire, je prendrai le cas concret de celui que j'utilise quotidiennement, à savoir le fabuleux Thunderbird. Les configuration des autres logiciels du marché ne devrait pas beaucoup différer...!
Mise en oeuvre sur le client
Dans la boîte de configuration des comptes (menu Outils/Paramètre des Comptes), il suffit de sélectionner le serveur smtp et de renseigner le nom d'utilisateur avec celui qui correspond à votre adresse (c'est fait automatiquement à la création du premier compte) Il faudra juste le modifier si cela n'est pas juste.

Lors de l'envoi du premier mail, une boîte de dialogue apparaît pour que vous saisissiez le mot de passe du compte. Si vous ne sauvegardez pas le mot de passe, celui sera à resaisir à chaque envoi de mail.

Voilà, maintenant, il ne me reste plus qu'à tester si ça marche depuis l'extérieur... Je corrigerai les erreurs si nécessaire ! 
Commentaires
Bravo ! Excellent tutoriel !
Je cherchais la réponse depuis longtemps et je l'ai trouvé ici !
Vraiment Bravo Je te remercie énormément !
Salut,
C'est un bon tuto, mais comment il est configurer ici le login/mot de passe transite en clair sur le reso? Je me trompe?
De plus tu ne dis rien sur sasldb et sur la création d'un utilisateur pour l'authentification, ni sur la création de certificat.
Merci de ton aide!!
Bonsoir,
je voulais savoir si vous avez fait un tuto pour la mise en place d'un serveur mail (postfix+courier-imap) avec authentification LDAP, dans un cas ou les utilisateurs ont leurs home et qu'on veux stocké les emails de chaques utilisateur sur son home (Maildir). si vous avez fait ca je suis vraiment interessé par le tuto.
merci d'avance.