Mailserver, SPF, DKIM und DMARC & Co.

dmarc-22092016

Als Betreiber eines Mailservers auf Basis von Postfix, Amavis-New, Spamassasin & Co und natürlich IMAP & POP3 Postfächer mit Hilfe von DBMail & Dovecot als Mail Session Weiterleitungs-Proxy …

 … wird unweigerlich irgendwann der erste SPAM in die Postfächer eintrudeln 😉

Eine weile später wird man sich dann erstmal mit sogenannten RBL’s, also Realtime Blackhole Lists, beschäftigen um die lästigen SPAMMER frühzeitig, auf dem Postfix MTA Level, zu blockieren.

Wenn man dann richtig viel Glück hat, wird man auch mal Bekanntschaft mit einer sogenannten Backscatter E-Mail Welle machen.

postfix

Also massenhafte E-Mail Rückstreuung durch Delivery Status Notifications, welche auf gefälschte Absenderadressen antworten.

Und wenn man das dann hinter sich hat, fängt man langsam an zu erkennen, das Fälschung von E-Mail Absenderadressen jetzt gar keine so große Wissenschaft ist. Und langsam stellt man sich die Frage, wer denn in aller Welt E-Mails mit deiner Absenderadresse versendet 😉

Hat man das dann langsam realisiert geht’s weiter zum sogenannten SPF. Das Sender Policy Framework ist ein Verfahren, welches das Fälschen der Absenderadresse einer E-Mail verhindern soll. Klasse!

Als weitere Stufe wird man dann Bekanntschaft mit DKIM machen. Also DomainKeys Identified Mail, ein Identifikationsprotokoll zur Sicherstellung der Authentizität von E-Mail-Absendern, welches ursprünglich von Yahoo entwickelt wurde.

SpamAssassin

Yeah 😉

Und hat man all diese Hürden dann gemeistert und die Techniken erfolgreich in seinen MTA Postfix und Amavis-New Plugin implementiert, geht’s weiter zur nächsten Disziplin: DMARC!

Domain-based Message Authentication, Reporting and Conformance, kurz DMARC, ist eine Spezifikation, die entwickelt wurde, um Missbrauch von E-Mails zu reduzieren.

Zum einen kann man nun mit DMARC bekannt geben, was mit einer gefälschten E-Mail passieren soll, wenn SPF und / oder DKIM Verifizierung fehlschlagen.

Zum anderen kann man sich nun auch tägliche Reports von den anderen Mailanbietern zusenden lassen und bekommt somit eigentlich erstmal das ganze Ausmaß mit, wer denn alles in der großen weiten Welt da draußen E-Mails unter deiner E-Mail Adresse versendet. Und des ist echt ne Menge!

Auch kann man sehen, wie deine E-Mails, welche du an Mailing-Listen sendest so die Runde machen. Hier gibt’s dann auch noch einen Kritikpunkt an DMARC und den sogenannten FROM Headers der E-Mail. Etwas, mit dem ich mich sicherlich nochmals beschäftigen muss?

dbmail

Bekommt man dann all diese hübschen täglichen DMARC Reports zugesendet, muss man dieses XML Format natürlich noch menschlich lesbar machen und auswerten.

Hier gibt’s eine große Anzahl von Anbietern online, doch umsonst ist ja bekanntlich nur der Tod, welcher auch nur das Leben kostet 😉

Was liegt also näher, als das ganze gleich wieder mal selbst machen zu wollen … selbst ist der Mann … hahaha 😉

Nach einer kurzen Suche findet man dann zumindest gleich mal einen DMARC Report Parser, welche die ganzen Daten schon mal in eine Datenbank schaufelt – check!

Sind die Daten dann erstmal drin, gibt’s auch noch einen DMARC Report Viewer in PHP geschrieben – check!

Doch leider war mir dieser DMARC Report Viewer doch ein biss’l zu Basic. Was liegt also näher, als einen eigenen kleinen DMARC Report Viewer zu schreiben? Check?

Beim DMARC Report Viewer von Techsneeze fehlte mir einfach das Paging, also die seitenweise Anzeige von Reports, da sonst die Seite immer länger und länger wird.

Zum anderen fand ich das Neuladen der einzelnen Report Records am Ende der Seite nur sub-optimal, was ich nun hübsch via AJAX gelöst habe.

Auch war das löschen der Reports und Records leider nicht möglich, was nun ebenfalls implementiert wurde – check!

php

Und schon war er geboren: DMARC Report Viewer ExtendedYeah 😉

Ist jetzt aber wirklich keine große Wissenschaft. Ein paar Zeilen Code, man braucht PHP >= 5.5.0. Ein bissl PEAR Libraries. Composer und SavantPHP, eine minimalistic Template Engine für PHP, mit welcher ich einfach mal was machen wollte, da mir die Philosophie davon gefällt 😉

Nebenbei musst ich mich dann auch mal mit PHP Namespaces und lauter so anderen kram beschäftigen.

Wie man sehen kann, alles eine Never-Ending-Story! Oder wie ein Kollege immer so schön sagt: EDV – Ende Der Vernunft 😉

github-mark-120px-plus

Das alles gibt’s natürlich auf GitHub zum Download, Clonen, Forken und natürlich selbst weiterentwickeln – viel Spaß!

Jetzt noch vielen herzlichen Dank an Techsneeze für die gelungene Vorarbeit und Inspiration.

Bei Fragen natürlich jederzeit und gerne …

Sonnige Gruesse aus der Web-Zentrale am Marienplatz in Wiesentheid.

Ralf Flederer a.k.a. Becki Beckmann

Download DMARC Report Viewer Extended

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.