6068 links
  • GuiGui's Show

  • Home
  • Login
  • RSS Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
page 1 / 1
  • Postfix manual - header_checks(5)

    Je n'en ai jamais causé ici, mais le serveur de mails Postfix permet de faire de l'inspection dans le contenu des emails (reçus et envoyés), aussi bien dans les entêtes que dans le corps du mail, en utilisant des expressions régulières (regex) POSIX ou PCRE.

    À quoi ça peut servir ? Principalement à virer des entêtes non désirés. Exemples :

    • Virer l'entête qui indique l'adresse IP depuis laquelle le mail a été envoyé. C'est-à-dire, l'IP qu'a votre machine poste de travail sur laquelle vous écrivez et envoyez vos mails. Hé oui, c'est comme ça qu'on peut reproduire "l'effet GMail" où cette adresse n'apparaît pas. Attention : ça ne veut ni dire que Google ne connaît pas votre IP ni qu'il ne la stocke pas ni qu'il ne la balancera pas aux autorités ;) ;

    • Virer le nom et la version du logiciel que vous utilisez pour envoyer et recevoir vos mails.

    Exemples que j'utilise sur mon serveur de mails personnel :

    /^Received:.*ESMTPSA/     IGNORE
    /^User-Agent:/            IGNORE
    /^X-Enigmail-Version:/    IGNORE

    Explications :

    • La première ligne efface l'entête qui contient l'IP d'émission du mail. Cela suppose que vous causez à votre serveur mail en TLS (le « S » dans « ESTMPSA ») et que vous vous authentifiez auprès de lui (le « A » dans « ESMTPSA ») ;

    • La deuxième ligne efface l'entête qui contient le logiciel de lecture/écriture de mails (Thunderdbird, Claws-Mail, Mutt, etc.) que j'utilise ;

    • La dernière ligne efface l'entête ajouté par Engimail (extension à Thunderbird pour chiffrer et signer vos emails, voir http://www.guiguishow.info/2014/07/17/ma-premiere-vraie-cle-pgp/ ) pour indiquer sa version…

    On met ça dans un fichier, genre /etc/postfix/header_checks, et dans le main.cf de Postfix, on ajoute :

    header_checks = regexp:/etc/postfix/header_checks

    On reload Postfix et c'est tout bon :

    sudo systemctl reload postfix

    Et, en fait, non. Car cela effacera aussi les entêtes des mails que vous recevez.

    Postfix supporte des regex conditionnelles mais l'entête que l'on bidouille si la condition est validée doit être le même que celui qui déclenche la condition. Mauvaise piste, donc.

    Solution : si vous utilisez un port différent pour les clients mails humains (port 587 en général pour éviter le port 25 standard bloqué sur certains réseaux), alors il suffit de préciser à ce smtpd-là qu'il y a des checks à faire. Sinon (si le mail vient de l'extérieur), utiliser le smtpd normal et ne faire aucun check. Tout est détaillé ici : https://www.void.gr/kargig/blog/2013/11/24/anonymize-headers-in-postfix/.

    Mais, en gros, dans /etc/postfix/master.cf, on déclare un nouveau service cleanup avec des options spécifiques : cleanupheaders unix n - y - 0 cleanup -o header_checks=regexp:/etc/postfix/header_checks. Puis, on modifie le service « submission » afin de lui ajouter une option pour utiliser le service cleanup modifié : submission inet n - y - - smtpd -o cleanup_service_name=cleanupheaders.

    30/06/2016 01:47:37 - permalink -
    - http://www.postfix.org/header_checks.5.html
Links per page: 20 50 100
page 1 / 1
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community