/ Linux

Supprimer les informations sensibles des headers avec Postfix

Lorsqu'un mail est envoyé sur le réseau, il est toujours accompagné de metadata présentes dans les en-têtes des messages au dessus du corps. C'est une liste de champs au format 7-bit ASCII ou MIME permettant de donner des informations sur le message, sa provenance, le destinataire, les sauts effectués sur les différents MTA, les résultats des tests anti-spam...etc

On peut apprendre énormement de choses en regardant les en-têtes, peut-être trop. Dans cet article nous allons voir comment supprimer quelques informations sensibles des headers comme l'adresse ip local/externe de l'expéditeur et le client mail utilisé.

Voici quelques exemples d'en-têtes que nous allons filtrer :

X-Mailer: RainLoop/1.9.1.335
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0.1
Received: from [192.168.1.xx] (xxxxxxxx-xxx-x-xxx-xx.xxx-xx.abo.wanadoo.fr [xx.xx.xx.xx])

Pour commencer, il faut créer un nouveau fichier nommé header_checks :

# /etc/postfix/header_checks

/^Received:.*with ESMTPSA/  IGNORE
/^X-Originating-IP:/        IGNORE
/^X-Mailer:/                IGNORE
/^User-Agent:/              IGNORE

Le contenu est très simple, on ignore les headers sensibles en retrouvant les patterns grâce à des expressions régulières. Ensuite il faut mettre à jour la configuration de postfix en ajoutant ces deux lignes au fichier main.cf :

mime_header_checks = regexp:/etc/postfix/header_checks
header_checks = regexp:/etc/postfix/header_checks

Ces deux directives sont nécessaires dans la mesure où les headers peuvent avoir plusieurs formats. La directive header_checks inspecte les en-têtes au format 7-bit ASCII, l'autre inspecte celles au format MIME.

Et pour finir il nous reste plus qu'à mettre à jour la hash table et de redémarrer Postfix :

postmap /etc/postfix/header_checks
postfix reload

Je pense que c'est une chose à laquelle il faut penser, vos interlocuteurs n'ont pas à connaître la version de votre client mail et votre ip. Dans tous les cas, il ne faut pas oublier qu'à la base, les mails ne sont pas anonymes et le seront probablement jamais avec les RFC actuelles.

Pour plus d'anonymat, il faudra ce tourner à l'avenir vers le protocole DIME (aka DarkMail), ce sujet fera l'objet d'un article plus tard sur ce blog.

Supprimer les informations sensibles des headers avec Postfix
Share this