Postfix est le Service de Transfert de Courriel (MTA) par défaut d'Ubuntu. Il est conçu pour être sûr autant que facile et rapide à configurer. Il est compatible avec le MTA sendmail. Cette section détaille l'installation et la configuration de postfix. Elle explique aussi comment en faire un serveur SMTP utilisant une connexion sécurisée (afin d'assurer la sécurité des courriels envoyés).
Pour installerpostfix avec les fonctions SMTP-AUTH et Transport Layer Security (TLS), utilisez la commande suivante:
sudo apt-get install postfix
Appuyez simplement sur la touche Entrée à chaque fois que le processus d'installation vous posera une question, la configuration sera faite plus précisément lors de la prochaine étape.
Pour configurerpostfix, utilisez la commande suivante:
sudo dpkg-reconfigure postfix
L'interface utilisateur sera alors affichée. Dans chaque écran, sélectionnez les valeurs suivantes :
Ok
Site Internet
NONE
courriel.exemple.fr
courriel.exemple.fr, localhost.localdomain, localhost
Non
127.0.0.0/8
Oui
0
+
tous
![]() |
|
Remplacer courriel.exemple.fr par le nom d'hôte de votre serveur de messagerie. |
Il est maintenant temps de décider du format de boîte aux lettres à utiliser. Par défaut Postfix utilisera le format mbox. Plutôt que de modifier directement le fichier de configuration, vous pouvez utiliser la commande postconf pour régler tous les paramètres de postfix. Les paramètres de configuration seront enregistrés dans le fichier /etc/postfix/main.cf
. Si vous désirez modifier un réglage particulier par la suite, vous pourrez soit lancer la commande, soit le modifier directement dans le fichier.
Pour utiliser le format de boîte aux lettres Maildir :
sudo postconf -e 'home_mailbox = Maildir/'
![]() |
|
Les nouveaux messages seront stockés dans /home/nom_utilisateur/Maildir, vous devrez donc configurer votre agant de délivrance de courriel (MDA) pour qu'il utilise le même chemin. |
Les étapes suivantes montrent comment configurer postfix pour utiliser SASL pour l'authentification SMTP.
Configurer Postfix pour l'authentification SMTP avec SASL (saslauthd) :
sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' sudo postconf -e 'inet_interfaces = all'
Open the /etc/postfix/sasl/smtpd.conf
file and add the following lines to end of the file:
pwcheck_method: saslauthd mech_list: plain login
Ensuite, configurez les certificats numériques pour TLS. Lorsque le système vous posera des questions, suivez les instructions et répondez de manière appropriée.
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 chmod 600 smtpd.key openssl req -new -key smtpd.key -out smtpd.csr openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt openssl rsa -in smtpd.key -out smtpd.key.unencrypted mv -f smtpd.key.unencrypted smtpd.key openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 sudo mv smtpd.key /etc/ssl/private/ sudo mv smtpd.crt /etc/ssl/certs/ sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/
![]() |
|
Vous pouvez obtenir des certificats numériques à partir d'une autorité de certification. Il est également possible de créer ces certificats vous-même. Consultez la sous-section Créer un certificat autosignée pour plus de détails. |
Configurer Postfix pour faire du chiffrement TLS pour le courrier sortant et entrant à la fois :
sudo postconf -e 'smtpd_tls_auth_only = no' sudo postconf -e 'smtp_use_tls = yes' sudo postconf -e 'smtpd_use_tls = yes' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt' sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s' sudo postconf -e 'tls_random_source = dev:/dev/urandom' sudo postconf -e 'myhostname = mail.example.com'
Arrêter le fonctionnement en mode chroot pour le serveur SMTP. Repérez la ligne suivante dans le fichier /etc/postfix/master.cf
:
smtp inet n - - - - smtpd
et la modifier ainsi :
smtp inet n - n - - smtpd
![]() |
|
Après avoir exécuté toutes les commandes, le SMTP AUTH est configuré avec postfix. Le certificat auto-signé a été créé pour TLS et il est configuré avec postfix. |
Maintenant, le fichier /etc/postfix/main.cf
doit ressembler à ça.
La configuration initiale de postfix est complète. Exécutez la commande suivante pour démarrer le démon postfix :
sudo /etc/init.d/postfix start
Le démon postfix est maintenant installé, configuré et fonctionne correctement. Postfix prend en charge SMTP AUTH comme défini dans la RFC2554. Il est basé sur SASL. Cependant, il est toujours nécessaire de paramétrer l'authentification SASL avant de pouvoir utiliser SMTP.
libsasl2-2, sasl2-bin et libsasl2-modules sont nécessaires pour activer l'authentification SMTP avec SASL. Si vous ne l'avez pas encore fait, vous pouvez installer ces applications.
sudo apt-get install libsasl2-2 sasl2-bin
Quelque modifications sont nécessaires pour le faire fonctionner correctement. Comme Postfix s'exécute dans un environnement chroot dans /var/spool/postfix
, SASL doit être configuré pour s'exécuter dans ce me environnement (/var/run/saslauthd
devient /var/spool/postfix/var/run/saslauthd
) :
sudo mkdir -p /var/spool/postfix/var/run/saslauthd sudo rm -rf /var/run/saslauthd
Pour activer saslauthd, éditez le fichier /etc/default/saslauthd
, et modifiez ou ajoutez le paramètre START. Afin de configurer saslauthd pour qu'il s'exécute dans une fausse racine, ajoutez les paramètres PWDIR, PIDFILE et PARAMS. Pour finir, configurez le paramètre MECHANISMS selon votre souhait. Le fichier doit ressembler à cela :
# This needs to be uncommented before saslauthd will be run # automatically START=yes PWDIR="/var/spool/postfix/var/run/saslauthd" PARAMS="-m ${PWDIR}" PIDFILE="${PWDIR}/saslauthd.pid" # 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="pam"
![]() |
|
Si vous le préférez, vous pouvez utiliser shadow au lieu de pam. Cela sélectionne le transfert des mots de passe haché par MD5, ce qui est parfaitement sûr. Le nom d'utilisateur et le mot de passe nécessaires pour l'authentification seront ceux des utilisateurs du système que vous utilisez sur le serveur. |
Mettez ensuite à jour l'état de /var/spool/portfix/var/run/saslauthd
pour dpkg. Le script saslauthd init utilise ce paramètre pour créer le repertoire manquant avec les droits d'accès et le propriétaires adéquat :
sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
La configuration de SMTP AUTH est complète. Il est maintenant temps de démarrer et de tester la configuration. Vous pouvez exécuter la commande suivante pour démarrer le démon SASL :
sudo /etc/init.d/saslauthd start
Pour vérifier si SMTP-AUTH et TLS fonctionnent correctement, exécutez la commande suivante :
telnet courriel.exemple.fr 25
Après avoir établi la connexion au serveur de courriel postfix, saisissez :
ehlo courriel.exemple.fr
Si vous voyez les lignes suivantes parmi d'autres, alors tout fonctionne correctement. Saisissez quit pour quitter.
250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME