Sender Policy Framework

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Schema der Adressüberprüfung bei SPF

Das Sender Policy Framework (SPF; früher Sender Permitted From) ist ein Verfahren, das das Fälschen der Absenderadresse einer E-Mail verhindern soll. Es entstand als Verfahren zur Abwehr von Spam. Bei SPF trägt der Inhaber einer Domain in das Domain Name System ein, welche Computer zum Versand von E-Mails für diese Domain berechtigt sind.

Funktionsweise[Bearbeiten]

Der Administrator einer Domain hinterlegt in der DNS-Zone einen Resource Record vom Typ SPF und (aus Kompatibilitätsgründen) TXT. In diesen Resource Records sind die IP-Adressen der Mail Transfer Agents (MTA) enthalten, die für die Domain E-Mails versenden dürfen. Der Empfänger prüft, ob der Absender zum Versand berechtigt ist. Hierzu prüft der Empfänger, welche Domain der Absender in den Feldern „MAIL FROM“ und „HELO“ in der SMTP-Verbindung angegeben hat. Für die angegebene Domain ruft der Empfänger die SPF-Information über das Domain Name System ab und vergleicht die IP-Adresse des sendenden MTAs mit den erlaubten Adressen. Stimmt die IP-Adresse überein, so ist der Absender authentisch, andernfalls kann die E-Mail verworfen werden.

Im DNS-Eintrag einer Domäne sind bislang schon normale MX-Einträge vorhanden, die SMTP-Servern sagen, an welchen Host sie E-Mails für diese Domäne senden sollen. Wenn also ein SMTP-Server eine E-Mail an test@example.org schicken soll, sieht er im MX-Record von example.org nach, an welchen Server er die Mail schicken soll. Mit SPF wird nun ein Record im Stil eines Reverse-MX den DNS-Einträgen einer Domäne hinzugefügt. Empfängt ein Mailserver eine E-Mail mit einem Absender von example.org, sieht er im SPF-Record von example.org nach, ob der zustellende Mailserver laut SPF-Record dazu berechtigt ist, Mails für diese Domain zu versenden.

SPF kann so durch die leichtere Nachverfolgbarkeit von E-Mails auch zur Bekämpfung von Spam und zur Erschwerung von Phishing beitragen. SPF erhebt jedoch lediglich den Anspruch, Absenderadressfälschungen zu verhindern, nicht aber, direkt Spam zu bekämpfen.

SPF muss nur vom Empfängersystem unterstützt werden – am Protokoll der Mailübertragung (SMTP) ändert sich nichts. Die Veröffentlichung von SPF-Records ist für eine Domäne freiwillig, Mails von Domains ohne SPF-Records sollen laut SPF-Spezifikation (RFC 4408) von Empfängern nicht negativ eingestuft werden; allerdings bleiben solche Domänen naturgemäß wie bisher gegen Umschlag-Adressfälschungen ungeschützt.

Aufbau eines SPF-Records[Bearbeiten]

Jeder SPF-Record beginnt mit einer Versionsnummer – für die aktuelle SPF-Version "v=spf1". Es folgen beliebig viele Ausdrücke, die in der Reihenfolge von vorne nach hinten ausgewertet werden. Die meisten Ausdrücke sind dabei sog. Direktiven, die die Autorisierung des Versenders definieren, und bestehen aus einem optionalen Qualifikator und einem sog. Mechanismus, der für eine gegebene Situation (IP-Adresse) entweder einen Treffer oder keinen Treffer ergibt. Der erste Mechanismus, der einen Treffer darstellt, bestimmt das Ergebnis der gesamten Auswertung des SPF-Records.

Es gibt folgende Qualifikatoren:

Q. Ergebnis-Code Beschreibung
+ Pass die Direktive definiert autorisierte Sender;
dies ist der Standard, d. h. ist kein Qualifikator angegeben, so wird + angenommen
- Fail die Direktive definiert nicht autorisierte Sender
~ SoftFail die Direktive definiert nicht autorisierte Sender, der Empfänger soll diesen Fehlschlag aber großzügig behandeln;
dieser Qualifikator ist für Testzwecke gedacht
? Neutral die Direktive definiert Sender, über deren Legitimität nichts ausgesagt werden soll; Der Sender muss akzeptiert werden.

Folgende Tabelle zeigt einige gängige Mechanismen:

Mech. Direktive trifft zu, wenn …
all immer
a … ein A-(oder AAAA-)Record der befragten (oder explizit angegebenen) Domäne die IP-Adresse des Senders enthält
mx … ein MX-Record der befragten (oder explizit angegebenen) Domäne die IP-Adresse des Senders enthält
ip4 … die angegebene IPv4-Adresse die IP-Adresse des Senders ist bzw. das angegebene IPv4-Subnetz diese enthält
ip6 … die angegebene IPv6-Adresse die IP-Adresse des Senders ist bzw. das angegebene IPv6-Subnetz diese enthält
include … eine zusätzliche SPF-Anfrage zur im Include-Statement angegebenen Domain die IP-Adresse des Senders enthält

Einen Überblick über alle erlaubten Ausdrücke gibt die Unterseite der SPF-Website.[1]

Beispiel[Bearbeiten]

$ host -t TXT gmx.de
gmx.de descriptive text "v=spf1 ip4:213.165.64.0/23 ip4:74.208.5.64/26 -all"

Die Firma GMX legt also fest, dass alle Hosts mit der IPv4-Adresse 213.165.64.0 bis 213.165.65.255 sowie 74.208.5.64 bis 74.208.5.127 E-Mails von der Domäne gmx.de verschicken dürfen. Alle anderen Server sind laut diesem SPF-Record nicht für die Benutzung dieser Domäne in der Umschlag-Absenderadresse autorisiert.

Status[Bearbeiten]

SPF besteht in der Version 1 schon seit Ende 2003 größtenteils unverändert als informelle Spezifikation. Am 28. April 2006 wurde SPFv1 von der IETF als RFC 4408 veröffentlicht. Das RFC hat den Status „Experimental“, da die im Vorlauf eingestellte IETF-Arbeitsgruppe „marid“ („MTA Authorization Records in DNS“) mehrere zur Debatte stehende Verfahren bearbeitete, sich jedoch nicht auf eines der Verfahren einigen konnte. Im April 2014 veröffentlichte die IETF-Arbeitsgruppe „spfbis“ mit RFC 7208 eine überarbeitete Spezifikation als „Proposed Standard“.

Zu den bekanntesten Unterstützern von SPF gehören unter anderem GMX, Microsoft (Hotmail und Outlook.com), Arcor, AOL, Gmail, Yahoo und Web.de. GMX setzt SPF bereits seit April 2004 produktiv ein. Einige der genannten Provider nutzen die für den Testbetrieb gedachten Qualifikatoren „SoftFail“ oder „Neutral“. Andere große Provider wie zum Beispiel T-Online veröffentlichen keinen SPF-Record (Stand: Juli 2014).

Spamfilter wie beispielsweise AMaViS nutzen SPF-Verifizierung zur Bewertung eingehender E-Mails. Hierfür sind auch die Qualifikatoren „SoftFail“ und „Neutral“ verwendbar.

Viele Mail-Betreiber informieren über eine erfolgte SPF-Verifikation im Mailheader, zum Beispiel durch das Einfügen einer Zeile

Received-SPF: pass (gmail.com: domain of foo@example.org designates 127.0.0.1 as permitted sender)

oder

X-Warning: SPF records of example.org exclude 127.0.0.2

Probleme bei Mail-Umleitung[Bearbeiten]

Der Einsatz von SPF kann Probleme verursachen, wenn der Empfänger seine E-Mails an ein Postfach unterhalb einer anderen Domäne umleiten lässt: Das empfangende System sieht in diesem Fall die Domain des Absenders in Verbindung mit der IP-Adresse des umleitenden Systems. Letzteres wird jedoch typischerweise nicht von den SPF-Regeln erfasst sein, sodass eine solche Mail bei einer SPF-Prüfung als unautorisiert eingestuft wird.

Zu diesem Problem existieren zwei Lösungsansätze:

  1. Das empfangende System verzichtet auf die SPF-Prüfung von Mails der umleitenden Domains, sofern sie ihm bekannt sind – beispielsweise durch ein Whitelisting. Sinnvollerweise sollten in diesem Fall die weiterleitenden Systeme die SPF-Prüfung übernehmen. Ein Nachteil dieses Verfahrens ist, dass im Falle eines Zustellungsfehlers die Fehlermeldung (Bounce) direkt an den Absender gesandt wird. Dieser könnte so von der Zieladresse der Umleitung erfahren, was u. U. vom Empfänger unerwünscht ist.
  2. Dieses Problem wird vermieden, wenn das Weiterleitungssystem die Umschlag-Absenderadressen der umgeleiteten Mails auf seine eigene Domäne umschreibt und so die Verantwortung für die Gültigkeit der ursprünglichen Absenderadresse und für die Zustellung eventueller Bounces übernimmt. Ein solches Verfahren ist z. B. das Sender Rewriting Scheme (SRS). Es muss allerdings sichergestellt sein, dass das weiterleitende System eine wirksame SPF-Prüfung vornimmt, was z. Zt. nicht immer der Fall ist.

Probleme mit Webformularen[Bearbeiten]

SPF kann bei einigen Webformularen zu Problemen führen. Es gibt viele Webformulare, die den Namen und die E-Mail Adresse abfragen. Wenn das Webformular nun dem Webseitenbetreiber per Mail zugestellt wird, wird diese Mail oft so gestaltet, als ob sie direkt von der Person käme, die die Daten ausgefüllt hat. Es wird also als Absenderadresse die im Formular angegebene Adresse verwendet. Wenn die Domain dieser E-Mail Adresse nun mit SPF arbeitet und der Webseitenbetreiber selbst SPF-Prüfungen durchführt, wird das abgeschickte Formular möglicherweise nie beim Webseitenbetreiber eingehen. Der Webseitenbetreiber prüft in diesem Fall erfolglos seine eigene Berechtigung, im Namen der fremden Domain E-Mails zu versenden.

Dieses Problem lässt sich über Verwendung des Reply-To-Headers verhindern. Statt den Formular-Absender im From-Header zu hinterlegen, wird dort die reguläre Server-E-Mail-Adresse angegeben. Im Reply-To-Header wird hingegen die Adresse des Formularausfüllers hinterlegt. Der Effekt ist, dass Antworten auf die E-Mail automatisch an den Formularausfüller gehen, die SPF-Prüfung aber nicht fehlschlägt.

Kritik[Bearbeiten]

Im Bereich der Adressfälschungs-Abwehrmechanismen ist SPF ein kontrovers diskutiertes Verfahren. Folgende Kritikpunkte wurden genannt:

  • Endbenutzer haben im Allgemeinen keine Kenntnis von der Existenz von SPF und der Notwendigkeit, bei Umleitung Whitelisting einzuschalten. Bei der Einrichtung einer E-Mail-Umleitung ohne SRS bekommen Benutzer keine E-Mails aus SPF-geschützten Domains mehr zugestellt.
  • Durch die Einschränkung der erlaubten MTA-Adressen einer Domain werden auch verschiedene Nutzungsszenarien eingeschränkt. Im lokalen Netz des Arbeitgebers, der Universität und dergleichen können ausgehende SMTP-Verbindungen durch die Firewall unterbunden sein. Das geschieht, um Spamversand aus dem Netz heraus einzuschränken oder den ausgehenden E-Mail-Verkehr kontrollieren zu können. Möchte ein Benutzer in diesem Netz eine private E-Mail-Adresse verwenden, so kann er keine SMTP-Verbindung zum MTA des E-Mail-Providers aufbauen. Setzt der private E-Mail-Provider SPF ein, so kann der Benutzer auch nicht den vorgesehenen MTA des lokalen Netzbetreibers verwenden. SPF-Befürworter wenden ein, dass genau dies die eigentliche Zielsetzung von SPF ist: ein E-Mail-Provider soll kontrollieren, über welchen MTA im Namen seiner Domain Mails versendet werden können. Eine mögliche Lösung ist die Verwendung eines Mail Submission Agents, dessen Port nicht von der lokalen Firewall blockiert wird.
  • Kritiker sprechen im Zusammenhang von SPF auch von einem „Zwangsrelay“ über den jeweiligen Provider und befürchten in diesem Zusammenhang einen Vorteil für sowohl staatliche Überwachungsstellen als auch private Datensammelstellen. Speziell SPF hat in diesem Kontext die Eigenschaft, dass keine örtliche Verteilung des Postausgangsverkehrs mehr auftritt: So laufen z. B. bei einer GMX-Adresse nun sowohl Posteingangs- wie auch Postausgangsverkehr immer über die hauseigenen GMX-Server und ermöglichen somit potentiellen Überwachern und Data-Minern ein einfaches Erfassen des gesamten E-Mail-Verkehrs an einer zentralen Stelle.
  • Obwohl SPF mittlerweile ein eigener DNS-Record-Typ zugewiesen wurde und die SPFv1-Spezifikation die Unterstützung dieses SPF-Record-Typs vorsieht, wird auch noch der DNS-Record-Typ TXT verwendet. So konkurriert SPF mit anderen TXT-Records um den begrenzten Platz in DNS-UDP-Antwortpaketen, was bei insgesamt zu großen TXT-Records eines DNS-Namens dazu führen kann, dass die UDP-Antwort auf eine TXT-Anfrage die vorhandenen TXT-Records nicht vollständig enthält. Das Problem wird sich mit zunehmendem Übergang auf den dedizierten SPF-Record gelöst haben.
  • Das System greift schlecht gegen Spam sowie Malware, da Spammer „Einwegdomains“ und die E-Mail-Systeme gekaperter „Zombie-Computer“ mit deren korrekten SPF-Records verwenden. Die Verwendung von Open Relays und Open Proxys fallen als Spamquellen jedoch aus, wodurch die Spamwege leichter zurückzuverfolgen sind.
  • Unklare Positionierung von SPF: Die Entwickler von SPF weisen darauf hin, dass SPF kein Spamschutz per se, sondern lediglich ein Schutz vor Adressfälschungen darstellt. Dafür allein ist SPF jedoch nur sehr unzureichend geeignet, da die Granularität der Adressprüfung prinzipbedingt nur ganze Domains umfasst (und keine Individuen) und auch keinerlei kryptographische Sicherheitsmechanismen die Authentizität des sendenden Rechners (oder gar des Senders) an sich sicherstellen. Damit stellt SPF keinen Adressschutz, sondern lediglich eine Art von Relay-Schutz dar.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Kritik[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. SPF Record Syntax