====== Postfix : Configuration Avancée (SASL, Réécriture Root & Transport Orange) ======
Ce tutoriel détaille la configuration complète de Postfix pour :
* Sécuriser le port **Submission (587)** avec authentification SASL isolée (base ''sasldb2'').
* Réécrire dynamiquement l'expéditeur des mails système sous la forme ''HOSTNAME-root@mon-domaine.fr''.
* Brider le débit d'envoi spécifiquement pour Orange et Wanadoo afin d'éviter les blocages (Erreur 421 / OFR005_104).
===== 1. Prérequis système =====
Installer Postfix, les outils de test et le module requis pour la gestion des expressions régulières (PCRE) :
sudo apt update
sudo apt install postfix bsd-mailx postfix-pcre -y
===== 2. Configuration du service Submission et SASL =====
==== A. Configuration du moteur SASL (auxprop) ====
On configure SASL pour utiliser une base de données indépendante des utilisateurs Linux du système.
Créer le dossier et le fichier de configuration :
sudo mkdir -p /etc/postfix/sasl
sudo vi /etc/postfix/sasl/smtpd.conf
Coller le contenu suivant :
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
==== B. Création des utilisateurs et gestion du Chroot ====
Créer l'utilisateur de messagerie (remplacer ''mon-domaine.fr'' par la valeur exacte de votre ''myhostname'') :
sudo saslpasswd2 -c -u mon-domaine.fr toto
//(Saisissez et confirmez le mot de passe lorsque demandé).//
Par sécurité, Postfix s'exécute souvent de manière isolée (Chroot). Il faut copier la base de données des utilisateurs SASL dans sa prison :
# Droits sur le fichier maître
sudo chown root:postfix /etc/sasldb2
sudo chmod 640 /etc/sasldb2
# Duplication dans le Chroot Postfix
sudo mkdir -p /var/spool/postfix/etc/
sudo cp /etc/sasldb2 /var/spool/postfix/etc/sasldb2
sudo chown root:postfix /var/spool/postfix/etc/sasldb2
sudo chmod 640 /var/spool/postfix/etc/sasldb2
> **NOTE :** En cas de modification future du mot de passe via ''saslpasswd2'', il faudra impérativement refaire la copie vers le dossier ''/var/spool/postfix/etc/''.
===== 3. Bridage du trafic pour Orange / Wanadoo =====
==== A. Table de transport ====
Créer le fichier spécifiant quels domaines doivent être ralentis :
sudo nano /etc/postfix/transport
Ajouter les lignes suivantes :
orange.fr slow:
wanadoo.fr slow:
orange.com slow:
wanadoo.com slow:
Compiler la table de transport pour Postfix :
sudo postmap /etc/postfix/transport
Si votre instance trivial-rewrite s'exécute en Chroot, copier également les fichiers générés dans la prison :
sudo mkdir -p /var/spool/postfix/etc/postfix/
sudo cp /etc/postfix/transport* /var/spool/postfix/etc/postfix/
===== 4. Fichiers de configuration Postfix =====
==== A. Configuration principale (/etc/postfix/main.cf) ====
Ouvrir le fichier :
sudo nano /etc/postfix/main.cf
Adapter ou ajouter les blocs suivants à la fin du fichier :
# Réécriture d'envoi dynamique (Generic)
smtp_generic_maps = pcre:/etc/postfix/generic
# Routage et transport
transport_maps = hash:/etc/postfix/transport
# Bridage du service "slow" (Orange / Wanadoo)
slow_destination_recipient_limit = 20
slow_destination_concurrency_limit = 2
slow_destination_rate_delay = 10s
==== B. Configuration des processus (/etc/postfix/master.cf) ====
Ouvrir le fichier :
sudo nano /etc/postfix/master.cf
1. Décommenter et adapter le bloc **submission** pour activer le chiffrement obligatoire et le SASL :
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
2. Ajouter tout à la fin du fichier le service de transport **slow** pour Orange :
slow unix - - n - 5 smtp
-o syslog_name=postfix-slow
===== 5. Réécriture des mails de Root et Alias =====
==== A. Table générique ====
Créer le fichier ''/etc/postfix/generic'' pour intercepter les envois locaux de root :
sudo nano /etc/postfix/generic
Ajouter la règle RegEx (le ''${HOSTNAME}'' sera interprété dynamiquement par le système) :
/^root(@.*)?$/ ${HOSTNAME}-root@mon-domaine.fr
==== B. Redirection finale (Alias) ====
Définir vers quelle boîte de réception externe les mails système doivent arriver :
sudo nano /etc/aliases
Modifier ou ajouter la ligne :
root: votre-email-externe@mon-mail.com
Appliquer les alias :
sudo newaliases
===== 6. Activation et Tests =====
Redémarrer Postfix pour appliquer l'ensemble de la configuration :
sudo systemctl restart postfix
==== Tester l'authentification SASL (Port 587) ====
Depuis une autre machine ou via un client comme Thunderbird, configurez un compte SMTP sortant sur le port 587 (Sécurité: STARTTLS), avec l'utilisateur ''toto'' et le mot de passe défini à l'étape 2.
==== Tester l'envoi système Root ====
Exécuter la commande suivante sur le serveur :
echo "Test d'alerte système Postfix" | mail -s "Alerte Test [${HOSTNAME}]" root
==== Surveillance des Logs ====
Vérifier le bon déroulement des opérations dans les journaux :
sudo journalctl -u postfix -f
* Pour un mail Orange, vous devez voir passer la mention ''postfix-slow/smtp''.
* Pour la réécriture root, vous devez constater la traduction automatique de l'expéditeur en ''from=''.