====== 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=''.