Skip to main content

SPF-Record (Sender Policy Framework)

Auf den Punkt gebracht

Ein SPF-Record wird für eine Domäne, also beispielsweise cloud4you.biz angelegt. In ihm steht beschrieben, welche IP-Adressen im Namen der Domäne Mails versenden dürfen. Man sollte daher also alle Mailserver, aber auch zum Beispiel eigenständig versendende Webserver oder Massenmaildienste von Drittanbietern dort eintragen. 

Jedes annähernd moderne Antispam-System (unseres natürlich auch) wird beim Empfang einer Mail prüfen, ob die Absenderdomäne über einen SPF-Record verfügt. Ist dies der Fall, wird als nächstes die IP-Adresse des Absenders mit dem SPF-Record verglichen, um zu sehen, ob die Absender-IP überhaupt zum Versand legitimiert wurde. Falls ja, finden selbstverständlich noch weitere Überprüfungen statt. Falls dies jedoch schon nicht der Fall ist, wird die Mail direkt abgelehnt.

Immer mehr Hostinganbieter setzen mittlerweile auch die Existenz eines SPF-Records bei der Absenderdomain voraus, um Mails von der Domäne empfangen zu können.

Es hilft also gezielt dagegen, dass sich Dritte als eine gewisse Firma durch Absenderfälschung ausgeben können. Nicht helfen wird diese Mechanik gegen Spam vom extra dafür gekauften Domains. 

Technischer Aufbau

Ein SPF-Record ist technisch gesehen ein TXT-Record, der mit einer bestimmten Syntax beginnen muss, um als solcher gewertet zu werden.

Anfang (Essentiell) Erlaubte IP-Adressen (eine oder mehrere, durch Leerzeichen getrennt) Ende (Behandlungsempfehlung von nicht autorisierten Mails)
v=spf1

ip4:x.x.x.x(/x)

legitimiert eine IPv4-Adresse oder -Netz

-all
Fail: nicht legitimiertes wird abgelehnt

ip6:x:x:x:x:x:x:x:x(/x)
legitimiert eine IPv6-Adresse oder Netz

~all
SoftFail: nicht legitimiertes wird gekennzeichnet oder in Quarantäne abgelegt

a
legitimiert die IP hinter dem A-Record für die Domain

?all
Neutral: Nicht legitimiertes soll nicht gesondert behalndelt werden (unüblich)

mx
legitimiert die IPs hinter den MX-Records für die Domain


include:<domain.example>
legitimiert die erlaubten Adressen des SPF-Records der o.g. Domain auch für diese Domain

Beispiele

v=spf1 a mx -all
Hier dürfen nur der Webserver hinter dem A-Record und die Mailserver hinter den MX-Records Mails im Namen der Domain versenden. Mails von anderen IP-Adressen sollen hart abgelehnt werden.

v=spf1 include:spf.cloud4you.biz ~all
Das könnte ein Kunde von uns sein. Dieser hat keine Dienste wo anders und möchte nur, dass die von uns gehosteten Systeme (also zum Beispiel "Hosted Exchange" oder "Webhosting") im Namen der Domain versenden dürfen. Mails von IP-Adressen außerhalb unseres Systems sollen zumindest vom Empfänger markiert werden.