1. Home
  2. E-Mail
  3. SPF-Record erstellen
  1. Home
  2. Domain & DNS
  3. SPF-Record erstellen

SPF-Record erstellen

SPF ist die Abkürzung von Sender Policy Framework und definiert eine DNS basierte Schutzfunktion gegen den missbräuchlichen E-Mail Versand über eine Domain.

SPF hat nichts mit dem SPAM aufkommen in Ihrem Postfach zu tun. Es sorgt nur dafür, dass Ihre E-Mails mit einer höheren Wahrscheinlichkeit beim Empfänger ankommen und nicht im SPAM-Ordner landen.

Das Problem beim E-Mail Versand ist, dass jedes Skript oder auch Programm sehr einfach E-Mails mit einem gefälschten Absender versenden kann. Als Beispiel kann man mit einem einfachen PHP Skript, beliebig viele E-Mails versenden und sich dabei als z.B. facebook.com ausgeben.

Da ein E-Mail Server (MTA – Mail Transfer Agent) anhand der eigentlichen E-Mail nicht überprüfen kann ob eine E-Mail auch wirklich vom Absender stammt, wurde das sog. SPF Verfahren entwickelt, welches es ermöglicht zu prüfen ob ein E-Mail Server auch wirklich E-Mails von z.B. facebook.com versenden darf.

Dazu wird im DNS System der jeweiligen Domain ein SPF-Record erstellt, der eine genaue Anweisung enthält, welche IP-Adressen E-Mails für die jeweilige Domain versenden dürfen und wie im fehlerfall mit der E-Mail umzugehen ist.
Während dem empfang einer E-Mail, prüft der MTA ob es einen entsprechenden DNS-Record (z.B. _spf.example.net) gibt und gleicht die darin enthaltene IP-Adresse mit der aktuellen Verbindung ab. Entspricht die IP-Adresse des Absende-MTAs nicht mit dem SPF-Record überein entscheidet die Direktive und der Qualifikator (z.B. ~Softfail) über die weitere Behandlung der E-Mail.

Ein SPF-Record ist für das funktionieren von E-Mails nicht zwingend erforderlich.
Es erhöht aber die Zustellungs-Wahrscheinlichkeit bei den großen E-Mail Providern wie Hotmail, Google, etc. und erhöht die Sicherheit im Umgang mit kritischen E-Mails.

Ein SPF-Record wird als TXT-Record zur DNS Zone einer Domain hinzugefügt. Dieser wird mit der Subdomain _spf angelegt (z.B. _spf.example.net).
Der Aufbau des SPF-Records erfolgt mit einer oder mehreren Direktiven. Jeder dieser Ausdrücke wird durch ein Leerzeichen getrennt.

Beispiel SPF-Record:
v=spf1 a mx ~all

SPF-Record den TCRserver.de für alle Kunden automatisch erstellt:
v=spf1 a mx include:_spf.tcrserver.de ~all

Übersicht über den Aufbau eines SPF-Records

Als erstes eine Tabelle der Direktiven mit denen ein Absender MTA beschrieben werden kann und deren (vereinfacht erklärten) Funktion:

aEin A- (IPv4) oder AAAA-Record (Ipv6) der aktuellen (oder explizit angegeben) Domain. Dadurch wird z.B. einem Webserver erlaubt über ein Kontaktformular E-Mails zu versenden. Achtung: Zusammen mit DKIM und DMARC kann und wird dies zu Problemen führen. Deswegen E-Mails immer über einen Mailserver (SMTP Plugin) verschicken!
mxEin MX-Record der aktuellen (oder explizit angegeben) Domain.
ip4Eine oder mehrere explizit angegeben IPv4 Adressen.
ip6Eine oder mehrere explizit angegeben IPv6 Adressen.
includeBindet den SPF-Record einer anderen Domain mit ein. Nützlich für Newsletter oder Helpdesk Tools wie MailChimp, ZenDesk, etc.

Die nachfolgende Tabelle enthält die möglichen Anweisungen wie mit einer E-Mail umgegangen wird.

+all(Pass): Diese Anweisung gibt an, dass die IP-Adresse oder der Mechanismus als „bestätigt“ angesehen wird und E-Mails im Namen der Absenderdomain senden darf. Wenn die SPF-Überprüfung eine Übereinstimmung mit einem +-Mechanismus ergibt, wird die E-Mail normalerweise zugestellt.
-all(Fail): Gibt an, dass die IP-Adresse oder der Mechanismus nicht als autorisiert betrachtet wird, E-Mails im Namen der Absenderdomain zu senden. Wenn die SPF-Überprüfung eine Nichtübereinstimmung mit einem --Mechanismus ergibt, könnte die E-Mail als Spam behandelt oder abgelehnt werden.
~all(SoftFail – Empfohlene Default Einstellung): Hier signalisiert die Anweisung, dass die IP-Adresse oder der Mechanismus zwar als „möglicherweise bestätigt“ betrachtet wird, jedoch nicht strikt notwendig ist. E-Mails von solchen Quellen werden normalerweise zugestellt, könnten aber als verdächtig SPAM gekennzeichnet werden.
?all(Neutral): Neutral signalisiert, dass es keine klare Anweisung zur Zustellung oder Ablehnung der E-Mail gegeben wird.
?all wird nur zum Testen verwendet und hat normalerweise keine direkte Auswirkung auf die Zustellung.
Updated on 8. August 2023

Was this article helpful?

Related Articles