DMARC Rekord (Domain-based Message Authentication, Reporting & Conformance)


DMARC erweitert SPF (Sender Policy Framework) und DKIM (DomainKeys Identified Mail) und wird als TXT-Record im DNS hinterlegt.
DMARC ist zwar offiziell noch ein Entwurf, wird aber schon von zahlreichen Anbietern unterstützt – und schaden kann es nicht.

Ein ganz einfacher DNS-Eintrag sieht in bind so aus:
_dmarc.example.com. IN TXT "v=DMARC1; p=none"

Schematisch funktionert DMARC so:

DMARC_author-to-recipient_flow
Quelle: dmarc.org

Ein DMARC-Eintrag im DNS ist also nur dann sinnvoll, wenn sowohl ein SPF-Record definiert ist (dazu habe ich mich erst hier vor ein paar Tagen ausgelassen) und die ausgehenden Mails mit DKIM signiert werden.

Wenn eine SPF- oder DKIM-Überprüfung fehlschlägt, wird die Mail in der Regel abgewiesen oder als Spam markiert. Durch DMARC kann der Absender aber definieren, wie strikt der Empfänger die Überprüfung durchführen soll und – und das ist der entscheidende Vorteil – an welche Adressen bei Fehlern ein Hinweis geschickt werden soll.

Ein SPF-Record kann leicht online erstellt werden, bei DKIM mein Schlüsselpaar erstellt werden. Mit dem privaten Key werden die Mails signiert und der öffentliche Schlüssel ist zur Überprüfung im DNS hinterleg. Mit ISPConfig ist jetzt schon jetzt alles möglich, was für DMARC benötigt wird (SPF, DKIM und DMARC): ISPConfig – DKIM-Patch 1.0.

Wenn beide Voraussetzungen vorhanden sind und erfolgreich laufen, fehlt nur noch ein DMARC-Record, dem man z.B. mit dem Assistenten von Scott Kitterman erstellen kann. Wenn dabei unter RUA und RUF eine Email-Adressen mit angegeben wird, trudeln nach einer Weile von verschiedenen Providern Reports ein.
Das sind mit zip komprimierte XML-Dateien, die nicht bequem zu lesen sind. Brauchbar auswerten lassen sich die Reports aber bei dmarcian.com.
Achtung: Wenn die Email-Adresse nicht zu der Domain passt, für die der DMARC-Record angelegt werden soll, muss in der DNS-Zone zu der Email-Adresse ein zusätzlicher Record hinterlegt werden. Scotts Assistent zeigt den dann aber mit an.
example.com._report._dmarc.external.com. IN TXT v="DMARC1;"

Es empfiehlt sich, die Policy des eigenen DMARC-Records nicht gleich auf “reject” zu stellen, sondern erstmal “none” zu verwenden. Der Wert hat keine zusätzlichen Auswirkungen auf Seiten des Empfängers, sondern es werden nur Reports verschickt. So kann man erstmal in Ruhe die eigene Konfiguration überprüfen und dann über “quarantine” zu “reject” übergehen.

Schreibe einen Kommentar

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