Security

DKIM und DMARC: was SPF allein nicht kann

· 4 Min. Lesezeit

Ein SPF-Eintrag allein verhindert keine gefälschte Absenderadresse. Das ist kein Randfall, sondern die Bauart des Verfahrens: SPF prüft eine Adresse, die im Postfach nie erscheint.

Wer nur SPF gesetzt hat, hat den ersten von drei Schritten gemacht und hält ihn für den ganzen Weg.

Die zwei Absender, von denen nur einer sichtbar ist#

Eine E-Mail trägt zwei Absenderangaben.

Die eine steht im SMTP-Umschlag (MAIL FROM) und dient der Zustellung — dort landen Unzustellbarkeitsmeldungen. Die andere steht im Kopf der Nachricht (From:) und ist das, was das Mailprogramm anzeigt.

SPF prüft den Umschlag. Der Standard beschreibt genau das: Ein Prüfer wendet das Verfahren auf die MAIL FROM-Identität an, ersatzweise auf die HELO-Angabe. Der From:-Header kommt darin nicht vor.

Damit ist die Lücke beschrieben: Ein Absender kann im Umschlag eine eigene Domain führen, für die sein SPF-Eintrag sauber gilt, und im sichtbaren From: deine Domain eintragen. SPF sagt „bestanden", und der Empfänger liest deinen Namen.

Der DMARC-Standard benennt das ohne Umschweife: Die beiden Domains „können verschieden sein, und sie sind für den Endnutzer typischerweise nicht sichtbar".

Was DKIM beiträgt#

DKIM löst eine andere Frage. Der versendende Server signiert ausgewählte Kopfzeilen und den Nachrichtentext kryptografisch; der öffentliche Schlüssel liegt im DNS. Der Empfänger rechnet nach, ob die Signatur passt.

Damit übernimmt die signierende Domain Verantwortung für die Nachricht — so formuliert es der Standard. Nicht mehr und nicht weniger. DKIM sagt nicht, dass die Nachricht echt ist, es sagt, wer für sie geradesteht.

Der praktische Vorteil gegenüber SPF: Eine DKIM-Signatur überlebt eine Weiterleitung. SPF nicht — leitet ein Verteiler deine Mail weiter, stimmt die absendende IP nicht mehr, und SPF schlägt fehl, obwohl nichts gefälscht wurde.

DMARC ist der Teil, der die Lücke schließt#

DMARC bringt beides zusammen und fügt das Stück hinzu, das keinem der beiden fehlt, sondern beiden: den Bezug auf die sichtbare Adresse.

Der Standard sagt es in einem Satz: DMARC prüft die Verwendung der From:-Domain, indem es verlangt, dass sie mit einer authentifizierten Angabe übereinstimmt — auf Englisch Identifier Alignment.

Praktisch heißt das: SPF oder DKIM müssen bestehen, und die dabei geprüfte Domain muss zu der passen, die im Postfach steht. Erst diese Kopplung macht aus zwei technischen Prüfungen eine Aussage über den Absender, den ein Mensch sieht.

Dazu kommt die zweite Hälfte, die oft untergeht: DMARC sagt dem Empfänger, was er im Fehlerfall tun soll, und schickt dir Berichte darüber, wer in deinem Namen versendet.

Die drei Stufen, und warum man unten anfängt#

Der Eintrag ist ein TXT-Record unter _dmarc.deinedomain.de. Die Richtlinie steht im p-Tag, und es gibt genau drei Werte:

`` v=DMARC1; p=none; rua=mailto:dmarc@deinedomain.de ``

WertWas der Empfänger tun soll
nonenichts — nur berichten
quarantineals verdächtig behandeln, meist Spam-Ordner
rejectablehnen

Mit p=reject anzufangen ist der teuerste Fehler in dieser Sache. Fast jede Firma versendet aus mehr Quellen, als sie glaubt: das Newsletter-Werkzeug, das Ticketsystem, die Buchhaltungssoftware, das Kontaktformular des Webbaukastens, der Kalender. Jede dieser Quellen, die nicht sauber ausgerichtet ist, verschwindet ab dem ersten Tag.

Deshalb p=none mit Berichtsadresse, vier bis sechs Wochen lesen, die Quellen nachziehen — und erst dann verschärfen.

Ein zweites Tag verdient Beachtung: sp gilt für Subdomains. Fehlt es, gilt dort die Richtlinie aus p. Das ist meistens richtig und gelegentlich überraschend.

Was nicht hilft#

Ein zweiter SPF-Eintrag. Eine Domain darf genau einen haben. Zwei Einträge sind ein Fehler, kein doppelter Schutz — was dabei herauskommt, steht in SPF-Eintrag prüfen.

Alles auf einmal einrichten. SPF, DKIM und DMARC greifen ineinander; wer drei Änderungen zugleich veröffentlicht und danach Zustellprobleme hat, weiß nicht, welche es war. Erst SPF sauber, dann DKIM, dann DMARC auf none.

Berichte einrichten und nie ansehen. Die rua-Adresse bekommt täglich XML-Dateien. Ohne Auswertung ist das Postfach voll und die Erkenntnis null.

Auf p=none stehenbleiben. Diese Stufe schützt vor nichts, sie beobachtet nur. Wer nach einem halben Jahr noch dort steht, hat den Aufwand getragen und den Nutzen nicht.

Die Reihenfolge#

  1. SPF prüfen und auf einen Eintrag bringen — siehe SPF-Eintrag erstellen.
  2. DKIM beim Mailanbieter aktivieren und den veröffentlichten Schlüssel im DNS hinterlegen.
  3. _dmarc mit p=none und einer rua-Adresse anlegen.
  4. Vier bis sechs Wochen Berichte lesen und jede legitime Versandquelle in Ordnung bringen.
  5. Auf quarantine stellen, beobachten, dann auf reject.

Welche Einträge im DNS tatsächlich stehen, zeigt der Weg über DNS-Eintrag prüfen. Und was ein Host sonst nach außen preisgibt, listet der Security-Scan.

Quellen#