SASL pour Postfix
SASL est un daemon qui permet l’authentification smtp avec Postfix.
L’idée c’est : Postfix => SASL => PAM => MySQL
apt-get install sasl2-bin libsasl2-2 libsasl2-modules libsasl2-modules-sql libpam-mysql
on ajoute dans main.cf
nano /etc/postfix/main.cf # Support Authentification SASL smtpd_sasl_auth_enable = yes smtpd_sasl_path = smtpd smtpd_sasl_local_domain = $myhostname smtpd_tls_auth_only = no broken_sasl_auth_clients = yes smtpd_sasl_security_options = noanonymous smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_invalid_hostname, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl-xbl.spamhaus.org
On rajoute ceci dans le fichier /etc/postfix/sasl/smtpd.conf, histoire que Postfix puisse communiquer avec SASL
pwcheck_method: saslauthd mech_list: PLAIN LOGIN log_level: 5 allow_plaintext: true password_format: crypt auxprop_plugin: mysql sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: postfix sql_passwd: votre_mot_de_passe sql_database: postfix sql_select: SELECT password FROM mailbox WHERE username = '%u'
On modifie le fichier /etc/default/saslauthd pour que SASL communique avec PAM :
START=yes MECHANISMS="pam" OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
On supprime le répertoire /var/run/saslauthd et on crée un lien symbolique entre /var/spool/postfix/var/run/saslauthd et /var/run/saslauthd
rmdir /var/run/saslauthd/ ln -s /var/spool/postfix/var/run/saslauthd/ /var/run/
Il faut ensuite créer le fichier /etc/pam.d/smtp et mettre ceci dedans pour que PAM communique avec MySQL :
auth required pam_mysql.so host=127.0.0.1 user=postfix passwd=votre_mot_de_passe db=postfix table=mailbox usercolumn=name passwdcolumn=password crypt=1 account sufficient pam_mysql.so host=127.0.0.1 user=postfix passwd=votre_mot_de_passe db=postfix table=mailbox usercolumn=name passwdcolumn=password crypt=1
On rajoute l’utilisateur postfix au groupe sasl :
adduser postfix sasl
Enfin, on modifie le script de démarrage de Postfix pour qu’il tienne compte du fichier /etc/postfix/sasl/smtpd.conf :
nano /etc/init.d/postfix
FILES="etc/localtime etc/services etc/resolv.conf etc/hosts \ etc/nsswitch.conf etc/nss_mdns.config etc/postfix/sasl/smtpd.conf"
et on relance les services saslauthd et postfix
service saslauthd restart service postfix restart
pour tester la connexion:
testsaslauthd -u fred@domaine.tld

Hey ! Merci, super tuto !
Juste le dernier passage « Enfin, on modifie le script de démarage de Postfix pour qu’il tienne compte du fichier » il est ou ce script de démarrage ? Tu pourrais juste me donner le chemin du fichier car impossible de le trouver…