SPF besteht, DMARC scheitert: das Alignment-Problem

« Blog · Von

Ein wiederkehrender Moment beim Einrichten von DMARC: das Prüfwerkzeug meldet für SPF ein pass, für DKIM ebenfalls ein pass — und der DMARC-Bericht, der ein paar Tage später eintrifft, sagt trotzdem fail. Das sieht nach einem Widerspruch aus. Es ist keiner. DMARC prüft nicht dasselbe wie die beiden Verfahren, auf denen es aufsetzt, sondern eine Frage, die dort gar nicht gestellt wird.

Jede Nachricht trägt zwei Absenderadressen

Eine E-Mail nennt ihren Absender an zwei voneinander unabhängigen Stellen, und der Standard verlangt nirgends, dass beide übereinstimmen.

  • Der Umschlag. Im SMTP-Gespräch nennt der sendende Server ein MAIL FROM. Diese Adresse landet später als Return-Path in den Kopfzeilen und bestimmt, wohin Unzustellbarkeitsmeldungen gehen. Kein Mailprogramm zeigt sie an.
  • Die Kopfzeile. Das From: im Nachrichtenkopf ist die Adresse, die der Empfänger sieht — und die einzige, an der er sich orientiert.

Das ist kein Konstruktionsfehler, sondern der Papierbrief in Protokollform: Umschlag und Briefkopf dürfen Verschiedenes tragen. Die Rücksendeadresse auf dem Umschlag gehört der Poststelle, die Unterschrift im Brief dem Verfasser.

SPF prüft den Umschlag, der Leser liest die Kopfzeile

Hier liegt die ganze Sache. SPF beantwortet die Frage: Darf dieser Server für die Domain im MAIL FROM senden? Die Domain im From: kommt in der SPF-Prüfung überhaupt nicht vor. Sie wird nicht geprüft, nicht verglichen, nicht erwähnt.

Ein Versanddienstleister setzt im Umschlag seine eigene Domain ein, weil die Unzustellbarkeitsmeldungen bei ihm auflaufen sollen. In der Kopfzeile steht Ihre. SPF prüft also die Domain des Dienstleisters, findet dessen eigenen Eintrag und meldet völlig korrekt pass — für eine Domain, die niemand zu sehen bekommt.

Umschlag (SMTP) MAIL FROM / Return-Path bounce@versand.example Kopfzeile From: — das sieht der Leser info@firma.de SPF prüft diese Domain: pass von SPF nie geprüft DMARC: nicht ausgerichtet → fail
SPF bestätigt die Umschlag-Domain, und das zu Recht. DMARC fragt zusätzlich, ob diese Domain zu der passt, die der Empfänger liest — und genau dort scheitert der Fall.

Was DMARC zusätzlich verlangt: Ausrichtung

DMARC erfindet keine dritte Prüfung. Es nimmt die Ergebnisse von SPF und DKIM entgegen und stellt eine einzige zusätzliche Frage: gehört die geprüfte Domain zu der Domain, die im From: steht? Dieser Abgleich heißt Ausrichtung, englisch alignment.

DMARC gilt als bestanden, wenn mindestens einer der beiden Wege ausgerichtet besteht:

  • SPF ausgerichtet: die Domain im MAIL FROM passt zur Domain im From:.
  • DKIM ausgerichtet: die Domain im d=-Feld der Signatur passt zur Domain im From:.

Ein pass ohne Ausrichtung zählt nicht. Deshalb kann ein Prüfbericht zwei grüne Haken zeigen und die Nachricht trotzdem an DMARC scheitern.

Streng oder locker

Wie genau der Abgleich ausfällt, steuern zwei Angaben im DMARC-Eintrag: aspf für SPF und adkim für DKIM. Beide kennen zwei Werte, und der Unterschied ist in der Praxis erheblich.

ModusAngabePasst zu From: info@firma.de
locker (Voreinstellung)rmail.firma.de ja, versand.example nein
strengsnur exakt firma.de

Ohne Angabe gilt r. Locker heißt: dieselbe organisatorische Domain genügt, Subdomains sind erlaubt. Genau deshalb funktioniert der übliche Ausweg — dazu gleich mehr. Streng ist selten nötig und bricht erfahrungsgemäß mehr, als es verhindert.

Die drei Fälle, die in der Praxis vorkommen

LageSPFDKIMDMARC
Eigener Server, eigene Domain überallpass, ausgerichtetpass, ausgerichtetpass
Dienstleister ohne eigene Einrichtungpass, nicht ausgerichtetpass auf fremder Domain, nicht ausgerichtetfail
Dienstleister mit DKIM auf Ihrer Domainpass, nicht ausgerichtetpass, ausgerichtetpass

Der mittlere Fall ist der häufigste und derjenige, der bei der Umstellung auf p=quarantine plötzlich sichtbar wird. Solange die Richtlinie auf p=none steht, ändert das Ergebnis nichts an der Zustellung — es steht nur im Bericht, und dort sieht es niemand an.

Der Ausweg führt über DKIM, nicht über SPF

Zwei Wege führen aus dem mittleren Fall heraus, und sie sind unterschiedlich mühsam.

Der bequeme: DKIM auf Ihre Domain signieren lassen. Fast jeder Versanddienst bietet das an. Sie hinterlegen zwei oder drei CNAME-Einträge, der Dienst signiert danach mit d=firma.de statt mit seiner eigenen Domain. Der Umschlag bleibt, wie er ist — er muss nicht ausgerichtet sein, weil ein ausgerichtetes DKIM allein genügt. Das ist der Regelweg und in einer Viertelstunde erledigt.

Der aufwendige: eigener Return-Path. Manche Dienste erlauben eine eigene Bounce-Subdomain, etwa bounce.firma.de, per CNAME auf ihre Infrastruktur. Dann ist auch SPF ausgerichtet, weil im lockeren Modus die Subdomain zur Hauptdomain zählt. Nötig ist das selten. Sinnvoll ist es, wenn beide Wege abgesichert sein sollen, damit ein unterwegs gebrochener DKIM-Weg nicht sofort alles mitreißt.

Woran Sie es im Bericht erkennen

Die aggregierten Berichte, die DMARC anfordert, führen für jeden Absender beide Ergebnisse getrennt: einmal das rohe pass von SPF und DKIM, einmal das Ergebnis nach der Ausrichtung. Ein Eintrag mit spf: pass und daneben einem nicht ausgerichteten Ergebnis beschreibt exakt die Lage aus diesem Artikel. Wer nach dem Einschalten von DMARC nur auf die Sammelzahl schaut, übersieht das — die beiden Spalten stehen nicht ohne Grund nebeneinander.

Kurz: SPF und DKIM prüfen, ob ein Server für eine Domain senden darf. DMARC prüft, ob diese Berechtigung für die Domain gilt, die der Empfänger tatsächlich zu sehen bekommt. Zwei grüne Haken sind deshalb noch kein bestandenes DMARC — die entscheidende Frage stellt erst die Ebene darüber.