Sender Policy Framework (früher Sender Permitted From), kurz SPF, ist eine Technik, die das Fälschen des Absenders einer E-Mail auf SMTP-Ebene erschweren soll.
Dazu wird in der DNS-Zone einer Domäne ein sog. Resource Record vom Typ SPF und TXT (aus Kompatibilitätsgründen) mit Informationen darüber hinterlegt, welche Computer E-Mails für diese Domäne versenden dürfen. Anhand dieser Informationen soll nach RFC 4408 der Empfangs-Server dann sowohl die "MAIL FROM"-Identität als auch die "HELO"-Identität des Senders nachprüfen. Absenderangaben im E-Mail-Header, wie der "From:"-Header, welcher von vielen E-Mail Clients als Absenderadresse angezeigt wird, werden nicht überprüft.
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. Mit dieser Technik lässt sich die Fälschung von Absenderadressen effektiv verhindern.
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.
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 SPF Mechanisms der SPF-Website.
$ 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.
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 und ist damit endgültig in seiner Form festgelegt. Das RFC hat den Status „Experimental“, da die im Vorlauf eingestellte MARID-Arbeitsgruppe der IETF mehrere zur Debatte stehende Verfahren bearbeitete, sich jedoch nicht auf eines der Verfahren einigen konnte.
Zu den bekanntesten Unterstützern von SPF gehören neben GMX auch Microsoft (Hotmail), Arcor, AOL sowie Google Mail. GMX setzt SPF bereits seit April 2004 produktiv ein. Eine Reihe großer Provider wie T-Online, Web.de, Yahoo hat bis heute (Stand: März 2009) noch gar keinen SPF-Record veröffentlicht. Andere Firmen nutzen die unklaren Qualifikatoren „Softfail“ oder „Neutral“. GoogleMail nutzt die toleranteste Einstellung „Neutral“.
So gut wie alle Spamfilter (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
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:
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.
SPF zählt zu den am kontroversesten diskutierten Verfahren im Bereich der Adressfälschungs-Abwehrmechanismen. In der Tat wirft der großflächige Einsatz von SPF für Administratoren wie Endbenutzer gleichermaßen einige Probleme auf:
Dieser Artikel basiert auf dem Artikel Sender_Policy_Framework aus der freien Enzyklopädie Wikipedia und ist unter der Lizenz Creative Commons Attribution/Share Alike verfügbar. Zusätzliche Bedingungen können anwendbar sein. In der Wikipedia ist eine Liste der Autoren verfügbar. |