Ask me anything
Ithy Logo
Sign in to save

Configuration de Postfix sur Ubuntu 24.04

Guide détaillé pour recevoir tous les mails et restreindre l'envoi local

email server ubuntu

Highlights

  • Réception globale des mails : Configurez Postfix pour accepter les e-mails destinés à tous vos domaines en indiquant correctement les options mydestination et inet_interfaces.
  • Envoi limité au serveur local : Restreignez l'envoi des e-mails aux processus locaux grâce aux options mynetworks, smtpd_relay_restrictions et smtpd_recipient_restrictions.
  • Empêcher le relais : Désactivez le relais en configurant relay_domains de manière à ce que seuls les mails provenant du serveur soient envoyés.

Introduction

Postfix est un agent de transfert de courriel (MTA) puissant et flexible qui est souvent utilisé sur Ubuntu pour gérer l'envoi et la réception de courriels. Dans le contexte de l'administration système, il est souvent nécessaire de configurer Postfix pour qu'il reçoive tous les e-mails pour un ou plusieurs domaines, tout en empêchant toute utilisation abusive en n’autorisant l'émission de courriels qu’à partir du serveur local. Cette configuration limite les risques de relais non autorisé et permet de conserver un contrôle strict sur les communications par e-mail.

Le principe fondamental ici est de s'assurer que le serveur puisse recevoir les e-mails envoyés à tous les domaines configurés sans servir de relais externe, ce qui pourrait être exploité pour l’envoi massif de spam. Nous allons détailler la configuration de Postfix sur Ubuntu 24.04 en abordant à la fois la réception d’emails et la restriction d’envoi aux seuls processus locaux.


Étapes de configuration détaillées

1. Mise à jour du système et installation de Postfix

Avant de procéder aux modifications de configuration, il est impératif de mettre à jour votre système pour vous assurer que vous disposez des dernières mises à jour de sécurité et des paquets. Utilisez les commandes suivantes :


  # Mettre à jour la liste des paquets et le système
  sudo apt update && sudo apt upgrade -y
  
  # Installation de Postfix
  sudo apt install postfix -y
  

Durant l'installation de Postfix, il vous sera demandé de choisir un type de configuration. Choisissez « Internet Site » et renseignez votre nom de domaine ou le nom d'hôte qui servira d'identifiant pour le serveur de messagerie.

2. Configuration de la réception des mails

Pour recevoir tous les e-mails destinés à votre serveur, il faut configurer correctement certains paramètres cruciaux dans le fichier de configuration de Postfix (/etc/postfix/main.cf). Les principaux paramètres à vérifier sont :

a. Définir les destinations de réception (mydestination)

La directive mydestination définit les domaines pour lesquels votre serveur est responsable de la réception de mails. Une configuration typique pourrait ressembler à :


  mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  

Ici, $myhostname représente le nom d'hôte de votre serveur, et $mydomain représente le domaine associé. En incluant localhost et localhost.$mydomain, vous vous assurez que les mails locaux ainsi que ceux adressés à votre domaine sont pris en compte.

b. Écouter sur toutes les interfaces (inet_interfaces)

Pour que Postfix puisse recevoir des e-mails sur toutes les interfaces réseau de votre serveur, modifiez ou assurez-vous que la ligne suivante est présente :


  inet_interfaces = all
  

Cela permet à Postfix de répondre aux requêtes provenant de n'importe quelle interface réseau, essentielle pour un serveur qui reçoit des mails de différentes sources.

3. Restriction de l'envoi aux seuls mails locaux

L'objectif ici est d'empêcher toute tentative d'utiliser votre serveur comme relais pour l'envoi d'e-mails non autorisés. Pour cela, il faut restreindre l’accès aux fonctionnalités d'envoi afin que seuls les processus ou clients locaux (loopback) puissent initier l'envoi d'e-mails.

a. Configurer mynetworks

Le paramètre mynetworks définit les adresses IP ou les réseaux autorisés à utiliser votre serveur pour envoyer des e-mails. Pour limiter l'accès à la boucle locale, modifiez ou ajoutez :


  mynetworks = 127.0.0.0/8
  

Vous pouvez également étendre cette configuration pour inclure les adresses IPv6 locales si nécessaire :


  mynetworks = 127.0.0.0/8 [::1]/128
  

b. Définir smtpd_relay_restrictions

La directive smtpd_relay_restrictions contrôle de manière fine qui peut relayer des e-mails via votre serveur. Elle doit être configurée pour autoriser uniquement les réseaux locaux et rejeter toute autre tentative :


  smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination
  

L'option permit_mynetworks autorise les clients de la plage d'adresses définies dans mynetworks, tandis que reject_unauth_destination empêche tout autre hôte d'utiliser le serveur comme relais.

c. Paramétrer smtpd_recipient_restrictions

Pour renforcer la protection contre le relais non autorisé, vous pouvez également configurer smtpd_recipient_restrictions :


  smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
  

Cette directive assure que même si une connexion est établie, l'envoi d'e-mails sera refusé pour toute destination qui n'est pas explicitement autorisée.

d. Désactiver relay_domains

Assurez-vous que la directive relay_domains ne spécifie aucun domaine externe auquel le serveur pourrait servir de relais. Pour ce faire, vous pouvez soit la laisser vide, soit la définir explicitement comme telle :


  relay_domains =
  

Cela garantit que Postfix n'accepte pas de relayer des messages destinés à d'autres serveurs.

4. Autres configurations importantes

Outre la configuration de base pour la réception et l'envoi des mails, il est possible et souvent recommandé d'ajuster quelques paramètres complémentaires pour améliorer la sécurité et la performance de votre serveur de messagerie.

a. Spécifier les interfaces et protocoles (inet_protocols)

Pour contrôler les protocoles utilisés par Postfix, définissez inet_protocols. Par exemple, pour n'utiliser que l'IPv4 :


  inet_protocols = ipv4
  

Si votre environnement nécessite IPv6, vous pouvez adapter cette configuration ou la laisser sur all pour une compatibilité maximale.

b. Paramétrer le hostname et le domaine

Pour que le serveur soit correctement identifié par les mail exchangers (MX) et les entités d'expédition, il est important de définir :


  myhostname = mail.example.com
  mydomain = example.com
  myorigin = $mydomain
  

Adaptez ces valeurs en fonction de votre environnement. Cela permet non seulement à Postfix d’identifier correctement sa source, mais aussi d’assurer la livraison appropriée des mails entrants.

5. Redémarrage et vérification de la configuration

Une fois toutes les modifications apportées aux fichiers de configuration de Postfix, il est nécessaire de redémarrer le service pour qu’elles prennent effet. Exécutez la commande suivante :


  sudo systemctl restart postfix
  

Après le redémarrage, il est crucial de vérifier que la configuration fonctionne comme prévu. Vous pouvez tester :

  • L'envoi d'un e-mail depuis une application locale ou la ligne de commande, par exemple :

  echo "Corps du message de test" | mail -s "Sujet Test" adresse@domaine.com
  

Important : Essayez également d’envoyer un e-mail depuis une machine externe pour confirmer que le système refuse le relais.

Pour surveiller l'activité et détecter d’éventuelles erreurs, consultez le fichier journal de Postfix :


  sudo tail -f /var/log/mail.log
  

6. Exemple complet de configuration

Vous trouverez ci-dessous une table résumant les configurations critiques pour ce scénario :

Paramètre Valeur Suggérée Description
mydestination $myhostname, localhost.$mydomain, localhost, $mydomain Liste des domaines pour lesquels le serveur accepte les mails
inet_interfaces all Écoute sur toutes les interfaces réseau
inet_protocols ipv4 (ou all) Définit les protocoles réseaux à utiliser
mynetworks 127.0.0.0/8 [::1]/128 Autorise uniquement les connexions locales à utiliser le serveur pour l'envoi
smtpd_relay_restrictions permit_mynetworks, reject_unauth_destination Empêche l'utilisation du serveur comme relais par des clients non autorisés
smtpd_recipient_restrictions permit_mynetworks, reject_unauth_destination Applique une vérification stricte des destinataires pour empêcher le relais
relay_domains (vide) Désactive le relais pour les domaines externes

Vous pouvez copier et adapter la configuration ci-dessous dans votre fichier /etc/postfix/main.cf pour répondre aux besoins décrits :


  # Identification du serveur
  myhostname = mail.example.com
  mydomain   = example.com
  myorigin   = $mydomain
  
  # Domaines acceptés
  mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  
  # Interfaces et protocoles
  inet_interfaces = all
  inet_protocols  = ipv4
  
  # Restrictions pour l'envoi de mails
  mynetworks = 127.0.0.0/8 [::1]/128
  smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination
  smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
  
  # Désactiver le relais pour tous les domaines externes
  relay_domains =
  

7. Conseils et bonnes pratiques supplémentaires

En plus de la configuration de base, voici quelques recommandations pour garantir une opération stable et sécurisée de votre serveur de messagerie :

a. Surveillance régulière des logs

Il est essentiel de vérifier régulièrement les logs de Postfix pour détecter et corriger rapidement toute anomalie ou tentative d'utilisation non autorisée. Utilisez la commande suivante pour suivre les logs en temps réel :


  sudo tail -f /var/log/mail.log
  

Des outils de surveillance automatisés comme logwatch ou fail2ban peuvent être intégrés pour renforcer la sécurité et prévenir les abus.

b. Sauvegarde de la configuration

Avant toute modification dans les fichiers de configuration de Postfix, réalisez une sauvegarde des fichiers existants. Par exemple :


  sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
  

Cette pratique vous permettra de restaurer une configuration fonctionnelle en cas de problème lors des modifications.

c. Documentation et tests

Maintenez une documentation précise de chaque changement apporté à la configuration. Cela facilitera le dépannage et l’amélioration continue du système. Après chaque modification, testez minutieusement la configuration en envoyant des e-mails depuis le serveur lui-même et depuis une machine externe pour confirmer que le relais n'est pas autorisé.

d. Sécurisation du serveur

Outre la configuration de Postfix, assurez-vous que votre serveur est sécurisé par d'autres moyens :

  • Installez un pare-feu tel qu’UFW pour restreindre l’accès aux ports critiques.
  • Utilisez des outils de détection d’intrusions pour surveiller les comportements suspects.
  • Tenez à jour l’ensemble de vos logiciels et appliquez les correctifs de sécurité dès qu’ils sont disponibles.

En combinant ces stratégies de sécurité, vous contribuerez à préserver l'intégrité et la disponibilité de votre service de messagerie.

Conclusion

En résumé, configurer Postfix sur Ubuntu 24.04 pour recevoir tous les mails tout en limitant l'envoi aux seuls processus locaux est un processus qui repose sur la modification soigneuse de plusieurs paramètres clés. La configuration repose sur la définition de mydestination pour accepter les mails destinés à vos domaines, l'activation de inet_interfaces pour écouter sur toutes les interfaces et la restriction stricte de l'accès réseau via mynetworks et smtpd_relay_restrictions. En configurant minutieusement ces paramètres, vous garantissez que votre serveur ne pourra être exploité comme relais, minimisant ainsi les risques d'abus et de spam.

Il convient de noter que la surveillance régulière des logs, la sauvegarde de vos configurations et la mise en place d’un plan de sécurité global complètent une stratégie efficace pour administrer un serveur de messagerie. Suivez les tests post-configuration pour vérifier que les modifications respectent bien vos exigences fonctionnelles et sécuritaires.

Ce guide détaillé s'adresse à toute personne souhaitant mettre en place un serveur de messagerie solide, avec une attention particulière portée à la sécurité et à la maîtrise de l'envoi des e-mails. En suivant les étapes et conseils décrits, vous serez en mesure de configurer Postfix de manière fiable, tout en empêchant son usage comme relais non autorisé pour le spam ou d’autres activités malveillantes.


Références


Recommandé


Last updated February 22, 2025

AI-assisted research. Sources, methodology and corrections · Source-checked guides and tools · Explore published answers

Ask Ithy AI