Remarque :
- Ce tutoriel est disponible dans un environnement de laboratoire gratuit fourni par Oracle.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par celles propres à votre environnement cloud.
Apprendre à installer et configurer Postfix avec STARTTLS sur Oracle Linux
Introduction
Ce tutoriel vous explique comment installer et configurer le logiciel de serveur de messagerie Postfix sur un système Oracle Linux pour vous permettre d'envoyer des messages sur votre réseau avec le chiffrement et la vérification STARTTLS. Ce tutoriel s'adresse aux utilisateurs d'Oracle Linux 8 ou version ultérieure.
Postfix est un serveur MTA (Mail Transfer Agent) développé en remplacement de sendmail
, qui est le serveur MTA par défaut sur de nombreux systèmes Linux plus anciens. Grâce à son architecture modulaire basée sur le pipeline, Postfix est polyvalent et s'intègre facilement à de nombreux autres services, tels que le spam et le traitement antivirus, ainsi qu'aux logiciels de banque de messages, tels que le serveur IMAP et POP de Dovecot.
Pour sécuriser le service au minimum, vous devez configurer Postfix de sorte qu'il prenne en charge STARTTLS afin d'effectuer la vérification et le cryptage TLS/SSL sur une connexion SMTP. L'utilisation de STARTTLS permet de protéger l'intégrité de vos communications.
Ce tutoriel explique comment configurer Postfix pour qu'il fonctionne principalement comme un serveur SMTP (Simple Mail Transfer Protocol).
Objectifs
A la fin de cet atelier, vous pourrez :
- Définir le nom d'hôte du serveur
- Installer Postfix avec les règles de pare-feu appropriées
- Générer un certificat TLS auto-signé
- Configurer Postfix pour envoyer des courriels et vérifier l'intégrité avec STARTTLS
- Envoyer des courriels de test à l'aide de
mailx
- Vérifier la file d'attente de messages Postfix
Prérequis
- N'importe quel système avec Oracle Linux 8
Installer Postfix
Remarque : lorsque vous utilisez l'environnement d'exercices gratuits, reportez-vous à Notions de base d'Oracle Linux Lab pour obtenir des instructions de connexion et d'utilisation.
-
Installez le package
postfix
sur votre instance à l'aide du gestionnaire de packages, comme suit :sudo dnf install -y postfix
-
Autorisez le trafic SMTP via le pare-feu du serveur :
sudo firewall-cmd --zone=public --add-service=smtp --permanent
sudo firewall-cmd --reload
-
Enlevez le package
sendmail
s'il est présent :sudo dnf remove -y sendmail
-
Définissez Postfix comme agent de transfert de courrier par défaut :
sudo alternatives --set mta /usr/sbin/sendmail.postfix
-
Activez et démarrez le service Postfix :
sudo systemctl enable --now postfix
Génération d'un certificat TLS
Dans le cadre de cet exercice, générez et utilisez un certificat TLS auto-signé. Dans un environnement de production, Oracle recommande vivement d'utiliser un certificat TLS/SSL signé par une autorité de certification externe. Pour plus d'informations, reportez-vous à https://docs.oracle.com/en/operating-systems/oracle-linux/certmanage/.
-
Installez le package
openssl
sur votre instance à l'aide du gestionnaire de packages, comme suit :sudo dnf install -y openssl
-
Créez une clé privée RSA et un certificat de test X.509 auto-signé :
hostname=$(hostname -f)
sudo openssl req -new -x509 -days 1 -nodes -newkey rsa:2048 -keyout private.key \ -out public.cert -subj "/C=US/ST=Ca/L=Sunnydale/CN=$hostname"
-
Copiez votre clé privée RSA dans le répertoire
/etc/pki/tls/private
:sudo cp private.key /etc/pki/tls/private/
-
Copiez votre certificat de test X.509 autosigné dans le répertoire
/etc/pki/tls/certs
:sudo cp public.cert /etc/pki/tls/certs/
Configurer Postfix avec STARTTLS
-
Créez une sauvegarde pour la configuration Postfix par défaut :
sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
-
Modifiez le fichier de configuration,
/etc/postfix/main.cf
, pour qu'il contienne des lignes similaires à ce qui suit :sudo tee -a /etc/postfix/main.cf > /dev/null <<EOF myhostname = $(hostname -f) myorigin = \$myhostname inet_interfaces = all inet_protocols = all mydestination = \$myhostname, localhost mynetworks = 192.168.1.0/24, 127.0.0.0/8, 10.0.0.0/24 home_mailbox = mail/ # Additional STARTTLS configuration settings tls_random_source=dev:/dev/urandom # SMTPD TLS configuration for incoming connections smtpd_use_tls = yes smtpd_tls_cert_file = /etc/pki/tls/certs/public.cert smtpd_tls_key_file = /etc/pki/tls/private/private.key smtpd_tls_security_level = may # SMTP TLS configuration for outgoing connections smtp_use_tls = yes smtp_tls_cert_file = /etc/pki/tls/certs/public.cert smtp_tls_key_file = /etc/pki/tls/private/private.key smtp_tls_security_level = may EOF
Remarque : l'envoi de courriels à partir d'un seul hôte est suffisant pour les besoins de cet exercice. Dans un environnement de production, vous devez définir
mydomain
comme nom de domaine inscrit à partir duquel vous souhaitez envoyer des courriels. Pour plus d'informations, consultez les pages du manuel Postfix. -
Redémarrez le service Postfix :
sudo systemctl restart postfix
Envoyer des courriels de test
-
Installez le client de messagerie
mailx
:sudo dnf install -y mailx
-
Envoyez un e-mail test à votre propre adresse e-mail externe. Mettez à jour le nom d'hôte dans la commande
mailx
afin qu'il corresponde à l'instance à partir de laquelle vous envoyez un courriel :hostname=$(hostname -f)
echo "External email" | mailx -r root@$hostname -s "Test email subject" admin@example.com
Remarque : l'utilisation de
mailx
pour envoyer des courriels de test à partir d'un seul hôte est suffisante dans le cadre de cet exercice. Dans un environnement de production, vous devez utiliser le domaine inscrit que vous avez configuré dans/etc/postfix/main.cf
au sein de l'adresse électronique de l'expéditeur, par exempleroot@example.com
. -
Recherchez un nouveau message dans votre compte de messagerie. Vous devrez peut-être vérifier votre dossier de messages indésirables.
-
Si l'e-mail n'apparaît pas, vous pouvez vérifier la file d'attente de messages Postfix :
sudo mailq
-
Vous pouvez également consulter le journal Postfix. Appuyez sur Ctrl + C pour quitter :
sudo tail -f /var/log/maillog
Ressources de formation supplémentaires
Explorez d'autres exercices sur docs.oracle.com/learn ou accédez à davantage de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir Oracle Learning Explorer.
Pour consulter la documentation du produit, consultez le centre d'aide Oracle.
Learn to Install and Configure Postfix With STARTTLS on Oracle Linux
F47875-07
February 2023
Copyright © 2021, Oracle and/or its affiliates.