La distribution utilisée pour ce howto est une Debian avec les paquets sid suivants :

libsasl2, libsasl2-2, libsasl2-modules, sasl2-bin en version 2.1.22.dfsg1-1
postfix, postfix-mysql en version 2.3.4-1

Le paquet postfix-tls est maintenant obsolète (deprecated).

Je pars du principe que vous avez un postfix et un serveur IMAP de votre choix fonctionnels tous les deux.
Cette fois ci, la chaine utilisée se décompose de cette façon :

client >> postfix >> saslauthd >> serveur IMAP (local ou distant)

Installons les paquets suivants :

# aptitude install libsasl2 libsasl2-modules sasl2-bin openssl

Générons le certificat SSL valable 1 an pour le TLS de postfix :

# cd /etc/postfix
# openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 365 -x509

Répondez aux quelques questions demandées, la plus importante étant : "Common Name (eg, YOUR name) :", où il faudra indiquer le FQDN de votre machine (machine.domaine.org).
Corrigeons maintenant les droits sur le fichier de la clé pour éviter qu'un utilisateur mal intentionné vienne la lire.

# chmod o= /etc/postfix/smtpd.key

Ajoutez l'utilisateur postfix au groupe sasl, ceci permettra à postfix d'aller dialoguer avec saslauthd grâce au socket unix /var/run/saslauthd/mux.

# adduser postfix sasl

Passons maintenant à la configuration de saslauthd :
Editez le fichier /etc/default/saslauthd et modifiez les lignes correspondantes :

START=yes
MECHANISMS="rimap"
MECH_OPTIONS="nomdhote-ou-ip-de-votre-serveur-imap"
OPTIONS="-r -c -m /var/run/saslauthd"


Remarque pour ceux qui utilisent postfix en chroot : il suffit de créer préalablement le répertoire /var/spool/postfix/var/run/saslauthd et de changer en conséquence la ligne OPTIONS du fichier ci dessus.

Créez le fichier /etc/postfix/sasl/smtpd.conf contenant :

pwcheck_method: saslauthd
mech_list: plain login


Et finissons avec la configuration de postfix :

Editons le fichier /etc/postfix/main.cf, et ajoutons :

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key


Pour des raisons de compatibilité de postfix, il faut créer le lien symbolique suivant :

ln -s /etc/postfix/sasl/smtpd.conf \
/usr/lib/sasl2/smtpd.conf


Enfin, redémarrons le tout :

# /etc/init.d/postfix restart
# /etc/init.d/saslauthd restart


Voila ! Il ne vous reste plus qu'à configurer votre client mail favori pour se connecter en TLS avec authentification "PLAIN", y indiquer votre login et votre mot de passe.