eMail – Was ist SPF


… und wozu brauche ich das?

Wir starten in der Serie „eMail – Was ist ___ … und wozu brauche ich das?“ mit SPF.

Hier gehts direkt zu

Allgemein

SPF steht für Sender Policy Framework und wird verwendet um das fälschen von Absenderadressen einer eMail zu verhindern / zu erschweren. Es trägt somit dazu bei SPAM abzuwehren. Definiert ist SPF im RFC7208.

Um SPF zu nutzen trägt der Besitzer der Domain einen TXT-Eintrag im DNS-Server seines Providers ein. Dieser wird auch SPF-Eintrag genannt und beinhaltet die IP-Adressen (und/oder Domains) der Mailserver welche berechtigt sind für diese Domain eMails zu versenden. Vereinfacht kann man sich den SPF-Eintrag wie einen Reverse-MX-Eintrag vorstellen.

Es ist nicht verpflichtend einen SPF-Eintrag zu seiner Domain hinzuzufügen und Domains ohne SPF dürfen nicht negativ bewertet werden. Jedoch hat die Erfahrung gezeigt, dass ein SPF-Eintrag die Zustellwahrscheinlichkeit erhöht, sodass ich dringend empfehle einen solchen Eintrag zu verwenden.

Der Ablauf

Nimmt ein Mailserver eMails entgegen, prüft dieser das HELO Attribut der SMTP-Verbindung (Empfohlen; aber nicht zwingend notwendig) und das Feld MAIL FROM des eMail-Headers (Zwingend erforderlich). Dazu fragt der annehmende Mailserver den SPF-Eintrag im DNS ab und vergleicht den Eintrag mit den erhaltenen Daten.
Die eMail wird angenommen, wenn die IP-Adressen übereinstimmen. Stammt die eMail nicht von einem autorisierten Mailserver, kann die eMail trotzdem zugestellt oder abgelehnt werden. Dies kommt auf den genauen Inhalt des SPF-Eintrages an.

Hinweis: Die Prüfung umfasst nicht das From Feld, welches zur Anzeige des Absenders im eMail-Client genutzt wird. Daher schützt SPF nicht davor, dass Nutzer mit falschen Absenderadressen getäuscht werden können.

Inhalt und Aufbau

Der Inhalt des SPF-Eintrages besteht auf mehreren aufeinander folgenden Abschnitten welche durch ein Leerzeichen voneinander getrennt und als TXT-Eintrag für eine (Sub-) Domain im DNS hinterlegt werden. Die Auswertung erfolgt immer von vorne nach hinten und endet nach dem ersten Treffer.

Zu Beginn steht immer die aktuelle SPF Version (v=spf1), gefolgt vom sogenannten Mechanismus. Alle nach der Version stehenden Parameter werden als Mechanismen (Tabelle „Übersicht Mechanismen„) bezeichnet und können optional mit einem Qualifikator (Tabelle „Übersicht Qualifikatoren„) versehen werden.
Typischerweise wird als zuletzt stehender Mechanismus „all“ angegeben und dieser mit einem expliziten Qualifikator versehen.

Als Standardwert für den Qualifikator gilt +, sodass dieser nicht explizit angegeben werden muss.

MechanismusBeschreibung
aSender muss die IP(s) verwenden, welche bei Auflösung des A-Eintrags der sendenden Domain zurückgegeben wird.
mxSender muss die IP(s) verwenden, welche bei Auflösung des MX-Eintrags der sendenden Domain zurückgegeben wird.
ip4Sender muss die IP(v4) verwenden, welche explizit im SPF-Eintrag angegeben ist.
ip6Sender muss die IP(v6) verwenden, welche explizit im SPF-Eintrag angegeben ist.
includeSender muss die IP(s) verwenden, welche im externen SPF-Eintrag angegeben sind.
allSender IP ist immer gültig.
Übersicht Mechanismen

QualifikatorErgebnisBeschreibung
+PassBei positivem Abgleich zwischen Sender und Mechanismus ist die Prüfung bestanden und die eMail wird angenommen.
-FailBei positivem Abgleich zwischen Sender und Mechanismus ist die Prüfung nicht bestanden und die eMail wird abgelehnt.
~SoftFailBei positivem Abgleich zwischen Sender und Mechanismus ist die Prüfung nicht bestanden, die eMail wird jedoch in der Regel nicht abgelehnt.
?NeutralBei positivem Abgleich zwischen Sender und Mechanismus wird so verfahren, als wäre kein Qualifikator angegeben. Es soll explizit keine Aussage über den Sender getroffen werden. (Dies wird häufig bei der Implementierungsphase für den Mechanismus all verwendet.)
Übersicht Qualifikatoren

Beispiel

Folgender SPF Eintrag:

v=spf1 a mx ip4:xxx.xx.xxx.xxx include:_spf.google.com ~all

besteht aus 6 Abschnitten mit 5 Mechanismen und einem Qualifikator.
Er besagt, dass:

  • Version 1 der SPF Definition verwendet wird
  • Server / IP-Adressen autorisiert sind, die:
    • Im A-Eintrag der Domain hinterlegt sind
    • Im MX-Eintrag der Domain hinterlegt sind
    • die IPv4 xxx.xx.xxx.xxx verwenden
    • im externen SPF-Eintrag von Google hinterlegt sind
  • Alle anderen Server nicht autorisiert sind, jedoch eMails trotzdem zugestellt werden dürfen. Ggf. werden diese durch den annehmenden Mailserver mit einem Warnhinweis versehen.
  • Es können beliebig viele Mechanismen – jedoch maximal 10 welche eine DNS-Abfrage erfordern – verwendet werden.
  • Es dürfen maximal 2 DNS-Abfragen fehlschlagen, bevor der Fehler „void lookup“ auftritt.

Sind mehr als 10 DNS-Einträge enthalten oder können mehr als 2 DNS-Einträge nicht aufgelöst werden, führt dieszu einem
SPF PermError“ und der SPF Eintrag wird ignoriert.

Empfehlung: Prüfe regelmäßig Deine SPF-Records auf gültige und nicht mehr benötigte Einträge!

Du wünschst Dir Beratung oder brauchst Unterstützung bei der Einrichtung für Deine Domain?
Ich helfe Dir bei Prüfung, Fehlerbehebung, Erstellung und Aktualisierung Deines SPF-Eintrages.
Unterstützung vom erfahrenen Partner – nur einen Anruf entfernt!