Table des matières

Postfix : Configuration Avancée (SASL, Réécriture Root & Transport Orange)

Ce tutoriel détaille la configuration complète de Postfix pour :

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 : <code> submission inet n - y - - smtpd -o syslogname=postfix/submission -o smtpdtlssecuritylevel=encrypt -o smtpdsaslauthenable=yes -o smtpdtlsauthonly=yes -o smtpdrejectunlistedrecipient=no -o smtpdrecipientrestrictions=permitsaslauthenticated,reject -o miltermacrodaemonname=ORIGINATING </code>
  2. Ajouter tout à la fin du fichier le service de transport slow pour Orange : <code> slow unix - - n - 5 smtp -o syslog_name=postfix-slow </code>

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=HOSTNAME-root@mon-domaine.fr.