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. |
Les prochaines étapes sont la configuration de postfix pour qu'il utilise SASL pour le SMTP AUTH (authentification sur le serveur SMTP). Au lieu de modifier le fichier de configuration directement, vous pouvez utiliser la commande postconf pour ajuster tous les paramètres de postfix. Les paramètres de configuration sont enregistrés dans le fichier /etc/postfix/main.cf
. Par la suite si vous voulez modifier un paramètre en particulier, vous pouvez soit utiliser une commande, soit le changer manuellement dans le fichier.
Configurez Postfix pour qu'il demande une authentification (SMTP AUTH) en utilisant SASL (saslauthd) :
postconf -e 'smtpd_sasl_local_domain =' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'smtpd_sasl_security_options = noanonymous' postconf -e 'broken_sasl_auth_clients = yes' postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' postconf -e 'inet_interfaces = all'
Ouvrez le fichier /etc/postfix/sasl/smtpd.conf
et ajoutez les lignes suivantes à la fin du fichier :
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. |
Configurez Postfix pour qu'il utilise un chiffrement par TLS à la fois pour les courriels entrants et sortants :
postconf -e 'smtpd_tls_auth_only = no' postconf -e 'smtp_use_tls = yes' postconf -e 'smtpd_use_tls = yes' postconf -e 'smtp_tls_note_starttls_offer = yes' postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key' postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt' postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem' postconf -e 'smtpd_tls_loglevel = 1' postconf -e 'smtpd_tls_received_header = yes' postconf -e 'smtpd_tls_session_cache_timeout = 3600s' postconf -e 'tls_random_source = dev:/dev/urandom' postconf -e 'myhostname = courriel.exemple.fr'
![]() |
|
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, sasl2-bin et libsasl2-modules sont nécessaire pour activer l'authentification (SMTP AUTH) via SASL. Vous pouvez installer ces applications si vous ne les avez pas déjà installées.
sudo apt-get install libsasl2 sasl2-bin
Quelques modifications sont nécessaires pour que tout cela fonctionne correctement. Comme Postfix s'exécute dans un environnement restreint au répertoire /var/spool/postfix
, SASL à besoin d'être configuré pour qu'il s'exécute dans la fausse racine ( /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. |
Ensuite, mettez à jour l'"état" dpkg de /var/spool/portfix/var/run/saslauthd
. Le script d'initialisation de saslauthd utilise ce paramètre pour créer le répertoire manquant avec les permissions et le propriétaire appropriés :
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