Lab : Configuration Messagerie Postfix
Cours : Administration Réseaux et Systèmes
Classe : IRIC 1
Professeur : Dr. Yassine Maleh
Introduction
Postfix est un agent de transfert de courrier (MTA), une application utilisée pour envoyer et recevoir des
courriels. Elle peut être configurée de manière à ce qu'elle puisse être utilisée pour envoyer des courriels
par application locale uniquement. Cela est utile dans les situations où vous devez régulièrement
envoyer des notifications par courrier électronique à partir de vos applications, ou simplement en cas
de trafic sortant important qu'un fournisseur de services de courrier électronique tiers n'autoriserait pas.
C'est également une alternative plus légère à l'exploitation d'un serveur SMTP complet, tout en
conservant les fonctionnalités requises.
Dans ce lab, vous allez installer et configurer Postfix en tant que serveur SMTP pour l'envoi uniquement.
Étape 1 — Installer Postfix
Dans cette étape, vous allez installer Postfix. Le moyen le plus rapide est d'installer le
paquet mailutils qui regroupe Postfix avec quelques programmes supplémentaires que vous
utiliserez pour tester l'envoi de courrier électronique.
Tout d'abord, mettez à jour la base de données des paquets :
• sudo apt update
Copy
Ensuite, installez Postfix en exécutant la commande suivante :
• sudo apt install mailutils
Copy
Vers la fin du processus d'installation, la fenêtre de configuration de Postfix vous sera présentée :
2021-2022 1
L'option par défaut est Site Internet. C'est l'option recommandée pour votre cas d'utilisation, donc
appuyez sur TAB, puis ENTRÉE. Si vous ne voyez que le texte de la description, appuyez sur TAB pour
sélectionner OK, puis sur ENTER.
S'il ne s'affiche pas automatiquement, exécutez la commande suivante pour le démarrer :
• sudo dpkg-reconfigure postfix
Copy
Après cela, vous obtiendrez une autre invite de configuration concernant le nom de messagerie du
système :
Le nom de messagerie du système doit être le même que celui que vous avez attribué à votre serveur
lors de sa création. Lorsque vous avez terminé, appuyez sur TAB, puis sur ENTRÉE.
2021-2022 2
Vous avez maintenant installé Postfix et vous êtes prêt à commencer à le configurer.
Étape 2 — Configurer Postfix
Au cours de cette étape, vous configurerez Postfix pour envoyer et recevoir des courriers électroniques
uniquement à partir du serveur sur lequel il fonctionne, c'est-à-dire à partir de localhost.
Pour que cela arrive, Postfix doit être configuré pour écouter uniquement sur l’interface de bouclage,
l'interface de réseau virtuel que le serveur utilise pour communiquer en interne. Pour effectuer les
changements, vous devrez modifier le fichier de configuration principal de Postfix appelé main.cf,
stocké sous etc/postfix.
Ouvrez-le pour l'éditer à l'aide de votre éditeur de texte préféré :
• sudo nano /etc/postfix/main.cf
Copy
Trouvez les lignes suivantes :
/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .
Copy
Définissez la valeur du paramètre inet_interfaces à loopback-only :
/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .
Copy
Une autre directive que vous devrez modifier est mydestination, qui est utilisée pour spécifier la liste
des domaines qui sont livrés via le transport de distribution de courrier local_transport. Par défaut,
les valeurs sont similaires à celles-ci :
/etc/postfix/main.cf
. . .
mydestination = $myhostname, your_domain, localhost.com, , localhost
. . .
Copy
Changez la ligne pour qu'elle ressemble à ceci :
2021-2022 3
/etc/postfix/main.cf
. . .
mydestination = localhost.$mydomain, localhost, $myhostname
. . .
Copy
Si votre domaine est en fait un sous-domaine, et que vous souhaitez que les messages électroniques
aient l'air d'avoir été envoyés depuis le domaine principal, vous pouvez ajouter la ligne suivante à la fin
de main.cf:
/etc/postfix/main.cf
...
masquerade_domains = your_main_domain
Copy
Le paramètre facultatif masquerade_domains spécifie pour quels domaines la partie de sous-domaine
sera supprimée dans l'adresse e-mail.
Lorsque vous avez terminé, enregistrez et fermez le fichier.
Note : Si vous hébergez plusieurs domaines sur un seul serveur, les autres domaines peuvent également
être transmis à Postfix en utilisant la directive mydestination.
Ensuite, redémarrez Postfix en exécutant la commande suivante :
• sudo systemctl restart postfix
Copy
Vous avez configuré Postfix pour n'envoyer des courriels qu'à partir de votre serveur. Vous allez
maintenant le tester en envoyant un exemple de message à une adresse électronique.
Étape 3 — Tester le serveur SMTP
Au cours de cette étape, vous allez tester si Postfix peut envoyer des courriels à un compte de messagerie
externe en utilisant la commande mail qui fait partie du paquet mailutils que vous avez installé lors
de la première étape.
Pour envoyer un courriel de test, exécutez la commande suivante :
• echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
Copy
Vous pouvez changer le corps et l'objet du courriel à votre convenance. N'oubliez pas de
remplacer your_email_address avec une adresse électronique valide à laquelle vous pouvez accéder.
Maintenant, vérifiez l'adresse électronique à laquelle vous avez envoyé ce message. Vous devriez voir le
message dans votre boîte de réception. S'il n'y est pas, vérifiez votre dossier de courrier indésirable. À
ce stade, tous les courriers électroniques que vous envoyez ne sont pas cryptés, ce qui fait penser aux
fournisseurs de services qu'il s'agit probablement de spam. Vous mettrez en place le cryptage plus tard,
à l'étape 5.
2021-2022 4
Si vous recevez une erreur de la part du mail ou que vous n'avez pas reçu de message après une période
prolongée, vérifiez que la configuration de Postfix que vous avez modifiée est valide et que le nom de
votre serveur et le nom d'hôte sont définis pour votre domaine.
Notez qu'avec cette configuration, l'adresse dans le champ de From pour les courriels de test que vous
envoyez sera sous la forme your_user_name@your_domain, où your_user_name est le nom
d'utilisateur de l'utilisateur du serveur sous lequel vous avez exécuté la commande.
Vous avez maintenant envoyé un courriel à partir de votre serveur et vérifié qu'il a bien été reçu. Dans
l'étape suivante, vous mettrez en place une redirection de courrier électronique pour root.
Étape 4 — Transférer le courrier système
Au cours de cette étape, vous configurerez le transfert de courrier électronique pour
l'utilisateur root afin que les messages générés par le système qui lui sont envoyés sur votre serveur
soient transférés à une adresse électronique externe.
Le fichier /etc/aliases contient une liste de noms alternatifs pour les destinataires du courrier
électronique. Ouvrez-le pour le modifier :
• sudo nano /etc/aliases
Copy
Dans son état par défaut, il ressemble à ceci :
/etc/aliases
# See man 5 aliases for format
postmaster: root
Copy
La seule directive présente précise que les courriers électroniques générés par le système sont envoyés
à root.
Ajoutez la ligne suivante à la fin du fichier :
/etc/aliases
...
root: your_email_address
Copy
Avec cette ligne, vous précisez que les courriels envoyés à root finissent par être transférés à une
adresse électronique. N'oubliez pas de remplacer your_email_address avec votre adresse
électronique personnelle. Lorsque vous avez terminé, enregistrez et fermez le fichier.
Pour que le changement prenne effet, exécutez la commande suivante :
• sudo newaliases
Copy
L'exécution de newaliases permet de constituer une base de données des alias utilisés par la
commande mail, qui sont extraits du fichier de configuration que vous venez d'éditer.
2021-2022 5
Testez que l'envoi de courriels vers root fonctionne, en exécutant :
• echo "This is the body of the email" | mail -s "This is the subject line" root
Copy
Vous devriez recevoir le courriel à votre adresse électronique. S'il n'y est pas, vérifiez votre dossier spam.
Dans cette étape, vous avez mis en place le transfert des messages générés par le système vers votre
adresse électronique. Vous allez maintenant activer le cryptage des messages de sorte que tous les
courriers électroniques envoyés par votre serveur sont à l'abri de toute altération pendant leur transit et
seront considérés comme plus légitimes.
Étape 5 — Activation du cryptage SMTP et test avec service Google
Pour ce tuto nous allons utiliser le serveur SMTP de Google.
Une fois l’installation terminée nous allons configurer Postfix. Editez le fichier « /etc/postfix/main.cf »
avec la commande :
sudo gedit /etc/postfix/main.cf
Et rajoutez ces lignes à la fin:
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
Créer un mot de passe et des fichiers DB
Créez le fichier sasl_passwd qui stockera nos identifiants.
sudo nano /etc/postfix/sasl_passwd
Tapez la ligne suivante dans le fichier /etc/postfix/sasl_passwd
[smtp.gmail.com]:587
[email protected]:password
Remplacez username et password avec vos informations.
Enregistrez le fichier et quitter.
Créez un fichier de base de données de hachage pour Postfix avec la commande postmap.
sudo postmap /etc/postfix/sasl_passwd
Il devrait maintenant y avoir un fichier appelé sasl_passwd.db dans le répertoire /etc/postfix/.
Pour plus de sécurité, nous n'autoriserons que l'utilisateur root à lire et à écrire dans
sasl_passwd et sasl_passwd.db
2021-2022 6
sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Signer le certificat
Nous allons maintenant créer le certificat.
cat /etc/ssl/certs/thawte_Primary_Root_CA.pem | sudo tee -a /etc/postfix/cacert.pem
Il devrait maintenant y avoir un fichier de certificat appelé cacert.pem dans /etc/postfix
Envoyer un email Test
Nous allons maintenant envoyer un message électronique de test. Veillez à remplacer
[email protected] par votre propre adresse électronique.
echo "Test Email depuis Postfix" | mail -s "Email test Postfix" [email protected]
N'oubliez pas de vérifier votre dossier spam.
Si vous n'avez toujours pas reçu de courrier, vérifiez le journal des erreurs de courrier.
sudo tail /var/log/mail.log
Si le log mail est vide ou n'existe pas, essayez d'analyser le syslog. Ceci retournera les 50 dernières
entrées pour postfix.
sudo tail -f -n 50 /var/log/syslog | grep postfix
Si le syslog est vide et que vous n'avez toujours pas reçu de courriel de test, il est possible que le courriel
de test ait été rejeté par le serveur destinataire. Vous devez vérifier si un message a été renvoyé dans
votre dossier de courrier.
Permettre des applications moins sûres
Si Gmail ne permet pas à postfix de se connecter via SMTP, vous devrez peut-être activer "Autoriser les
applications moins sécurisées" sur votre compte Gmail.
Consultez le lien: Allow less secure apps to access your Gmail account
Conclusion
Vous disposez maintenant d'un serveur de courrier électronique à envoi unique, alimenté par Postfix. Le
cryptage de tous les messages sortants est une bonne première étape pour que les fournisseurs de
services de messagerie électronique ne marquent pas carrément vos messages comme du spam. Si vous
faites cela dans un scénario de développement, alors cette mesure devrait suffire.
Travail demandé
Dans ce lab, nous avons appris à configurer le serveur DNS sur une distribution linux. Vous êtes amenés
installer et configurer Postfix en tant que serveur SMTP à émission seul et le tester avec le relais SMTP
de Google.
2021-2022 7
2021-2022 8