SPF, DKIM und DMARC – was ist das?

Was bedeuten die Begriffe SPF, DKIM und DMARC, die beim Mail-Versand eine Rolle spielen. Wir haben uns umgesehen, und versuchen eine möglichst verständliche Erklärung. Aber leicht ist das nicht, glauben Sie uns.

Inhalts­verzeichnis

Im Oktober 1971 hatte Ray Tomlinson den ersten elektronischen Brief verschickt, das war die Geburtsstunde der E-Mail. Damals dachte man nicht daran, dass es in Zukunft auch Spam-Mails geben könnte, daher wurde das technische Konzept hinter dem Mailversand eher einfach gehalten. Jahrzehnte danach haben wir den Spam-Salat.

Nun gibt es nachträglich entwickelte Konzepte, die sich um wesentliche Anforderungen an die E-Mail kümmern, wie die Authentizität, der Datenschutz und die Integrität der E-Mail.

Mit der Authentizität einer E-Mail ist gemeint, dass sichergestellt ist, dass die E-Mail auch wirklich vom Absender stammt, also ein Original ist und keine betrügerische Fälschung. Datenschutz bezeichnet bei E-Mails im Wesentlichen den Schutz vor Mitlesen durch Dritte auf dem Übertragungsweg. Als Integrität bezeichnet man das Schutzziel, dass der E-Mail-Inhalt bei der Übertragung vollständig und unverändert bleibt.

Wikipedia, Stand 2021-07-03

Einträge im Domain Name System

Bei allen Verfahren zur Gewährleistung der wesentlichen Kriterien handelt es sich um Einträge im Domain Name System (DNS), also die Domain-Einstellungen der Domain, für die diese Kriterien angewendet werden sollen.

Es existieren daher optimalerweise im DNS der Domain drei besondere (Text-)Einträge für die Absicherung des Mail Verkehrs mit Hilfe der drei folgenden Verfahren:

  • SPF
  • DKIM
  • DMARC

Die Einträge für SPF, DKIM und DMARC sind nicht für alle Mailserver und Domains einfach dieselben, sondern deren Inhalte hängen von den Umständen ab. Kopieren Sie daher keinesfalls etwaige Beispiele von weiter unten und fügen Sie diese auf Ihrem Nameserver ohne Anpassungen ein!

Sie benötigen also Zugang zum DNS im Verwaltungsbereich Ihres Providers. Dort folgen Sie am besten einer Anleitung, die Ihr Provider zweifellos zur Verfügung stellt. Sollte das nicht der Fall sein, wenden Sie sich an den Support Ihres Providers.

Änderungen im DNS werden üblicherweise nicht sofort wirksam. Je nach Provider kann das einige Minuten bis einige Stunden dauern, bis Ihre Einträge wirksam – oder bei Fehlfunktion und Löschens des Eintrags – wieder unwirksam werden.

Seien Sie bitte auch unbedingt gewarnt: fehlerhafte DNS-Einträge können zu Nicht-funktionieren von Website und/oder Mail-Versand führen. Konsultieren Sie daher auch die Anleitungen oder den Support Ihres Providers, bei dem die DNS-Einträge gemacht werden.

Am Ende des Beitrags finden Sie hilfreiche Links.

SPF

Was ist ein SPF Eintrag?

SPF steht für Sender Policy Framework.

Mit einem SPF Eintrag vom Typ TXT(SPF) wird festgelegt, welche (Mail-)Server im Namen der Domain E-Mails versenden dürfen. SPF kümmert sich also um die Authentizität (stammt die E-Mail tatsächlich vom Absender?).

Ablauf

  1. Der Empfänger-Mailserver erhält eine E-Mail, und prüft erst einmal, ob der Absender zum Versand berechtigt ist. Dazu sieht sich der Empfänger an, welche Domain der Absender in bestimmten Mail-Feldern („MAIL FROM“ und „HELO“ im Mail-Header) angegeben hat.
  2. Für diese angegebene Domain ruft der Empfänger nun die SPF-Information über das Domain Name System der Sender-Domain ab.
  3. Stimmt die IP-Adresse überein (wird also der Sender-Mailserver in der Sender Domain angeführt), so ist der Absender authentisch, und die E-Mail wird in die Inbox zugestellt. Andernfalls kann die E-Mail verworfen werden; oder sie wird zwar zugestellt, aber direkt im Spam-Verzeichnis des Empfängers abgelegt.

Wie macht man einen SPF-Eintrag?

Beispieleinträge im DNS

  1. ihre-domain.de. IN TXT "v=spf1 mx a -all"
  2. ihre-domain.de. IN TXT "v=spf1 mx a ?all" (Beispiel des Providers all-inkl)
  3. ihre-domain.de. IN TXT "v=spf1 include:_spf.ihr-newsletter-mailserver.com a mx ~all"

Das sieht kompliziert aus, ist aber relativ leicht zu erhalten, und sollte daher in Ihren Domaineinstellungen (DNS / Nameserver) enthalten sein. Beachten Sie, dass Sie mit dem Zeichen vor dem Wort „all“ steuern, inwieweit alle anderen Mailserver klassifiziert werden:

  • -all: die „strenge Variante“ für die Domain („hard fail“)
  • ~all: die tolerantere Variante („soft fail“)
  • ?all: alle anderen Mailserver gelten als neutral
  • +all: alle Mailserver sind zum Senden berechtigt (davon ist abzuraten)

Mit dem Eintrag aus Punkt 1 wird etwa nur solchen Mailservern die Zustellung von Mails erlaubt, die einen sogenannten MX Eintrag (mx) in der DNS Domain besitzen, alle anderen werden (als „hard-fail“) abgewiesen wird (-all).

Mit dem Eintrag aus Punkt 2 wird ebenfalls nur solchen Mailservern die Zustellung von Mails explizit erlaubt, die einen MX Eintrag (mx) in der DNS Domain besitzen, alle anderen werden aber nur als „verdächtig“ markiert, und dennoch zugelassen (?all). Die Mails dieser anderen Mailserver landen dann je nach Empfängersystem durchaus im Posteingang oder zumindest im Spam-Verzeichnis der Empfänger.

Den für Ihren Fall konkreten Inhalt erhalten Sie entweder von Ihrem Provider, oder Sie nutzen dafür ein Tool (s.u.). Das werden Sie benötigen, wenn Sie beispielsweise auch über eine Newsletter-Plattform (CleverReach, mailworx, MailChimp, MailerLite, u.a.) Mails versenden wollen. Denn damit gestatten Sie auch dem Mailserver der Newsletter-Plattform Mails in Namen Ihrer Domain zu versenden. Sehen Sie dazu den o.a. Eintrag aus Punkt 3 für den fiktiven Mailserver ihr-newsletter-mailserver.com.

In diesem Fall müssen Sie in Erfahrung bringen, wie der Mailserver der jeweils verwendeten Plattform heißt, und wie der konkrete SPF Eintrag für Ihre Domain lauten soll. Suchen Sie am besten im Support-Bereich der Plattform nach Artikeln rund um den Begriff SPF.

https://de.wikipedia.org/wiki/Sender_Policy_Framework#Aufbau_eines_SPF-Records

DKIM

Was ist ein DKIM Eintrag?

DKIM steht für Domain Keys Identified Mail.

Eine DKIM Signierung einer E-Mail kann sicherstellen, dass eine E-Mail bei einem Empfänger in unveränderter Form ankommt, dass also diese E-Mail am Weg vom Sender zum Empfänger nicht verändert wurde; eine Wertung bezüglich Spam findet dabei ausdrücklich nicht statt.

Um das zu bewirken, wird die E-Mail durch den Sender verschlüsselt, und durch den Empfänger entschlüsselt. Dazu braucht es ein Schlüsselpaar, so ähnlich wie bei der SSL (TLS) Technik von Webserver und Browser. Der öffentliche Teil des Schlüsselpaars wird am Nameserver (im Domain Name System) hinterlegt, der private Teil des Schlüsselpaars am Mailserver implementiert.

Ablauf

  1. Wenn eine E-Mail versendet wurde, fügt DKIM die sogenannte DKIM-Signatur zum Header der E-Mail hinzu.
  2. Wenn die E-Mail empfangen wird, fragt der Empfänger-Mailserver den öffentlichen Schlüssel ab, der in der DNS-Zone der Sender-Domain veröffentlicht wurde. Mit diesem Schlüssel wird überprüft, ob die Signatur korrekt ist.

Wenn der öffentliche Schlüssel nicht zur Signatur passt, so kann dies folgende zwei Gründe haben:

  • Die E-Mail wurde nicht vom Mailserver gesendet, der im Mail-Header deklariert ist, sondern von einem anderen – betrügerischen – Server.
  • Die E-Mail wurde auf dem Weg vom „echten“ Mailserver zum Empfänger verändert.

DKIM kümmert sich also um Datenschutz (um das Nicht-mitlesen-können) und Integrität (unveränderter Inhalt).

Wie macht man einen DKIM-Eintrag?

DKIM kann man bei guten Mailprovidern einfach aktivieren, vermutlich bei den Einstellungen zur Domain (konsultieren Sie bitte den Hilfe-Bereich Ihres Providers). Dabei wird das Schlüsselpaar erzeugt und der öffentliche Schlüssel ins DNS eingetragen. Der private Schlüssel wird mit jeder Mail automatisch mit gesendet.

Der Dateninhalt des öffentlichen Schlüssels sieht so ähnlich aus wie:

v=DKIM1;p=MIGfMA0GCSqGSIb.......6tLIfDHVwIDAQAB (sehr langer Ausdruck)

Wenn das der Provider nicht auf Knopfdruck anbietet, wird es leider kompliziert. Sie werden nicht daran vorbeikommen, sich an den Support Ihres Providers zu wenden, oder sich in dessen Support-Bereich nach Anleitungen umzusehen. Denn es reicht nicht, das Schlüsselpaar mit einem Tool herzustellen, und dann nur den öffentlichen Schlüssel am Nameserver abzulegen. Es muss zwingend auch der private Schlüssel am Mailserver so hinterlegt werden, dass gemeinsam mit dem öffentlichen Schlüssel die ausgehenden Mails verschlüsselt werden können. Weiters muss der private Schlüssel mit den Mails mit gesendet werden, sodass ein Entschlüsseln der Mails beim Empfänger gemeinsam mit dem öffentlichen Schlüssel möglich ist.

DMARC

Was ist ein DMARC Eintrag?

DMARC steht für Domain-based Message Authentication, Reporting and Conformance.

Mit DMARC können Sie Empfehlungen geben, wie ein Empfänger-Server bei Verstößen gegen SPF und DKIM mit einer E-Mail verfahren soll. Das lässt sich stufenweise regulieren je nach den verwendeten Parametern. Wenn es weder einen SPF noch einen DKIM Eintrag gibt, dann kann man sinnvollerweise auch keinen DMARC-Eintrag für diese Domain anlegen.

Außerdem haben Sie die Möglichkeit sich bei Verstößen informieren zu lassen, wenn Sie den DMARC Eintrag entsprechend vornehmen.

Der Dateninhalt eines DMARC Eintrags im Domain Name System kann so aussehen:

v=DMARC1; p=reject; rua=mailto:mail@ihre-domain.de; ruf=mailto:mail@ihre-domain.de; adkim=s; aspf=r

  • v=DMARC1 ist fixer Bestandteil und darf nicht geändert werden.
  • p weist den Empfängerserver an, was mit Nachrichten passieren soll, die nicht authentifiziert werden konnten. Mögliche Werte sind none, quarantine und reject.
  • Mit rua nennen Sie die E-Mail-Adresse, an die Berichte zu DMARC-Aktivitäten für Ihre Domain gesendet werden. Tipp: legen Sie dafür eine eigene Mailbox an, etwa nach dem Schema dmarc-rua@ihre-domain.de
  • Mit ruf nennen Sie die E-Mail-Adresse, an die Fehlerberichte (auch forensische Berichte genannt) versendet werden sollen. Tipp: legen Sie dafür eine eigene Mailbox an, etwa nach dem Schema dmarc-ruf@ihre-domain.de
  • adkim und aspf legen die Abgleichrichtlinien für DKIM bzw. SPF fest. Darin ist definiert, wie genau Nachrichteninformationen mit DKIM-Signaturen bzw. SPF-Signaturen übereinstimmen müssen. s steht für „strenger Abgleich“, r für „lockeren Abgleich“.

Puh, das war jetzt doch ein wenig mehr Erklärung zur Technik, als ursprünglich vorgesehen. Verzeihen Sie mir bitte. Andererseits: so läuft es bei DMARC nun einmal ab.

Wie macht man einen DMARC-Eintrag?

Bei DMARC Einträgen gibt es, wie Sie eben gesehen haben, eine Reihe von Parametern (Wikipedia). Damit wird reguliert, auf welche Art der Empfänger mit einer Mail umgeht, die im Fall SPF und/oder DKIM nicht den Anforderungen entspricht. 

Wie das daher in Ihrem konkreten Fall aussehen kann, das fragen Sie am besten bei kompetenter Stelle nach (bei Ihrem Domain/Mail-Provider), oder probieren es vorsichtig unter Zuhilfenahme von Anleitungen (s.o. unsere, bzw. s.u. bei Online-Tools) aus.

Tools

Mit dem gewonnen Basis-Wissen können Sie auch diverse Tools und Generatoren bestens nutzen. Sehen Sie sich etwa die Tools der Plattform MX Toolbox an:

Weitere Tools, die wir für hilfreich halten:

Fazit

Das Thema Mail-Absicherung ist kein triviales Thema. Eine Standardvorgangsweise, bei der „blind“ allgemein wirksame und gültige Einträge in irgendein Tool gemacht werden, gibt es hierfür leider nicht.

Wir freuen uns, wenn uns gelungen sein sollte, etwas Licht ins Dunkel zu bringen. Teilen Sie doch bitte Ihre Erfahrungen als Kommentar zum Beitrag mit.

Standardbild
Heinz Duschanek
Heinz Duschanek hat 2003 die Online-Marketing Agentur E-Werkstatt gegründet. Da er vorher auch beim Radio gearbeitet hatte (Radio CD International, Ö1, Ö3), freut er sich jetzt ganz besonders über die Richtung, die das Online-Marketing nimmt. Denn das liefert einen Vorwand dafür, viele elektrischen Geräte und Gadgets rund um Audio und Video anzuschaffen. Daneben interessiert sich Heinz auch für Tango Argentino (seit 2009), Lindy Hop, Wing-Tsun, Boxen, (Jazz-/Blues-)Gitarre.

Ein Kommentar

Schreibe einen Kommentar