Pour activer SMTPS sur Postfix, on va lui demander d'authentifier l'utilisateur avant de transmettre le mail.
Installer le paquet saslauthd apt-get install sasl2-bin et le configurer pour atteindre la base d'authentification souhaitée (LDAP, shadow...) dans /etc/default/saslauthd. Pour le support LDAP, ajouter le support des modules apt-get install libsasl2-modules.

Vérifier le fonctionnement de l'authentification avec la command testsaslauthd -u 'username' -r 'domaine' -p 'password' -f /var/spool/postfix/var/run/saslauthd/mux.

Ajouter postfix dans le group sasl pour qu'il puisse accéder au socket de connexion : usermod -a -G sasl postfix

Placer les certificats serveurs, la clé et de l'autorité de certification dans /etc/postfix/ssl.

Pour cela éditer /etc/postfix/master.cf et activer smtps :
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
Editer ensuite /etc/postfix/main.cf et ajouter/modifier :
# TLS parameters pour SMTPS
smtpd_tls_cert_file=/etc/postfix/ssl/smtps.pem
smtpd_tls_key_file=/etc/postfix/ssl/smtps.key
smtpd_tls_CAfile=/etc/postfix/ssl/smtps-chain.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_loglevel = 1
Créer un fichier /etc/postfix/sasl/smtpd.conf, et placer :
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
Rédémarrer postfix : /etc/init.d/postfix restart

Pour configurer le support SASL sur LDAP, il faut éditer le fichier /etc/saslauthd.conf :
ldap_servers: ldaps://ldap.domain.tld/
ldap_search_base: dc=domain,dc=tld
ldap_filter: (mail=%U@%r)
ldap_bind_dn: uid=compte,ou=people,dc=domain,dc=tld
ldap_bind_pw: xxx
Si une entrée doit rester vide, ne pas mettre la ligne du tout !
La doc de configuration est disponible sur http://www.opensource.apple.com/source/passwordserver_sasl/passwordserver_sasl-159/cyrus_sasl/saslauthd/LDAP_SASLAUTHD


Pour utiliser LDAPS, il faut gérer les certificats validés dans le fichier /etc/ldap/ldap.conf :
TLS_CACERT	/etc/postfix/ssl/chain.pem
TLS_REQCERT hard

Si on installe le paquet libsasl2-modules-ldap (qui est inutile), des erreurs apparaissent :
postfix/submission/smtpd: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb
postfix/submission/smtpd: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
Des cookies d'analyse d'audience sont utilisés sur ce site