Was ist ein SPF-Eintrag und welche Elemente hat er?
SPF (Sender Policy Framework) ist ein DNS-TXT-Eintrag, der festlegt, welche Mailserver berechtigt sind, E-Mails im Namen Ihrer Domain zu versenden. Schützt vor Spoofing — dem Vortäuschen Ihrer Domain durch nicht autorisierte Absender.
Wie funktioniert SPF?
Wenn der Empfänger-Server eine Nachricht erhält, prüft er den SPF-Eintrag der Absender-Domain. Er vergleicht die IP-Adresse des sendenden Servers mit der Liste der erlaubten Adressen im Eintrag. Wenn die IP nicht auf der Liste steht — kann die Nachricht abgelehnt oder als Spam markiert werden.
Beispiel-SPF-Eintrag
v=spf1 ip4:203.0.113.0/24 include:_spf.google.com ~all
Elemente des SPF-Eintrags
Version
Jeder SPF-Eintrag muss beginnen mit
v=spf1.
Dies ist die einzige unterstützte Protokollversion.
Mechanismen
Mechanismen legen fest, welche Server zum Versenden von E-Mails berechtigt sind. Sie werden der Reihe nach von links nach rechts geprüft.
| Mechanismus | Beispiel | Beschreibung |
|---|---|---|
| ip4 | ip4:203.0.113.0/24 | Erlaubt eine bestimmte IPv4-Adresse oder einen CIDR-Bereich. |
| ip6 | ip6:2001:db8::/32 | Erlaubt eine bestimmte IPv6-Adresse oder einen CIDR-Bereich. |
| include | include:_spf.google.com | Bindet den SPF-Eintrag einer anderen Domain ein. Wird verwendet, wenn externe E-Mail-Anbieter genutzt werden (Google, SendGrid usw.). |
| a | a:mail.example.com | Erlaubt IP-Adressen, die durch den A-Eintrag der Domain angegeben werden. Ohne Argument wird die Domain aus dem Header geprüft. |
| mx | mx | Erlaubt Server, die durch die MX-Einträge der Domain angegeben werden. Nützlich, wenn der empfangende Mailserver auch der sendende ist. |
| exists | exists:%{i}.example.com | Prüft, ob ein bestimmter DNS-Eintrag existiert. Selten verwendet, eingesetzt in erweiterten Konfigurationen. |
| all | ~all | Entspricht allen IP-Adressen. Wird immer am Ende des Eintrags als Standardregel verwendet. |
Qualifikatoren
Jedem Mechanismus kann ein Qualifikator vorangestellt werden, der bestimmt, was zu tun ist, wenn der Mechanismus zutrifft.
| Symbol | Name | Aktion |
|---|---|---|
| + | Pass | Der Server ist autorisiert. Standard-Qualifikator. |
| - | Fail | Der Server ist nicht autorisiert. Die Nachricht sollte abgelehnt werden. Die strengste Richtlinie. |
| ~ | SoftFail | Der Server ist wahrscheinlich nicht autorisiert. Nachricht akzeptiert, aber markiert. Empfohlen bei der SPF-Einführung. |
| ? | Neutral | Keine eindeutige Richtlinie. Wird ähnlich behandelt wie das Fehlen eines SPF-Eintrags. |
Modifikatoren
Modifikatoren sind optionale Direktiven, die das Verhalten des gesamten SPF-Eintrags ändern.
| Modifikator | Beschreibung |
|---|---|
| redirect | Leitet die SPF-Prüfung an eine andere Domain weiter. Ersetzt den gesamten Eintrag — kann nicht zusammen mit all. |
| exp | Gibt die Domain mit einer Nachricht an, die die Ablehnung erklärt. Selten verwendet. |
Limit von 10 DNS-Abfragen
Mechanismen
include,
a,
mx
und
exists
führen DNS-Abfragen durch. Der SPF-Standard erlaubt maximal 10 solcher Abfragen — das Überschreiten des Limits führt zu einem Fehler
permerror.