Masquer l’adresse IP de l’expéditeur dans Postfix

Par défaut, Postfix ajoute l'adresse IP de l'expéditeur du mail dans les en-tête de mail.
Cela cause des problèmes de confidentialités puisque le destinataire peut récupérer l'adresse IP du contact.
De même, si vous utilisez un serveur Postfix comme relai mail, l'adresse IP du serveur WEB source s'inscrit dans le header du mail.
Cela peut poser des problèmes de sécurité, si le serveur Web est caché derrière un CDN comme Cloudflare car on peut récupérer l'adresse IP réelle du serveur WEB.

Dans ce tutoriel, je vous guide pour masquer et supprimer l'adresse IP de l'expéditeur dans Postfix.

Masquer l'adresse IP de l'expéditeur dans Postfix

Masquer l'adresse IP de l'expéditeur dans Postfix

Pour supprimer l'adresse IP dans les en-tête de mail sur Postfix, il faut tout d'abord installer l'extension PCRE.
Cela permet de spécifier des expressions régulières avec la notation de style PERL dans postfix.

  • Sur une distribution de type Debian, avec APT :
apt install postfix-pcre
  • Puis éditez le fichier /etc/postfix/dynamicmaps.cf pour ajouter la ligne :
pcre /usr/lib/postfix/postfix-pcre.so dict_pcre_open
  • Ensuite éditez le fichier de configuration Postfix /etc/postfix/master.cf
  • Remplacez la ligne cleanup par celle-ci
cleanup unix  n       -       y       -       0       cleanup
  -o header_checks=pcre:/etc/postfix/header_checks_submission
  • Ensuite créez le fichier /etc/postfix/header_checks_submission et inscrivez les lignes suivantes :
/^Received: .*/     IGNORE
/^X-Originating-IP:/    IGNORE
  • Enfin relancez le service postfix :
/etc/init.d/postfix restart

Dans cet exemple d'en-tête de message, on voit une première ligne Received by avec une adresse IP commençant par 51.

En-tête du message avec l'adresse IP du client

Après avoir suivi les instructions, Postfix la masque et la supprime, il ne reste plus que le relai du serveur Postfix qui s'affiche en Received.

En-tête du message avec l'adresse IP du client supprimé