SPF-Eintrag-Syntax: Struktur und Bestandteile | EasyDMARC

SPF-Eintrag-Syntax: Struktur und Bestandteile

10 Min Lesezeit
Lock and key images on a blue background

Zu verstehen, was SPF (Sender Policy Framework) ist, und es zu nutzen, ist für technologieorientierte Unternehmen wichtig, da die Zahl der Phishing- und Spoofing-Angriffe steigt. Der SPF-Eintrag ist auch für die Einhaltung von DMARC erforderlich. Beide Protokolle arbeiten zusammen, um E-Mail-Fälschungen Ihrer Domain oder Ihres E-Mail-Kontos zu verhindern.

SPF-Einträge sind kompliziert und können zu Problemen bei der Implementierung führen, wenn sie nicht korrekt ausgeführt werden. Die Syntax des SPF-Eintrags umfasst bestimmte Terminologien, die schwer zu verstehen sind. Kein Grund zur Sorge. Im Folgenden erfahren Sie alles über die Struktur von SPF-Einträgen.

SPF-Eintrag: Grundlegende Syntax

Ein SPF-Eintrag ist eine Art DNS-Eintrag, der alle IPs auflistet, die eine E-Mail über eine bestimmte Domain senden dürfen. Wenn ein Server außerhalb dieser Liste versucht, eine E-Mail über diese Domain zu senden, wird sie als nicht autorisiert markiert und vom Postfach des Empfängers zurückgewiesen.

Daher müssen Unternehmen aus Gründen der Cybersicherheit SPF-Einträge erstellen.

Dieser Authentifizierungsstandard ist nur eine Möglichkeit, Ihre Domain vor Spoofing und Phishing zu schützen. Er verhindert auch, dass Ihre E-Mails in den Postfächern der Empfänger als Spam markiert werden. Die Implementierung von SPF und DKIM zusammen mit DMARC ist der beste Weg, um Ihre Domain zu schützen.

SPF-Einträge enthalten Anweisungen, die den empfangenden Servern mitteilen, wie E-Mails von Ihrer Domain zu validieren sind und was zu tun ist, wenn die Authentifizierung fehlschlägt. Jede Anweisung wird durch eine bestimmte Komponente dargestellt.

Lassen Sie uns jedes Element anhand einiger Beispiele für SPF-Einträge aufschlüsseln. So sieht die grundlegende Syntax eines SPF-Eintrags aus:

v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.net -all

Das obige Beispiel gibt an, um welche Art von Eintrag es sich handelt, listet zugelassene IP-Adressen auf und enthält einen autorisierten Dritten. Außerdem teilt er den empfangenden Servern mit, wie sie mit nicht konformen E-Mails umgehen sollen. Im Folgenden wird erläutert, wie die einzelnen Elemente des SPF-Eintrags dies tun:

  • v=spf1 teilt dem Empfängerserver mit, dass dies ein SPF-Eintrag ist. Alle SPF-Einträge müssen so beginnen.
  • Der nächste Teil der SPF-Eintrag-Syntax gibt die IP-Adressen an, die zum Senden von E-Mails für diese Domain berechtigt sind. Im obigen Beispiel haben wir ip4=192.0.2.0 und ip4=192.0.2.1.
  • Der Teil „include:examplesender.net“ des obigen Beispiels zeigt an, dass Dritte berechtigt sind, E-Mails für die Domain zu senden. Das „include“-Tag weist Empfängerserver an, den SPF-Eintrag der eingeschlossenen Domain (examplesender.net) auf IP-Adressen zu überprüfen, die ebenfalls autorisiert sind. Zahlreiche Domains können in einen SPF-Eintrag aufgenommen werden, aber nur für gültige Domains.
  • Schließlich weist -all die Empfangsserver an, E-Mails mit IP-Adressen oder Domains abzulehnen, die nicht im SPF-Eintrag aufgeführt sind (da sie nicht autorisiert sind).

Schauen wir uns zwei weitere Beispiele an. Die folgende DNS-SPF-Syntax autorisiert alle Server mit einer IP-Adresse zwischen 192.168.0.0 und 192.168.255.255 sowie Gmail-Konten, die google.com verwenden.

v=SPF1 ip4:192.168.0.0/16 include:_SPF.google.com ~all

Die Syntax des folgenden DNS-SPF-Eintrags ist ähnlich. Er autorisiert Server zwischen 192.168.0.0 und 192.168.255.255, Gmail-Konten und beinhaltet einen Drittanbieterdienst: Send Your Mail.

v=SPF1 ip4:192.168.0.0/16 include:_SPF.google.com include:sendyourmail.com ~all

Wenn Sie möchten, dass nur Gmail-Konten E-Mails von Ihrer Organisation senden, würde die Syntax des SPF-Eintrags wie folgt aussehen:

v=SPF1 a mx include:_SPF.google.com ~all

Diese SPF-Eintrag-Syntax teilt den Empfängerservern mit, dass E-Mails, die von einem Host gesendet werden, dessen IP-Adresse auf google.com endet, als gültig betrachtet werden sollen (m), während alle anderen Nachrichten verworfen werden sollen (a).

Sie können das kostenlose Tool von EasyDMARC verwenden, um SPF-Einträge zu erstellen. Sie müssen jedoch zunächst die einzelnen Komponenten verstehen, wie sie funktionieren und was sie bedeuten. Werfen wir einen Blick auf die erweiterte Syntaxstruktur von SPF-Einträgen.

SPF-Eintrag: Erweiterte Syntax

SPF-Einträge für alle Syntaxen werden in der Regel über einen DNS-TXT-Eintrag mit einer einzigen Textzeichenfolge definiert. Wie bereits erwähnt, beginnt er immer mit dem Element „v=“, das die verwendete SPF-Version angibt. Derzeit gibt es nur eine Version, daher wird „SPF1“ verwendet.

Jeder SPF-Eintrag hat spezifische Begriffe, die als Regeln dafür dienen, welche Hosts E-Mails von der Domain senden oder zusätzliche Informationen anzeigen dürfen.

Die Syntax der SPF-Einträge besteht aus drei Hauptelementen: SPF-Mechanismen, SPF-Qualifikator und SPF-Modifikator.

SPF-Mechanismen

Mechanismen sind SPF-Tags, die in der SPF-Eintrag-Struktur verwendet werden, um den empfangenden Servern mitzuteilen, was sie abgleichen und wie sie mit E-Mails umgehen sollen.

  1. ALL: Er stimmt immer überein und muss der letzte am Ende des SPF-Eintrags aufgeführte Mechanismus sein. Alle Mechanismen danach werden ignoriert. Er zeigt auch Standardergebnisse wie „-all“ für nicht übereinstimmende IPs.
  2. A: Definiert einen Domain-Namen mit einem A- oder AAAA-Adresseintrag als Übereinstimmung, da er in die Adresse des Absenders aufgelöst wird. Wenn die Syntax dieses DNS-SPF-Eintrags nicht angegeben ist, wird die aktuelle Domain verwendet. Sie wird in der Regel angewendet, wenn Abfragen für A- oder AAAA-Einträge in einer Domain generiert werden, die die IP-Adresse des Absenders enthält.
  3. ip4: Eine Übereinstimmung ist erfolgreich, wenn der Absender mit dem angegebenen ipv4-Adressbereich im SPF-Eintrag verknüpft ist. Er wird mit einem Präfix versehen, das die Länge des Bereichs angibt. Falls kein Präfix vorhanden ist, wird standardmäßig /32 verwendet.
  4. ip6: Eine Übereinstimmung ist erfolgreich, wenn der Absender zu dem angegebenen ipv6-Adressbereich gehört. Er wird mit der Richtlinie ip4 zusammen mit einem Präfix, das die Länge des Bereichs angibt, hinzugefügt. Falls kein Präfix angegeben ist, wird standardmäßig /128 verwendet.
  5. MX: Dieser Mechanismus autorisiert Absender mit einer IP-Adresse, die mit der im angegebenen MX-Eintrag enthaltenen Adresse übereinstimmt. MX-Einträge bestehen aus einer IP-Adresse und einem Prioritätswert für jeden Server, der Nachrichten annehmen soll.

Wenn ein MX-Eintrag einer Domain eine IP-Adresse enthält, die mit der IP-Adresse des Absenders übereinstimmt, hat der Absender die Erlaubnis, E-Mails über die Domain zu versenden.

  1. PTR: Definiert die autorisierte Domain mit Hilfe von PTR-Einträgen, die IP-Adressen in Subdomains oder Domains auflösen (das Gegenteil von DNS-A-Einträgen). Der empfangende Server führt ein Reverse-Mapping der sendenden IP-Adresse durch, um zugehörige Domain-Namen zu finden.

Für jede exakte Domain-Übereinstimmung oder Subdomain wird dann ein Forward Lookup durchgeführt, um die IP-Adresse zu finden. Wenn die IP-Adresse des Absenders mit einer der IP-Adressen übereinstimmt, die bei der Suche gefunden wurden, ist dies eine Übereinstimmung und die E-Mail wird validiert.

Der PTR-Mechanismus ist langsam und unzuverlässig, da er mehrere Suchvorgänge erfordert. Daher wird er gemäß den Richtlinien von RFC 7208 nicht empfohlen. Einige empfangende Server ignorieren den PTR-Mechanismus oder sogar den gesamten SPF-Eintrag mit dem PTR-Mechanismus.

  1. EXISTS: Dieser SPF-Mechanismus führt eine DNS-A-Eintrag-Suche für die angegebene Domain durch. Eine Übereinstimmung liegt vor, wenn ein gültiger A-Eintrag gefunden wird, unabhängig vom tatsächlichen Suchergebnis. Mithilfe von Makros können Sie bei diesem Mechanismus Ausnahmen für einzelne Benutzer einrichten.
  2. INCLUDE: Dieser Mechanismus wird verwendet, um E-Mail-Absender von Drittanbietern zu autorisieren, indem ihre Domains angegeben werden. Ein Absender wird autorisiert, wenn seine IP-Adresse mit den IP-Adressen oder Domains übereinstimmt, die im SPF-Eintrag der aufgeführten Domain enthalten sind. Wird für die aufgelistete Domain eines Drittanbieters kein SPF-Eintrag gefunden, wird ein permanentes Fehlerergebnis zurückgegeben.

SPF-Qualifikatoren

Ein SPF-Qualifikator ist ein optionales Präfix für einen Mechanismus. Durch Hinzufügen eines SPF-Eintrags zu Ihrem DNS mit SPF-Qualifikatoren wird den empfangenden E-Mail-Servern mitgeteilt, wie eine E-Mail zu behandeln ist, wenn es eine Übereinstimmung mit einem Mechanismuswert gibt.

Die Mechanismen werden in der Reihenfolge ihres Auftretens in einem SPF-Eintrag überprüft. Wenn einem Mechanismus ein Qualifikator fehlt und es eine Übereinstimmung gibt, wird die SPF-Authentifizierung bestanden. Wenn es jedoch keine Übereinstimmung gibt, ist die Standardaktion neutral; das bedeutet, dass die E-Mail-Nachricht die Authentifizierung weder besteht noch nicht besteht.

Jeder Mechanismus kann mit einem von vier Qualifikatoren kombiniert werden.

Qualifikator Ergebnis Maßnahmen des empfangenden Servers bei Übereinstimmung
+ Pass Die E-Mail-Nachricht besteht die Authentifizierung und der Server darf E-Mails senden. Die Nachrichten werden authentifiziert und dies ist die Standardaktion, wenn kein Qualifikator vorhanden ist.
Fail Die Authentifizierung der E-Mail-Nachricht schlägt fehl, da der sendende Server nicht berechtigt ist, E-Mails für die Domain zu versenden. Der SPF-Eintrag weist den empfangenden Mailserver an, die E-Mail abzulehnen.
~ SoftFail Das Postfach des Empfängers nimmt die Nachricht an, sie wird jedoch als verdächtig markiert und landet im Spam-Ordner.
? Neutral Die E-Mail-Nachricht hat die Authentifizierung weder bestanden noch nicht bestanden, da der SPF-Eintrag nicht explizit angibt, ob eine IP-Adresse autorisiert ist. Zeigt an, dass beim Abgleich mit Ihren autorisierten IP-Adressen und Domains keine Übereinstimmung mit dem Absender gefunden wurde.

 

Weitere Ergebnisse sind:

  • None: Es wurde kein SPF-Eintrag für die Domain gefunden oder der SPF-Eintrag hat kein Ergebnis geliefert.
  • TempError: Ein vorübergehender Fehler, der in der Regel auf DNS-Konfigurationsprobleme zurückzuführen ist.
  • PermError: Ein permanenter Fehler, der in der Regel auf Syntax- oder Formatierungsfehler im SPF-Eintrag zurückzuführen ist.

SPF-Modifikatoren

SPF-Modifikatoren bestimmen die Arbeitsparameter der DNS-SPF-Eintrag-Syntax. Sie bestehen aus Namen- oder Wertepaaren, die durch das Symbol „=“ getrennt sind und auf zusätzliche Informationen hinweisen, Ausnahmen von Regeln festlegen oder bestimmte Standardwerte ändern.

Modifikatoren dürfen nur einmal und nur am Ende des SPF-Eintrags vorkommen. Unbekannte Modifikatoren werden ignoriert.

Der „redirect“-Modifikator verweist auf andere SPF-Einträge zur Authentifizierung und wird von Experten verwendet, wenn mehr als eine Domain denselben SPF-Eintrag haben soll.

Verwenden Sie diesen SPF-Modifikator nur, wenn Sie alle Domains kontrollieren. Der SPF-Mechanismus „include“ sollte für autorisierte Domains verwendet werden, die nicht unter Ihrer Kontrolle stehen.

Wenn der „all“-Mechanismus im SPF-Eintrag erscheint, wird der „redirect“-Modifikator ignoriert.

Der Modifikator „exp“ wird verwendet, um zu begründen, warum der empfangende Server einen „Fail“ SPF-Qualifikator zurückgegeben hat, wenn ein Mechanismus übereinstimmt.

Tipps für SPF-Einträge

Bevor Sie Ihren SPF-Eintrag überprüfen, sollten Sie die folgenden Tipps beachten:

  • Eine Domain kann nicht mehr als einen SPF-Eintrag haben.
  • Ein SPF-Eintrag darf keine Großbuchstaben enthalten.
  • Für SPF-Einträge gilt ein Zeichenlimit von 255 Zeichen. Jede Zeichenfolge, die diese Zahl überschreitet, führt zu einer fehlgeschlagenen Authentifizierung.
  • Entfernen Sie alle SPF-Mechanismen, die auf dieselbe Domain verweisen.
  • Entfernen Sie alle nicht verwendeten „ip4“- und „ip6“-SPF-Mechanismen und prüfen Sie, ob Adressbereiche zusammengelegt werden können.
  • Sie können eine Subdomain speziell zum Speichern von SPF-Informationen erstellen, indem Sie „_spf.domain.com“ verwenden. Dies ist ideal für große Organisationen mit zu vielen IP-Adressen, die in einen einzigen SPF-Eintrag aufgenommen müssen.

Fazit

Der SPF-Eintrag ist ein wichtiger Teil des DNS-Eintrags Ihrer Domain, da er den empfangenden E-Mail-Servern mitteilt, wie sie E-Mails, die von Ihrer Domain kommen, authentifizieren können. Technologiebewusste Unternehmen müssen SPF mit DKIM und DMARC kombinieren, um den Schutz vor Spoofing- und Phishing-Angriffen unter ihrem Namen zu erhöhen.

Das Tool EasySPF von EasyDMARC hebt die Verwaltung Ihrer E-Mail-Versandquellen auf ein höheres Niveau. Sie können sich auch an uns wenden, wenn Sie andere Schwierigkeiten bei der Implementierung von SPF haben. Wir sind für Sie da.