Wenn ein eigener Mailserver betrieben wird sendet dieser unter anderem auch deinen User-Agent und deine IP-Adresse im ersten Received Block mit.
Received: from [192.168.xxx.xxx] (xxx-xxx-xxx-xxx-xxx.netcologne.de [78.34.xxx.xxx])
(Authenticated sender: tester)
by mailout.adminforge.de (Postfix) with ESMTPSA id 4CED91036375B;
Sun, 21 Mai 2017 08:36:27 +0200 (CEST)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
Mit folgender Anleitung kannst du dies in Postfix unterbinden und bleibst dabei RFC5321 konform.
Punkt 1: Header Check hinzufügen
Wir sagen Postfix das er eine Header Datei hat und diese auch für jede ausgehende Mail anwenden soll.
# add header for authenticated mail to strip IP
smtpd_sasl_authenticated_header = yes
smtp_header_checks = pcre:/etc/postfix/header_checks
Dazu wird das Paket postfix-pcre benötigt.
apt-get install postfix-pcre
Punkt 2: Header anonymisieren
Nun sagen wir Postfix er möge diese Zeilen im Header der ausgehende Mails ignorieren.
/^Received: .*\(Authenticated sender:.*/ IGNORE
/^Received: by MAIL\.HOSTNAME\.DE .*from userid [0-9]+\)/ IGNORE
/^User-Agent:/ IGNORE
/^X-Originating-IP:/ IGNORE
WICHTIG: In der zweiten Zeile ersetzt ihr MAIL\.HOSTNAME\.DE mit z.B. mail\.adminforge\.de, dem Hostnamen deines Postfix.
Punkt 3: Postfix Restart und Test
Wir starten den Mail Service neu.
systemctl restart postfix.service
Jetzt kann getestet werden, sende eine Testmail an die genannte Adresse auf der Webseite mail-tester.com.
Das erste Feld „Klicken Sie hier, um Ihre Nachricht anzuzeigen“ klappen wir aus und klicken auf „Quelle“. Dort sollte kein User-Agent und keine Received Zeile mit deiner IP-Adresse mehr zu finden sein.
Update 01.04.2018: REPLACE anstelle IGNORE
Obige Methode funktioniert weiterhin tadellos.
Wer seinen ersten Received Header des Clients behalten möchte, kann seine IP-Adresse mit 127.0.0.1 austauschen.
In der Hauptkonfiguration lassen wir smtpd_sasl_authenticated_header weg (Default: no).
# add header to strip IP
smtp_header_checks = pcre:/etc/postfix/header_checks
Der Header wird mit diesen 3 Zeilen gesäubert.
/^(Received: from)[^\n]*(.*)/ REPLACE $1 127.0.0.1 (localhost [127.0.0.1])$2
/^User-Agent/ IGNORE
/^X-Originating-IP/ IGNORE
Nach einem Neustart von Postfix sieht die erste gesäuberte Received-Zeile in etwa so aus.
Received: from 127.0.0.1 (localhost [127.0.0.1])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES128-GCM-SHA256 (128/128 bits))
by mail.adminforge.de (Postfix) with ESMTPSA id D7F5718D258
for <xxx@xxx.xx>; Sun, 1 Apr 2018 10:35:55 +0200 (CEST)