Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Sysadmin<br />
www.linux-magazin.de Mailheader 09/2013<br />
64<br />
Headerdaten der E-Mail sehen jetzt so<br />
aus, als kämen sie von einem einzigen<br />
Rechner namens »smtp.example.com«,<br />
ganz gleich von welchem Clientrechner<br />
im LAN ein Benutzer die E-Mails wirklich<br />
abgeschickt hat. Die Headerdaten<br />
werden, ausgenommen die unterschiedlichen<br />
E-Mail-Adressen und Timestamps,<br />
immer gleich aussehen.<br />
Sensible Daten im Betreff<br />
Apropos E-Mail-Adressen: Viele Sysadmins<br />
lassen sich Statusmeldungen per<br />
Mail zuschicken. Zum Beispiel könnte<br />
die Absenderadresse »root@Meine_Domain.local«<br />
lauten, was aber natürlich<br />
wieder Rückschlüsse auf Interna zulässt.<br />
Address Rewriting [4] beseitigt solche<br />
Informationen.<br />
Vorsicht ist ohnehin geboten: Viele Statusmeldungen<br />
enthalten den FQDN des<br />
betreffenden Rechners aber auch im<br />
Betreff. Erwischt Header_checks einen<br />
solchen Subject-Header, schmeißt es ihn<br />
natürlich auch raus und die Mail erreicht<br />
den Empfänger, also den Sysadmin, ohne<br />
Betreffzeile – ein großer Nachteil gerade<br />
bei Mails mit Logs, die sich Admins gerne<br />
per Sieve in Ordner einsortieren lassen,<br />
01 # Nochmal zur Sicherheit Domain entfernen<br />
02 /^.*\.Meine_Domain\.local.*$/i IGNORE<br />
03 # Amavis braucht auch keiner zu sehen<br />
04 /^.*amavis.*$/i IGNORE<br />
05 # Localhost‐Einträge löschen<br />
06 /^Received: from localhost.*$/i IGNORE<br />
07 # Der MUA sollte auch nicht erscheinen<br />
08 /^User‐Agent.*$/i IGNORE<br />
09 # KMail ist eindeutig zu geschwätzig<br />
10 /^X‐KMail.*$/i IGNORE<br />
11 # weitere Regeln für individuelle Mailclients<br />
12 [...]<br />
Listing 4: »/etc/postfix/header_<br />
checks«<br />
Listing 5: Mit Header_checks bereinigte Mail<br />
01 Received: from smtp.example.com<br />
02 (Name_meines_Routers.Mein_ISP.com [1.2.3.4])<br />
03 by smtp.Mein_ISP.com (xxxxx xxxx) (RZmta<br />
31.27 DYNA|AUTH)<br />
04 with (DHE‐RSA‐AES256‐SHA encrypted) ESMTPA id<br />
906d2cp5H92jgY<br />
05 for ;<br />
06 Mon, 17 Jun 2013 11:10:34 +0200 (CEST)<br />
07 To: Adresse@Externe_Domain.com<br />
08 Subject: test<br />
09 From: "Dr. Harry Knitter" <br />
10 Date: Mon, 17 Jun 2013 11:10:31 +0200<br />
in denen schnell mal hundert Mails liegen.<br />
Hier hilft folgende Regel als erster<br />
Eintrag in der Datei »/etc/postfix/header_checks«<br />
weiter:<br />
/^Subject:(.*)@(.*)\.?Meine_Domain.localU<br />
(.*)$/i REPLACE Subject:$(1)$(2).<br />
Sie ersetzt den Namen der internen Domain<br />
»Meine_Domain.local« einschließlich<br />
der Subdomains, also der FQDNs<br />
der sendenden Rechner, durch einen<br />
Nullstring. Wie der Sysadmin Postfix<br />
dazu überredet, ihm den Inhalt solcher<br />
Statusmeldungen auch noch automatisch<br />
verschlüsselt zu übertragen, beschreibt<br />
der Artikel im <strong>Linux</strong>-<strong>Magazin</strong> [5].<br />
Finetuning<br />
Anpassungen für den individuellen Bedarf<br />
sind im beschriebenen Szenario unvermeidlich.<br />
Manche E-Mail-Programme<br />
tragen sich nämlich nicht im Header<br />
»User‐Agent«, sondern mit »X‐Mailer«<br />
ein. Die beschriebenen Säuberungsaktionen<br />
gestalten auch das Debuggen deutlich<br />
schwieriger: Wer selbst Analysen<br />
von Mailheadern vornehmen will, muss<br />
damit rechnen, dass nicht unbedingt alle<br />
Transportinformationen eingehender<br />
Mails erkennbar sind: Die beschriebenen<br />
Maßnahmen wendet Postfix nämlich<br />
auch bei eingehenden Mails an.<br />
Schon Fetchmail, das vielleicht die Daten<br />
vom ISP abholt, liefert die Mails über<br />
den lokalen MTA aus – und weg sind<br />
die Header. Allerdings geschieht dies<br />
nur ein Mal, wenn Postfix die Mail von<br />
Fetchmail erhält. Die später folgenden<br />
Zugriffe des MTA, zum Beispiel beim<br />
Filtern durch Amavis bis zur Ablage in<br />
IMAP, haben keinen Einfluss mehr auf<br />
den Inhalt der dabei erzeugten Header,<br />
wenn in der Konfigurationsdatei »mas-<br />
11 MIME‐Version: 1.0<br />
12 Content‐Type: Text/Plain;<br />
13 charset="iso‐8859‐15"<br />
14 Content‐Transfer‐Encoding: 7bit<br />
15 Message‐Id: <br />
16 X‐Seen: false<br />
17 X‐ENVELOPE‐TO: <br />
18 X‐Length: 3387<br />
19 X‐UID: 21011<br />
20 Status: R<br />
21 X‐Status: N<br />
ter.cf« als Option für die Rückgabe der<br />
Mail durch den Contentfilter an den MTA<br />
»‐o receive_override_options=no_header_body_checks«<br />
eingetragen ist.<br />
Außerdem machen manche Clients wundersame<br />
Dinge: Admins, die mit Kmail<br />
testen, werden sich fragen, warum die<br />
mit Kmail empfangenen E-Mails dennoch<br />
wieder die unerwünschten »X‐KMail«-<br />
Header aufweisen. Direkt auf dem IMAP<br />
sind diese Header in der E-Mail nicht vorhanden.<br />
Sie entstehen, wenn Kmail die<br />
Mails via IMAP abholt. E-Mail-Adressen,<br />
die andere MUAs verwenden, sehen davon<br />
also nichts. Verwendet der Sender<br />
einen anderen MUA als Kmail, passiert<br />
dies ebenfalls nicht.<br />
Fazit<br />
Das Ausplaudern unnötiger und sicherheitskritischer<br />
Daten in den Mailheadern<br />
ist mit recht einfachen Mitteln zu unterbinden.<br />
Die beschriebenen Maßnahmen<br />
sind – sieht man von den regulären Ausdrücken<br />
ab – ohne Programmieraufwand<br />
und ohne Beeinträchtigung der E-Mail-<br />
Kommunikation möglich. Zwar bezieht<br />
sich das Beispiel auf eine relativ simple<br />
LAN-Topologie, die beschriebenen Mechanismen<br />
eignen sich aber genauso für<br />
größere Installationen. (mfe) n<br />
Infos<br />
[1] Postfix-Dokumentation: [ http:// www.<br />
postfix. org/ documentation. html]<br />
[2] Postfix Header_checks: [http:// www.<br />
postfix. org/ header_checks. 5. html]<br />
[3] Jeffrey E. F. Friedl, „Reguläre Ausdrücke“:<br />
O’Reilly, Oktober 2007<br />
[4] Postfix Address Rewriting:<br />
[http:// www. postfix. org/ ADDRESS_<br />
REWRITING_README. html]<br />
[5] Harry Knitter, „Schlüsseldienst“: <strong>Linux</strong>-<br />
<strong>Magazin</strong> 07/13, S. 68;<br />
[http:// www. linux‐magazin. de/ Ausgaben/<br />
2013/ 07/ Schluesseldienst]<br />
Der Autor<br />
Dr. Harry Knitter [http:// www. knitter‐edv‐be ratung.<br />
de] berät und betreut kleine und mittlere<br />
Unternehmen in den Bereichen Netzwerk und<br />
IT-Sicherheit und setzt dabei auf <strong>Linux</strong>. Er ist<br />
in Hof als EDV-Dozent an der Fachhochschule<br />
für Öffentliche Verwaltung und Rechtspflege in<br />
Bayern tätig.