Bereits im letzten Beitrag habe ich dargestellt, wie mittels SPF- bzw. DKIM-Eintrag im DNS der Missbrauch der eigenen Domain zur Versendung von Spam-E-Mails verhindert werden kann, indem dem Empfänger einer E-Mail die Möglichkeit gegeben wird, zu verifizieren, ob der Absender tatsächlich im Namen der eigenen Domain handeln darf.
Sobald der Server des Empfängers einer E-Mail mittels SPF oder DKIM erkennt, dass es sich bei dem Absender um keinen verifizierten Sender handelt, lehnt dieser die E-Mail im Regelfall ab. Der Betreiber der Domain, die zum Versenden der E-Mail genutzt worden ist, erfährt davon jedoch nichts und kann somit auch weder Maßnahmen zur Bekämpfung von Spam-E-Mails ergreifen, die unter Nutzung seiner Domain versandt werden, noch wird er vor der Gefahr gewarnt, dass die eigene Domain aufgrund dieser Spam-Emails auf Blacklists landen könnte, was wiederum auch zur Abweisung eigentlich valider E-Mails dieser Domain durch andere Server führen könnte.
DMARC
An diesem Punkt setzt DMARC an: Mittels eines solchen DNS-Eintrags kann ein Domainbetreiber Informationen veröffentlichen, an die andere Server Statusmeldungen und insbesondere Fehler schicken können, die sich bei der Überprüfung einer E-Mail mittels SPF oder DKIM ergeben.
Indirekt schreckt ein gesetzer DMARC-Eintrag aber auch Spam-Versender ab, da bereits damit angedeutet wird, dass der Betreiber der Domain sich aktiv gegen den Versand von Spam-E-Mails unter Nutzung seiner Domain wehren wird und damit solche E-Mails weniger große Erfolgschancen haben werden.
Spezifikationen von DMARC
Die Spezifikationen des DMARC-Eintrags sind öffentlich zugänglich und auf der Website von dmarc.org zu finden: https://dmarc.org/resources/specification/. Hilfreich ist dabei auch die hier zu findende Auflistung häufig vorkommender Fehler.
Eine gute Erklärung in deutscher Sprache einschließlich Hinweisen zur Auswertung erhaltener Reports gibt es unter https://www.msxfaq.de/spam/dmarc.htm
Mein eigener (hier hinsichtlich der verwendeten E-Mail-Adressen anonymisierter) DMARC-Eintrag für den DNS-TXT-Record für julian-wagner.org lautet beispielsweise:
v=DMARC1; p=none; pct=100; rua=mailto:...@julian-wagner.org; aspf=r
DMARC setzen
Technisch handelt es sich bei dem DMARC-Eintrag um einen TXT DNS Eintrag. Der txt record-Name ist „TXT record name should be “_dmarc.example.com“, wobei „example.com“ durch die eigene Domain zu ersetzen ist. Dieser Eintrag ist über den eigenen Hoster zu setzen, wobei der Wert „_dmarc“ typischerweise in einem Feld einzusetzen ist, das als „Präfix“ oder „Name“ bezeichnet ist. Für meinen Hoster all-inkl.com verweise ich auf deren Anleitung zur Setzung eines SPF-Eintrags, die hier sinngemäß anzuwenden ist: https://all-inkl.com/wichtig/anleitungen/kas/tools/dns-werkzeuge/spf_482.html
Der eigentliche DMARC-Eintrag selbst ist als entsprechender Wert anzulegen.
DMARC im Praxistest
Ob der eigene DMARC-Eintrag erfolgreich gesetzt worden ist, lässt sich etwa überprüfen mit dem DMARC Lookup Tool von MXToolbox: https://mxtoolbox.com/dmarc.aspx
Gibt man dort die eigene Domain ein, wird der hinterlegte DMARC-Eintrag angezeigt einschließlich einer Erklärung, welche Anweisungen daraus für den Server des Empfängers folgen.
Sendet man nun eine E-Mail an einen Server, der DMARC unterstützt, bekommt man nach wenigen Stunden außerdem den ersten Report an die mittels DMARC hinterlegte E-Mail-Adresse.
Ein Report sieht beispielsweise wie folgt aus:
<?xml version="1.0" encoding="UTF-8" ?>
<feedback>
<report_metadata>
<org_name>google.com</org_name>
<email>noreply-dmarc-support@google.com</email>
<extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
<report_id>10306856795140121495</report_id>
<date_range>
<begin>1500768000</begin>
<end>1500854399</end>
</date_range>
</report_metadata>
<policy_published>
<domain>julian-wagner.org</domain>
<adkim>r</adkim>
<aspf>r</aspf>
<p>none</p>
<sp>none</sp>
<pct>100</pct>
</policy_published>
<record>
<row>
<source_ip>...</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>fail</dkim>
<spf>pass</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>julian-wagner.org</header_from>
</identifiers>
<auth_results>
<spf>
<domain>julian-wagner.org</domain>
<result>pass</result>
</spf>
</auth_results>
</record>
</feedback>
Dabei gibt der Bereich „policy_published“ den DMARC-Eintrag wieder, wie er vom Server des Empfängers erkannt wurde. Auch zeigt der Report, ob SPF/DKIM funktionierten (hier: SPF ja, DKIM nein).
Datenschutzrechtliche Aspekte von DMARC
Der eco – Verband der Internetwirtschaft e.V. hat den Einsatz von DMARC auf seine Vereinbarkeit mit dem Datenschutzrecht untersucht. Er weist darauf hin, dass insbesondere die sog. Failure Reports diverse personenbezogene Daten enthalten können (u.a. die E-Mail-Adressen von Sender und Empfänger), obwohl diese Daten nicht zur Spambekämpfung erforderlich sind. Entsprechende Reports sollten daher weder selbst versendet werden, noch sollte im Rahmen des DMARC-Eintrags des DNS-TXT-Records durch eine Angabe von „ruf=…“ signalisiert werden, dass man derartige Reports entgegennimmt. Das Gutachten ist zu finden unter https://certified-senders.org/wp-content/uploads/2018/08/Gutachten_DMARC_und_DSGVO.pdf
Schreib als Erster einen Kommentar