Ein Gastbeitrag von Martin Michl
Bist du auch genervt von Spam, Spoofing und Phishing? Ich auch!
Wenn du deine E-Mail Domains mit ein paar kleinen Schritten schützen kannst, würdest du nicht sofort loslegen?
In diesem Artikel erläutere ich ein paar kleine Mechanismen, die deine Domain sicherer machen können und verhindern, dass E-Mails von deiner Domain von anderen blockiert werden. Und so ganz nebenbei sorgst du auch dafür, dass das Internet etwas gesünder wird, weil du den Bösewichten weniger Angriffsfläche bietest.
Was sind SPF, DKIM und DMARC und wie können sie helfen?
SPF, DKIM und DMARC sind Methoden, die der Gegenstelle, also dem Empfänger einer E-Mail von deiner Domain, helfen zu prüfen, ob diese E-Mail wirklich von deiner Domain kommt. Damit kannst du als Inhaber einer Domain verhindern, dass diese Domain für Spam / Junk, Phishing, Spoofing oder anderes missbraucht wird.
SPF, DKIM und DMARC sind im Grunde DNS Einträge, die für deine Domain gesetzt werden und anhand derer der Empfänger Prüfungen vornehmen kann.
Damit trägst du zur Gesundheit des Internets bei und verhinderst, dass E-Mails von deiner Domain bei Providern geblockt werden, welche eine Prüfung mithilfe von SPF, DKIM und / oder DMARC verpflichtend durchführen (wie z.B. Google). Außerdem ist es eine gute Maßnahme um mit deiner Domain in diversen Listen nicht als SPAM markiert zu werden.
Hier die Fakten zu den drei Mechanismen SPF, DKIM und DMARC
SPF ( Sender Policy Framework )
Worum geht es bei SPF?
Ein Mechanismus, der bestimmt und prüft, wer von einer Domain E-Mails senden darf.
Wie funktioniert SPF?
Der Empfänger prüft ob der Sender von der Sender-Domain überhaupt senden darf. Diese Information kann der Empfänger aus einem DNS TXT Eintrag der Sender-Domain entnehmen.
Warum ist SPF wichtig?
Er verhindert den Missbrauch der Domain.
Wo gibt es weitere Informationen zu SPF?
DKIM (DomainKeys Identified Mail)
Worum geht es bei DKIM?
Ein E-Mail-Authentifizierungsmechanismus basierend auf asymmetrischer Verschlüsselung, der gefälschte Headerinformationen oder Inhalte erkennt.
Wie funktioniert DKIM?
Der Sender signiert Informationen aus dem E-Mail Header mit seinem Private Key. Der Empfänger verifiziert die Signatur mit dem veröffentlichten Public Key der Sender-Domain und prüft, ob die Felder unverändert sind.
Es wird kein digitales Zertifikat benötigt. Der Public Key wird über einen DNS TXT oder auch CNAME Eintrag der Sender-Domain veröffentlicht.
Warum ist DKIM wichtig?
Ermöglicht das Verifizieren von E-Mail Header Informationen und verhindert Missbrauch der Domain
Wo gibt es weitere Informationen zu DKIM?
DMARC (Domain-based Message Authentication, Reporting and Conformance)
Worum geht es bei DMARC?
Ein E-Mail-Verifizierungsmechanismus, der es dem Sender ermöglicht Regeln und Reporting um die Prüfung von SPF und DKIM zu erstellen.
Wie funktioniert DMARC?
Der Empfänger führt die Prüfungen zu SPF und DKIM durch. Danach verifiziert er die Ergebnisse gegen die veröffentlichte DMARC Richtlinie des Senders und entscheidet darauf basierend, was passiert: Blockieren, in Quarantäne geben (SPAM Ordner), einfach Übermitteln. Zusätzlich wird ermöglicht Berichte zu generieren und an den Sender zu schicken.
Die DMARC Richtlinie wird vom Sender über einen DNS TXT Eintrag veröffentlicht.
Warum ist DMARC wichtig?
Ermöglicht dem Empfänger Regeln für die Reaktion auf SPF und DKIM abzufragen und gibt Rückmeldung, die zur Optimierung genutzt werden können.
Wo gibt es weitere Informationen zu DMARC?
Was ist der Mehrwert von den drei hier beschrieben Mechanismen?
Mit dem Bereitstellen dieser Mechanismen mildern wir die Auswirkungen von Phishing und Malware Attacken. Wir verhindern Spoofing, Scams, den Missbrauch von Domains bzw. Markennamen und das Kompromittieren von E-Mails.
Wie wird werden diese Mechanismen eingerichtet?
SPF
Für SPF wird ein TXT Record im DNS gesetzt. Hier zwei Beispiele:
TXT host name | @ |
TXT value | v=spf1 include:spf.mailjet.com include:spf.protection.outlook.com -all |
TTL | 3600 Sekunden |
Erklärung | Im Namen der Domain dürfen E-Mails nur von den angegebenen zwei Adressen gesendet werden, alle anderen sollen vom Empfänger abgelehnt werden. |
TXT host name | @ |
TXT value | v=spf1 -all |
TTL | 3600 Sekunden |
Erklärung | Keine Adresse darf von dieser Domain senden. Dieser Eintrag ist für Domains sinnvoll, von denen keine E-Mails gesendet werden sollen inklusive geparkte Domains. |
Erklärung zu den Optionen:
Abkürzung | Bedeutung |
v | Protokollversion |
Qualifier | Ergebnis-Code | Direktive definiert… |
+ | Pass | … autorisierte Sender; dies ist der Standard, d. h. ist kein Qualifikator angegeben, so wird + angenommen |
– | Fail | … nicht autorisierte Sender |
~ | SoftFail | … nicht autorisierte Sender, der Empfänger soll diesen Fehlschlag aber großzügig behandeln. |
? | Neutral | … Sender, über deren Legitimität nichts ausgesagt werden soll; Der Sender muss akzeptiert werden. |
Mechanism | Direktive trifft zu, wenn … |
all | immer |
a | … ein A-(oder AAAA-)Record der befragten (oder explizit angegebenen) Domäne die IP-Adresse des Senders enthält |
mx | … ein MX-Record der befragten (oder explizit angegebenen) Domäne die IP-Adresse des Senders enthält |
ptr | (deprecated / veraltet) |
ip4 | … die angegebene IPv4-Adresse die IP-Adresse des Senders ist bzw. das angegebene IPv4-Subnetz diese enthält |
ip6 | … die angegebene IPv6-Adresse die IP-Adresse des Senders ist bzw. das angegebene IPv6-Subnetz diese enthält |
exists | … der angegebene Domainname aufgelöst werden kann, unabhängig von der Adresse, in die er aufgelöst wird; Dies wird selten verwendet. Zusammen mit der SPF-Makrosprache bietet es komplexere Übereinstimmungen wie DNSBL-Abfragen. |
include | … eine zusätzliche SPF-Anfrage zur im Include-Statement angegebenen Domain die IP-Adresse des Senders enthält |
Modifier | Beschreibung |
redirect | Der SPF-Record einer anderen Domain soll anstelle dieser eingeholt und ausgewertet werden |
exp | Verweist auf eine Domain, deren TXT-Record eine Erklärung für den Nutzer enthält, falls die E-Mail abgewiesen wurde (selten genutzt) |
DKIM
Für DMARC wird ein TXT Record und/oder ein CNAME im DNS gesetzt. Hier sind zwei Beispiele:
CNAME | selector1._domainkey |
Points to | selector1-anouri-gmbh._domainkey.anouriSoftware.onmicrosoft.com |
TTL | 3600 Sekunden |
TXT name | mailjet._domainkey |
TXT value | v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDL28xh+L6nbXk0irFjlzBNkKWGzgAsOdLXPEhutqVLlgztJ1pA2t23T2dPo/NwNtTL0tFw6X5oVYL8CAeNrvidmBQMMmQVYlsibF8bou5plsHnzFjGYDEPVPF587ntKsQUnl8QjUVlS/jjy3b/QpmEInU0CHk0Mypab9d/68IT4QIDAQAB |
TTL | 3600 Sekunden |
Abkürzung | Bedeutung |
v | Protokollversion (standardmaßig ‚DKIM1‘) |
g | Granularität |
h | Eine Liste von Mechanismen mit denen ein „Digest“ mit Informationen erstellt werden kann. (’sha1′ oder ’sha256′ können verwendet werden) |
n | Menschenlesbare Notizen |
s | Bietet eine Liste von Diensttypen, für die dieser Selektor gelten kann. (‚*‘ und ‚email‘ werden am häufigsten verwendet) |
q | Bietet eine Liste von Abfragemethoden. (‚dns‘ wird am häufigsten verwendet) |
l | Limitiert die E-Mail body Länge, wird häufig potenziellen Angriffen ausgesetzt |
k | Bietet eine Liste von Mechanismen, die zum Dekodieren einer DKIM-Signatur verwendet werden können. (‚rsa‘ wird am häufigsten verwendet) |
t | Bietet eine Liste von Flags, um die Interpretation des Selektors zu ändern. Diese DKIM-Auswahlflags für zusätzliche Flags sind optional. (‚y‘ und ’s‘ werden oft verwendet) |
p | Base64 kodierter public key |
DMARC
Für DMARC wird ein TXT Record im DNS gesetzt. Hier ein Beispiel:
TXT name | _dmarc.anouri.gmbh |
TXT value | v=DMARC1; p=reject; pct=100; rua=mailto:mailauth@anouri.gmbh; ruf=mailto:mailauth@anouri.gmbh |
TTL | 3600 Sekunden |
Erklärung | Die DMARC Richtlinie im „Reject“ Modus überwacht die E-Mail Zustellung und sollten die SPF und DKIM Checks fehlschlagen, soll die E-Mail abgelehnt werden. Es sollen forensische und aggregierte Berichte gesendet werden. |
Abkürzung | Bedeutung |
v | Protokollversion |
pct | Prozentualer Anteil der zu filternden Mails |
ruf | Forensischer Report wird versandt an: |
rua | Aggregierter Report wird versandt an: |
p | Anweisung, wie mit Mails der Hauptdomäne zu verfahren ist. Policy (p) kann sein „none“, „quarantine“ oder „reject“. |
sp | Anweisung, wie mit Mails der Subdomäne zu verfahren ist. |
adkim | Abgleichmodus für DKIM |
aspf | Abgleichmodus für SPF |
Was muss ich bei Microsoft Office 365 beachten?
Für Office 365 stellt Microsoft eine detaillierte Dokumentation bereit, wie diese Methoden implementiert werden können.
SPF | Set up SPF in Office 365 to help prevent spoofing |
DKIM | Use DKIM to validate outbound email |
DMARC | Use DMARC to validate email |
Empfohlene Tools:
SPF, DKIM, DMARC Analyse mit guten Erklärungen: https://mxtoolbox.com/SuperTool.aspx
SPF, DKIM, DMARC Generator / Checker / Wizard: https://dmarcly.com/tools/
DMARC Setup Guide: https://app.dmarcanalyzer.com/dns/setup
Lesenswerte Artikel:
Der definitive Guide für SPF, DKIM und DMARC: https://dmarcly.com/blog/how-to-implement-dmarc-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide
Gute Erklärung über den technischen Ablauf hinter SPF, DKIM und DMARC: https://www.endpoint.com/blog/2014/04/15/spf-dkim-and-dmarc-brief-explanation
Gute Erklärung und Übersicht von einem Microsoft Engineer: https://blogs.technet.microsoft.com/fasttracktips/2016/07/16/spf-dkim-dmarc-and-exchange-online/