Eine Initiative des eco - Verband der Internetwirtschaft e.V.
Sender Policy Framework
SPF steht für Sender Policy Framework und ist ein Verfahren zur Authentifizierung von E-Mails.
Es soll verhindern, dass E-Mails mit einer gefälschten Absenderadresse versendet werden.
Wie funktioniert SPF?
SPF funktioniert, indem der Empfänger einer E-Mail die IP-Adresse des sendenden Mailservers überprüft. Dazu fragt der Empfänger den Domain Name Server (DNS) der Absenderdomain nach einem SPF-Eintrag. Dieser Datensatz enthält eine Liste von IP-Adressen, von denen E-Mails mit der betreffenden Domain versendet werden dürfen.
;
Mittels SPF wird in einem DNS TXT Eintrag hinterlegt, welche IPs für die jeweilige Versanddomain versenden dürfen. Das Setzen eines SPF DNS Eintrags ist einfach und sollte von Versendern implementiert werden.
Benötigt werden alle IP-Adressen bzw. IP-Ranges, die zum Versand genutzt werden. Diese werden durch Leerzeichen getrennt in einen SPF-Eintrag übernommen.
Aufbau eines SPF Eintrages
Ein SPF-Eintrag ist ein TXT-Record im DNS und beginnt immer mit v=spf1, um die SPF-Version zu kennzeichnen.
Hier sind die wichtigsten Tags und Qualifizierer, die in einem SPF-Eintrag verwendet werden:
- Tags:
ip4 und ip6: Gibt spezifische IPv4- oder IPv6-Adressen oder -Adressbereiche an, die senden dürfen.
Beispiel: ip4:192.168.0.1 oder ip4:192.168.0.0/24
a: Erlaubt alle IP-Adressen, die im A-Record (oder AAAA-Record für IPv6) der Domain stehen.
Beispiel: a oder a:mail.example.com
mx: Erlaubt alle IP-Adressen der Mailserver, die im MX-Record der Domain angegeben sind.
Beispiel: mx oder mx:example.com
include: Bindet SPF-Einträge anderer Domains ein (z. B. wenn ein externer Anbieter für das E-Mail-Versenden genutzt wird).
Beispiel: include:_spf.google.com
all: Dieser Mechanismus wird oft am Ende verwendet und legt fest, was mit nicht berechtigten Servern passieren soll.
- Qualifizierer:
+ (Pass): Zulässig, aber selten explizit angegeben, da es Standard ist.
– (Fail): Die E-Mail wird abgelehnt, wenn der Absender-Server nicht autorisiert ist.
~ (SoftFail): Die E-Mail wird akzeptiert, aber als potenziell unsicher markiert.
? (Neutral): Keine Aussage über die Authentizität der E-Mail.
Beispiel eines SPF-Eintrages
DOMAIN.TLD TXT „v=spf1 ip4=192.0.2.0 ip4=192.1.2.0/24 ip6=fe80::0202:b3ff:fe1e:8329/64 include:sub.example.com -all“
v=spf1: SPF-Version 1.
ip4:192.168.0.1: Nur der Server mit dieser IP-Adresse darf E-Mails senden.
include:_spf.google.com: Externe Server von Google (z. B. Google Workspace) sind ebenfalls berechtigt.
-all: Alle anderen Server sind nicht autorisiert und E-Mails von ihnen sollen abgelehnt werden.
Beispiel für SPF mit verschiedenen Qualifizierern
v=spf1 +ip4:192.0.1.5 -ip4:198.51.100.10 ~include:_spf.extern.com ?a -all
+ip4:192.0.1.5: Die IP-Adresse 192.0.1.5 ist autorisiert, E-Mails für die Domain zu senden (Standardqualifizierer + für Pass).
-ip4:198.51.100.10: E-Mails von der IP-Adresse 198.51.100.10 sollen abgelehnt werden (- für Fail).
~include:_spf.extern.com: E-Mails von Servern, die im SPF-Eintrag _spf.extern.com aufgeführt sind, werden akzeptiert, aber als unsicher markiert (~ für SoftFail).
?a: Alle IP-Adressen, die als A-Record der Domain hinterlegt sind, werden mit neutraler Bewertung (? für Neutral) berücksichtigt.
-all: Alle anderen Server werden abgelehnt, da sie nicht autorisiert sind (- für Fail).
Es gibt auch die Möglichkeit ein Redirect zu machen:
DOMAIN.TLD TXT „v=spf1 redirect:sub.example.com“
Wenn man ein Redirect setzt, sind – abgesehen von „v“ – keine weiteren Parameter erlaubt.
Beispielsweise -all oder ~all sollte in dem Fall auch weggelassen werden! Letzteres ist ein häufig gemachter Fehler.
Für SPF existiert nur eine Version: spf1.
Die Version „spf2.0/*“ ist keine SPF Version, sondern SenderID und obsolet. Mehr Information dazu: http://www.open-spf.org/SPF_vs_Sender_ID
Für weitere Details zur Implementierung verweisen wir auf https://www.rfc-editor.org/rfc/rfc7208.
SPF-Überprüfung beim Empfänger
Wenn ein empfangender Mailserver eine E-Mail erhält, überprüft er die IP-Adresse des Absenders gegen den SPF-Eintrag der Domain im Absenderfeld. Je nach Ergebnis der Prüfung wird die E-Mail entweder akzeptiert, als verdächtig markiert oder abgelehnt.
Leider schlägt SPF in vielen zentralen Anwendungsfällen von E-Mail fehl, beispielsweise bei Weiterleitungen oder der Nutzung von Mailinglisten. Daher wird SPF fast ausschließlich in Kombination mit anderen Authentifizierungsmethoden verwendet.
Vorteile von SPF
- Schutz vor E-Mail-Spoofing: SPF verhindert, dass nicht autorisierte Server E-Mails im Namen Ihrer Domain senden.
- Reduzierung von Spam und Phishing: Durch die Authentifizierung der Absenderdomain können Empfänger E-Mails besser filtern.
- Unterstützung durch DMARC: SPF bildet eine Grundlage für DMARC (Domain-based Message Authentication, Reporting & Conformance), welches zusätzlich den Schutz durch Berichte und Richtlinien für E-Mail-Verkehr erweitert.
Einschränkungen von SPF
- Weiterleitungen: SPF kann bei E-Mail-Weiterleitungen Probleme haben, da die Weiterleitung die ursprüngliche IP-Adresse verändert.
- Reine IP-Überprüfung: SPF prüft nur die IP-Adresse und nicht den vollständigen E-Mail-Inhalt.