Installation serveur Authentification SMTP – Postfix/SASL- centos6
Ce tutoriel a pour but de vous permettre d’installer rapidement un serveur SMTP par authentification se basant sur l’outil Postfix en configuration pour une distribution centos 6.
Installation de Postfix et de SASL sur CentOS :
# yum install postfix # yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 |
Occupons nous de la configuration, Ci dessous une configuration du modèle par default pour
/etc/postfix/main.cf :
# cat /etc/postfix/main.cf smtpd_banner = $myhostname ESMTP $mail_name myhostname = example.tld alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = example.tld mydestination = example.tld, localhost.localdomain, localhost transport_maps = relayhost = mynetworks = 127.0.0.1/32 #mynetworks = hash:/etc/postfix/networks smtpd_sasl_path = sasl2/smtpd.conf smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = example.tld smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes recipient_delimiter = + inet_interfaces = all smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_rbl_client opm.blitzed.org, reject_rbl_client list.dsbl.org, reject_rbl_client sbl.spamhaus.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client dul.dnsbl.sorbs.net |
Utilisez smtpd_recipient_restrictions pour vous assurer que votre serveur ne soit pas en Open Relay n’acceptant pas ainsi les spams généraux. Cela permettra d’accepter les connexion sans authentification uniquement que depuis le localhost. En dehors de ce réseau, toutes les connexions se feront par authentification.
Nous allons maintenant relier le processus ( daemon ) Postfix avec celui de Sasl
Dans /etc/postfix/master.cf :
# cat /etc/postfix/master.cf submission inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_security_options=noanonymous -o smtpd_sasl_local_domain=example.tld -o header_checks= -o body_checks= -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination -o smtpd_sasl_security_options=noanonymous,noplaintext -o smtpd_sasl_tls_security_options=noanonymous |
Maintenant, nous allons ajouter un utilisateur à la base de donnée Sasl
# saslpasswd2 -c -u $hostname $user |
Pour éviter tout problème, nous allons modifier les permissions de la base de donnée Sasl, autorisant ainsi Postfix à lire et écrire dans cette dernière.
# chown postfix:postfix /etc/sasldb2 # chmod 660 /etc/sasldb2 |
Configuration du daemon Sasl
# cat /usr/lib/sasl2/smtpd.conf pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 |
# cat /usr/lib/sasl/smtpd.conf pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 |
Il ne nous reste plus qu’à redémarrer les processus Sasl et Postfix.
# /etc/init.d/sasld restart # /etc/init.d/postfix restart |
Prêt à être utilisé !
Afin de valider le fonctionnement, utilisez les comptes crées dans la base de donnée Sasl, en vérifiant les logs présents dans : /var/log/mailog.
Afin de le faire fonctionner sous Centos 7:
– le fichier SMTPD.CONF doit être crée dans “/etc/sasl2”.
– SYSTEMCTL doit utlisé pour gérer le service SASL : saslauthd.