Ceci est une ancienne révision du document !
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…
Contenu des entêtes (header) d'un mail
Voici un petit extrait du header d'un mail
Return-Path: <bounce-debian-devel-announce=xxxxxxxxxxx@lists.debian.org> 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 <miel@chg-web.com>; 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 filtrer :
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])
On commence par créer un fichier /etc/postfix/header_cheks.cf :
nano /etc/postfix/header_checks.cf
Puis on y colle le contenu suivant :
/^Received:.*with ESMTPSA/ IGNORE /^X-Originating-IP:/ IGNORE /^X-Mailer:/ IGNORE /^User-Agent:/ IGNORE
On enregistre. On utilise donc les expressions régulières 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 header_checks.cf. On tape la commande
nano /etc/postfix/main.cf
Le fichier main.cf est le fichier de configuration de postfix. On rajoute ensuite les lignes suivantes (lire en dessous où coller le contenu):
mime_header_checks = regexp:/etc/postfix/header_checks.cf header_checks = regexp:/etc/postfix/header_checks.cf
Le contenu du fichier main.cf de postfix peut être différent d'un serveur à l'autre. Essayer de trouver cette ligne puis coller le code précédent juste au-dessus.
smtpd_client_restrictions =
Ensuite, pour permettre à postfix d'utiliser le fichier header_checks.cf, on le hash avec la commande postmap.
postmap header_checks.cf
Et pour finir, on relance postfix avec la commande suivante :
postfix reload
Notes de version
- [10/12/2017] : Création de l'article
Auteurs et sources
- Auteur : montuy337513
Navigation
Autres liens rapides pouvant vous intéresser