Wie konfiguriere ich SPF für mehrere Domänen auf einem Server? (Erlaubt auch Google Mail als Absender)

9

SPF (Sender Policy Framework) scheint ein guter Weg zu sein, um Spammer / Spoofing zu bekämpfen.

Obwohl ich die Erklärungen mehrmals gelesen habe, verstehe ich nicht ganz, wie man sie richtig konfiguriert.


Lassen Sie uns sagen , ich habe meinen Server auf a.x.comdem Rechner www.x.comund b.x.comund c.x.comund so weiter.

Ich habe auch a.co.uk b.net c.infound so weiter, jede davon mit einer Auswahl von Subdomains, die alle auf gehostet werdenx.com

Für alle diese Domains und Subdomains möchte ich zulassen, dass E-Mails von gesendet werden a.x.com

Ich möchte auch, dass alle E-Mails von Google Mail für alle diese Domains gesendet werden.

Wie richte ich das mit SPF ein?

Kann ich einen SPF-Datensatz für x.com(oder a.x.com) festlegen und dann für alles andere nur einen einfachen Include / Zeiger auf x.comden Datensatz haben, oder müsste dies anders gemacht werden?

Kann jemand einige SPF-Datensätze für das obige Beispiel bereitstellen?


Hinweis: Der zweite Teil meiner Frage wurde beantwortet (verwenden Sie " v=spf1 include:x.com -all", um den x.comDatensatz einzuschließen / darauf zu verweisen ), aber der Hauptteil dessen, was eingestellt werden soll, x.combleibt unbeantwortet ...

Peter Boughton
quelle
Tatsächlich hat es sich als hoffnungslos ineffektiver Weg erwiesen, Spam zu reduzieren. In der Tat ist es wohl nur wirklich dazu gedacht, das Spoofing von Absenderadressen zu beheben.
Christopher Edwards
2
"Es ist eigentlich nur dazu gedacht, das Spoofing von Absenderadressen zu beheben" - genau, um zu verhindern, dass Spammer E-Mails senden, die scheinbar aus den Domains anderer stammen.
Peter Boughton

Antworten:

7

Sie können nicht vermeiden, die Zonendateien für andere Domänen als x.com ändern zu müssen, aber Sie können sich viel Ärger ersparen, indem Sie allgemeine Richtlinien definieren, die auf einer Domäne gehostet werden, und das redirectSchlüsselwort SPF für die anderen Domänen verwenden. Beispiel:

  • In der Zonendatei für die x.comDomain:
_policy1 IN TXT "v = spf1 a: axcom -all"
_policy2 IN TXT "v = spf1 include: _spf.google.com a: axcom -all"

_spf.google.comist der Datensatz, der den Google Mail SPF-Datensatz enthält. Nicht sicher, ob es dokumentiert ist. Theoretisch sollten Sie dies tun, include:gmail.comaber das ist eine Weiterleitung zu _spf.google.comund es gab mindestens einen weit verbreiteten SPF-Patch für qmail, der nicht ordnungsgemäß befolgt wurde (wurde im August 2008 behoben, könnte aber noch bereitgestellt werden). Die beiden Richtlinien sind natürlich Beispiele - Beim Debuggen ist es äußerst nützlich, mehr als einen Namen mit verschiedenen Strengebenen zu haben, da Sie nur einen Kurznamen in der Zieldomäne ändern müssen, anstatt fehleranfälliges Copypasting durchzuführen.

  • In den Zonendateien für die anderen Domänen:
@ IN TXT "v = spf1 redirect = _policy1.x.com"

oder

@ IN TXT "v = spf1 redirect = _policy2.x.com"

usw. Ich verwende redirectnicht include, um die SPF-Prüfung zu veranlassen, den aktuell ausgewerteten Datensatz vollständig durch den Datensatz zu ersetzen, zu dem ich umleitung. includetut das nicht - zum Beispiel führt ein -allam Ende von includenicht dazu, dass die Auswertung gestoppt wird ( includeist eine große Fehlbezeichnung). Sie sollten die Verwendung vermeiden, includewenn Sie einen SPF-Datensatz aus einer anderen Domäne "aliasen" möchten, da er ziemlich spröde ist. Wenn Sie versehentlich das Trailing -all vergessen, können Sie Ihren gesamten SPF auf dieser Domain unwirksam machen.

Bearbeiten: Bitte beachten Sie jedoch, dass Sie auf der Hut sein müssen, wenn Sie die Server von Google Mail als Absender zulassen möchten. Das Google Mail-Kapitel wurde geknackt, was bedeutet, dass es möglich ist, Kontoanmeldungen zu automatisieren. Dies bedeutet, dass Google Mail (indirekt) als offenes Relay verwendet werden kann (ich erhalte pro Woche Dutzende von Spambot-Anmeldeanfragen für mein Unternehmensdiskussionsforum, die alle verwendet werden gmail.com-E-Mail-Adressen - und diese Adressen sind live. Ich habe einige zu Überprüfungszwecken durchgehen lassen.) Außerdem kann jeder mit einem Google Mail-Konto die SPF-Überprüfung umgehen, wenn er mit den Teilenamen der E-Mail-Adressen in Ihren Domains vertraut ist .

Mihai Limbăşan
quelle
Danke, das ist eine hilfreiche Antwort. Als ich das letzte Mal nachgesehen habe, muss Google Mail per E-Mail überprüft werden, bevor Sie E-Mails von anderen Adressen senden können. Sobald der Posteingang für diese Adresse sicher ist, sind die Dinge in Ordnung? Wie wichtig ist / ist es nicht, auch 'www'-Zeilen zu haben, wie in Bortzmeyers Antwort?
Peter Boughton
1
Stimmt, aber sobald ein Riss in der Foudation auftaucht, wird sicher jemand einen Weg finden, den halben Fluss durchzuquetschen :) Ich sage nicht, dass Sie das nicht tun sollten, ich empfehle nur, auf Trab zu sein und regelmäßig zu überprüfen, ob Google Mail funktioniert ausgenutzt werden, dh bitte geben Sie die Autorität von Google Mail nicht auf unbestimmte Zeit auf. Ich vertraue ihnen mehr als mehr Online-Unternehmen, aber das ist nur ein wenig Vertrauen im Vergleich zu überhaupt keinem Vertrauen.
Mihai Limbăşan
Ich habe keine Ahnung, warum Bortzmeyer die WWW-Einträge aufgenommen hat. Sie sind völlig nutzlos, es sei denn, Sie senden tatsächlich E-Mails von @ www.x.com, die (abgesehen davon, dass sie nicht häufig verwendet werden) einfach seltsam aussehen und bei weniger als technisch versierten Personen Verwirrung stiften.
Mihai Limbăşan
2
Außerdem würde ich KEINE SPF-Datensatztypen verwenden. Ich empfehle Ihnen, bei TXT zu bleiben. Der SPF-Datensatztyp wird nur von BIND 9.4 und höher unterstützt. Pro RFC müssen Sie auch Replikate der TXT-Datensätze verwalten, dh Sie müssen Inhalte kopieren (fehlerhaft) und sie müssen synchron (hart) verwaltet werden. Der Gewinn ist nicht vorhanden, da TXT auf absehbare Zeit der primäre SPF-Übermittlungsmechanismus sein wird, so openspf.org.
Mihai Limbăşan
1
@ Mihai Limbasan: ausgezeichnete Antwort, danke für das Teilen. Falls Sie der Meinung sind, dass es notwendig ist, Ihre Antwort zu aktualisieren, scheint Google es vorzuziehen, v=spf1 include:_spf.google.com ~allanstelle von -all, vorausgesetzt, ich habe es richtig verstanden, ref. google.com/support/a/bin/answer.py?answer=178723
Marco Demaio
4

Ja, Sie können die Konfiguration einer Ihrer Domänen in die SPF-Einträge für alle anderen Domänen aufnehmen. Das Festlegen des SPF-Datensatzes der anderen Domänen auf Folgendes sollte den Trick ausführen:

v=spf1 include:x.com -all
womble
quelle
Funktioniert dies "nur" oder erfordert es eine _spf-Subdomain oder ähnliches?
Peter Boughton
Ich bin mir ziemlich sicher, dass, wenn Sie die SPF-Einträge anfänglich direkt auf x.com definiert haben, das Include für die anderen Domains auch direkt auf x.com verweisen kann. Wenn Sie Ihren SPF-Datensatz in der Route _spf.x.com definieren, müssen Sie das Include ein wenig ändern, um auch auf diesen vollqualifizierten Domänennamen zu verweisen.
womble
2

Haben Sie versucht, das Web-Tool unter http://www.openspf.org/ zu verwenden ? Es könnte Ihnen ein bisschen leichter fallen, damit umzugehen ...

Geben Sie einfach Ihre Domain in das Feld oben rechts ein und klicken Sie auf die Schaltfläche "Los". Von dort aus sollten Sie in der Lage sein, die Dinge in Eile einzurichten.

Avery Payne
quelle
1
Ich habe es mehrmals mit diesem Tool versucht, aber die Erklärungen sind nicht klar genug.
Peter Boughton
2

Der Standard, RFC 4408 , bietet einige Beispiele, die sehr nahe an Ihren Wünschen liegen. Hier ist ein Auszug aus der Zonendatei von x.com:

@ IN TXT "v = spf1 a: axcom -all"
      IN SPF "v = spf1 a: axcom -all"

www IN TXT "v = spf1 a: axcom -all"
      IN SPF "v = spf1 a: axcom -all"

Anmerkungen:

  • Ich habe keine Google Mail-E-Mail-Server hinzugefügt, da ich sie nicht kenne. Fragen Sie Google Mail-Nutzer
  • 'a' steht für 'Adresse' (es ist kein DNS A-Eintrag, es enthält IPv6)
  • Ich habe SPF-Datensätze gemäß RFC hinzugefügt, obwohl fast alle Implementierungen nur den TXT-Datensatz verwenden
bortzmeyer
quelle
1

Ja, Sie müssen den spezifischen SPF-Datensatz jeder Domäne einzeln hinzufügen.

Der Grund dafür ist, dass der einzige (nützliche) Aliasing-Typeintrag im DNS der Eintrag ist CNAME. Der CNAMEDatensatz führt jedoch dazu, dass für ALLE RR-Typen in einem RRset ein Aliasing auftritt. Es gibt keine Möglichkeit, " CNAMEden SPF-Datensatz, aber nicht die MXDatensätze " zu sagen.

Alnitak
quelle
Ich verstehe, dass ich für jede Domäne einen SPF-Eintrag hinzufügen muss , aber ich hatte gehofft, einfach einen einfachen Zeiger auf die Hauptdomäne zu speichern , in der dann alle komplexeren Befehle leben können. Womble schlägt vor, dass ich das include: {domain} dafür verwenden kann, aber ich bin immer noch unklar, ob dies einfach / Punkte in den SPF-Datensätzen für die andere Domain enthält oder ob ich eine _spf.x.com-Subdomain hosten muss?
Peter Boughton
Ja, siehe Wombles Antwort
Alnitak