{{htmlmetatags>metatag-description=(Lorsqu'on envoi un mail, le système lui adjoint toujours des méta-données (header). C'est une liste de champs permettant de donner des informations sur le message comme le destinataire, la provenance, le parcours, les tests anti-spam, etc... Nous verrons dans ce tuto comment supprimer les headers sensibles des mails expédiés. )
metatag-media-og:image=(:logo_postfix.png)
metatag-og:image=(:logo_postfix.png)
metatag-og:description=(Lorsqu'on envoi un mail, le système lui adjoint toujours des méta-données (header). C'est une liste de champs permettant de donner des informations sur le message comme le destinataire, la provenance, le parcours, les tests anti-spam, etc... Nous verrons dans ce tuto comment supprimer les headers sensibles des mails expédiés. )
metatag-og:title=(Supprimer les informations sensibles du header des mails envoyés avec Postfix)
metatag-og:type=(article)
metatag-og:url=(https://www1.zonewebmaster.eu/serveur-debian-postfix/supprimer-info-sensible-header-mail-postfix)
metatag-og:locale=(fr_FR)
metatag-og:site_name(zonewebmaster.eu)
metatag-article:published_time=(2017-12-10)
metatag-article:modified_time=(2023-04-13)
metatag-article:author=(montuy337513)
metatag-article:tag=(postfix, header, Receive, securiser, supprimer info sensibles, amavis, amavisd, dspam, dovecot, configuration, installation, sécurisation,help, tuto, wiki, debian)
}}
====== Supprimer les informations sensibles du header des mails envoyés avec Postfix ======
Lorsqu'on envoi un mail, le système lui adjoint toujours des méta-données (header). C'est une liste de champs permettant de donner des informations sur le message comme le destinataire, la provenance, le parcours, les tests anti-spam, etc... Nous verrons dans ce tuto comment supprimer les headers sensibles des mails expédiés.
{{ :logo_postfix.png?nolink |}}
===== Pré-requis =====
Le tutoriel devrait fonctionner sur toutes les versions Debian à partir de Stretch.\\
Il faut un service **postfix** fonctionnel.\\
Version minimale de **postfix** : Version postfix 2.5 et suivantes. \\
{{howhard>2}}
===== Contenu des entêtes (header) d'un mail =====
Voici un petit extrait du header d'un mail
Return-Path:
Delivered-To: miel@chg-web.com
Received: from localhost (localhost.localdomain [127.0.0.1])
by mx0.chg-web.net (Postfix) with ESMTP id E445D43C79
for ; Sat, 28 Oct 2017 14:32:12 +0200 (CEST)
X-DSPAM-Processed: Sat Oct 28 14:32:12 2017
X-DSPAM-Confidence: 0.9899
X-DSPAM-Probability: 0.0000
X-Virus-Scanned: E-pullup at chg-web.net
X-Spam-Flag: NO
X-Spam-Score: -0.891
X-Spam-Level:
X-Spam-Status: No, score=-0.891 tagged_above=-9999.9 required=4.3
tests=[BAYES_05=-0.5, RP_MATCHES_RCVD=-0.001, DSPAM.Innocent=-0.390]
autolearn=no autolearn_force=no
X-DSPAM-Result: Innocent
X-DSPAM-Signature: 59f478cc64641093319906
Comme vous pouvez le voir, on peut apprendre énormément de choses en regardant les en-têtes d'un mail.
Par exemple l'adresse ip local/externe de l'expéditeur et le client mail utilisé.
===== Supprimer les informations sensibles =====
Avec **postfix**, nous allons supprimer les entêtes sensibles comme l'adresse d'expédition locale de l'expéditeur, le client de mail utilisé ou le nom du script d'envoi du mail.
Il faut que **postfix** soit opérationnel sur votre serveur
Voici quelques exemples d'en-têtes qui seront filtrés :
X-Mailer: X-Mailer: PHPMailer 5.2.1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
Received: from [192.168.1.xx] (xxxxxxxx-xxx-x-xxx-xx.xxx-xx.abo.wanadoo.fr [xx.xx.xx.xx])
Il faut créer un fichier// /etc/postfix/sanitize //:
nano /etc/postfix/sanitize
Dans ce fichier, nous copions les lignes suivantes. Ce sont des regex permet de détecter du contenu. La première règle détectera toutes les lignes commençant par //Received:// et appliquera le **flag**, ici IGNORE (ignore la ligne et la supprime).
/^Received:.*/ IGNORE
/^X-Originating-IP:/ IGNORE
/^user-agent:/ IGNORE
/^x-mailer: IGNORE
Un petit enregistrement.
Nous utilisons donc les expressions régulières (**Regex**) pour détecter les informations sensibles que nous voulons supprimer des headers des mails.
Ensuite, il faut préciser à **postfix** qu'il doit utiliser notre fichier //sanitize//.
Pour cela, nous modifions le fichier /etc/postfix/main.cf
nano /etc/postfix/main.cf
Le fichier //main.cf// est le fichier de configuration général de votre **postfix**.
Nous utilisons le paramètre : **smtp_header_checks**
Voici la ligne à ajouter à votre main.cf, vous pouvez le rajouter à la fin de votre fichier de configuration.
smtp_header_checks = regexp:/etc/postfix/sanitize
Et pour finir, nous relançons **postfix** avec la commande suivante :
postfix reload
===== Notes de version =====
* [13/04/2023] : MAJ du tuto pour version récente de Debian et Postfix
* [10/12/2017] : Création de l'article
===== Auteurs et sources =====
* Auteur : [[:user:montuy337513]]
===== Navigation =====
* [[:accueil|Accueil]]
* [[:serveur-debian-securite]]
* [[:serveur-debian-general]]
* [[:serveur-debian-automatisation]]
* [[:serveur-debian-file]]
* [[:serveur-debian-log]]
* [[:serveur-debian-user-groupe]]
* [[:serveur-debian-apache2]]
* [[:serveur-debian-postfix]]
* [[:serveur-debian-mysql]]
* [[:serveur-debian-divers]]