SPF - Sender Policy Framework

SPF ist ein Versuch, die Verwendung der eigenen Domains als Absender-Adresse zu kontrollieren. Hierzu trägt man für die Domains im DNS TXT-Records im SPF-Format ein. Diese enthalten eine Liste der Hosts, IP-Adressen oder IP-Netze, die Mails mit dieser Domain in der Absender-Adresse verschicken dürfen. Einschränkend wirkt, dass SPF nur auf die Absender-Adresse im Envelope angewendet wird, nicht dagegen auf den Inhalt der From:-Header-Zeile.

Pro:

Kontra:

Wenn Sie SPF in Ihrer Einrichtung einführen wollen, so benötigen Sie folgende Regeln in Ihrer Mail-Policy:

Wenn Sie sich für den Einsatz von SPF entscheiden, so können wir folgende Szenarien anbieten:

  1. Blocken von Mails anhand der vorhandenen SPF-Records. Der Check wird nur für Ihre eigenen Domains durchgeführt, nicht für fremde.
  2. Dasselbe, wobei anstelle nicht vorhandener SPF-Records eine von Hand gepflegten Liste der Mailserver direkt in der postfix-Konfiguration gehalten wird.

Durch die fehlenden SPF-Records im zweiten Fall vermeiden Sie SPF-bedingte Rejects durch dritte Provider, d.h. der größte Teil der Weiterleitungen wird weiterhin funktionieren.

DNS-Konfiguration:

 Setzen Sie SPF-Records für Ihre Domains, so müssen Sie eines der folgenden Partikel in die SPF-Records aufnehmen:

include:_spf.oXXX.mx.srv.dfn.de Alle Services ihrer Einrichtung
include:_spf.sXXXY.mx.srv.dfn.de Ein bestimmter Service
mx Wenn wir nur eingehend für Sie filtern und ihre MX-Records auf den eingehenden Service zeigen.

XXX ersetzen Sie durch ihre dreistellige Einrichtungsnummer und Y durch die laufende Nummer des Services. Ein weicher SPF-Record, der Weiterleitungen nicht unterbinden sollte, würde dann zum Beispiel so aussehen:

example.org TXT "v=spf1 include:_spf.o100.mx.srv.dfn.de ~all"

Und ein harter SPF-Record, der Weiterleitungen unterbindet, so:

example.org TXT "v=spf1 include:_spf.o100.mx.srv.dfn.de -all"

Beachten Sie noch bitte die DNS-Lookup-Limits bei der Verarbeitung des SPF-Records: Es dürfen in der Summe maximal  10 Partikel der Typen: mx, a, ptr, include, exists, redirect auftauchen, die Anzahl der Partikel all, ip4, ip6, exp ist dagegen nicht begrenzt.

Validierung von DNS-SPF-Records

Sie können ihre SPF-Records durch diverse Validatoren überprüfen lassen, hier eine Auswahl:

 

Checks und Markierung innerhalb des MailSupports

Der Spamassassin führt bei jeder Mail SPF-Checks sowohl auf die Domain der Absenderadresse als auch auf die Domain in der HELO-Angabe des SMTP-Protokolls durch. Das Ergebnis landet im X-Spam-Status:-Header in Form von Hits, deren Namen mit dem Prefix SPF_ beginnen.  Die wichtigsten sind:

Hit Score Bedeutung
SPF_NONE 0.01 Die Domain veröffentlicht keinen SPF-Record.
SPF_PASS -0.01 Die Mail stammt aus einer der angegebenen Quellen und ist damit vertrauenswürdig.
SPF_FAIL 0.5 Die Mail stammt nicht aus einer der angegebenen Quellen und die Domain setzt -all. Die Quelle wird als nicht vertrauenswürdig eingestuft.
SPF_SOFTFAIL 0.01 Die Mail stammt nicht aus einer der angegebenen Quellen und die Domain setzt ~all. Der Vertrauensstatus der Quelle ist unbekannt.
SPF_NEUTRAL 0.01 Die Domains hat ?all gesetzt. Die Mails sollen so behandelt werden, als ob kein SPF-Record existieren würde.

Diese Checks gibt es noch in der Variante mit SPF_HELO_-Prefix anstelle des SPF-. Hierbei wird anstelle der Domain aus der Absenderadresse der Name aus dem HELO/EHLO-SMTP-Kommando für den Check herangezogen. Dies passiert dann, wenn die Absenderadresse leer ist, also bei Bounces, DSNs usw.

Hit Score Bedeutung
SPF_HELO_NONE 0.01 Die Domain veröffentlicht keinen SPF-Record.
SPF_HELO_PASS -0.01 Die Mail stammt aus einer der angegebenen Quellen und ist damit vertrauenswürdig.
SPF_HELO_FAIL 0.2 Die Mail stammt nicht aus einer der angegebenen Quellen und die Domain setzt -all. Die Quelle wird als nicht vertrauenswürdig eingestuft.
SPF_HELO_SOFTFAIL 0.01 Die Mail stammt nicht aus einer der angegebenen Quellen und die Domain setzt ~all. Der Vertrauensstatus der Quelle ist unbekannt.
SPF_HELO_NEUTRAL 0.01 Die Domains hat ?all gesetzt. Die Mails sollen so behandelt werden, als ob kein SPF-Record existieren würde.

Zusätzliche optionale Konfigurationen

1. harter SPF-Check auf beliebige Domains

a. postfix: Sämtliche eingehenden Mails werden dem SPF-Check unterworfen. Mails, deren Domains -all konfiguriert haben, und die aus nicht aufgeführten Quellen stammen, werden abgelehnt. Verwendet wird die Komponente postfix-policyd-spf-perl.

b. spamassassin:Die Scores für die SPF_*-Hits können individuell angepasst werden. Je nach erreichtem Gesamtscore und der individuellen Spam-Konfiguration werden diese Mails als Spam abgelehnt oder markiert und weitergeleitet.

2. SPF-Check nur auf die eigenen Domains

Sie setzen für ihre Domains SPF-DNS-Records auf, die wir auswerten. Die Auswertung geschieht über die Komponente postfix-policyd-spf-perl. Bei der Verwendung von -all werden Mails von nicht aufgeführten Quellen abgelehnt. Die Liste der Domains, für die dieser Check durchgeführt werden soll, muss über unsere Hotline konfiguriert werden.

3. SPF-analoger Check nur auf die eigenen Domains ohne Nutzung von SPF-DNS-Records

Da SPF-Records mit -all unangenehme Folgen nach sich ziehen, wie z.B. unterbundene Weiterleitungen, bieten wir eine Alternative an. Bei dieser wird statt des SPF-DNS-Records eine Liste der erlaubten Mailquellen in der whitelist_sender_client_cidr geführt, die über das Portal selbst gepflegt werden kann. Wie unter Punkt 2 muss allerdings die Liste der Domains, für die dieser Check durchgeführt werden soll, über unsere Hotline konfiguriert werden.