Was sind die richtigen SPF-Einträge, um sowohl die lokale als auch die Google Apps-Bereitstellung zu ermöglichen?

7

Wir haben kürzlich unseren Server-Stack in eine neue Datenfarm verschoben, und einige unserer Kunden haben Probleme mit dem Senden von E-Mails von ihren GApps-Konten. Vor dem Serverumzug hatten wir keine Probleme, aber ich vermute, dass die IP-Änderung usw. möglicherweise einen Teil davon hat.

Wir haben festgestellt, dass einige der Domains falsche SPF-Header hatten und die Google SPF-Einträge nicht enthielten.

Ich habe allen Domänen TXT-Einträge hinzugefügt, v=spf1 include:_spf.google.com ~allwodurch das Problem mit der Zustellbarkeit behoben wurde, aber ich verstehe SPF nicht genug, um zu wissen, ob alle TXT-Einträge in unserer DNS-Vorlage in Ordnung sind.

Wenn eine Domain Google Apps zum Senden von E-Mails verwendet, deaktivieren wir das lokale Mail-Routing für diese Domain, um zu verhindern, dass interne E-Mails nicht durchlaufen werden, und alle MX-Einträge, die keine GApps sind, werden gelöscht.

Derzeit sind für jede Domain die folgenden Einstellungen vorgenommen:

domain.com.      TXT v=spf1 +a +mx -all
domain.com.      TXT v=spf1 include:_spf.google.com ~all
mail.domain.com. TXT v=spf1 ip4:xxx.xxx.xxx.xxx a mx a:mail.domain.com mx:domain.com ?all

Meine Frage (n) sind also:

Sind die oben genannten Datensätze als global für alle Domänen, die dem Server hinzugefügt werden, in Ordnung (einige SPF-Tests sind positiv, andere negativ)?

Können die beiden oben genannten DNS-Einträge von domain.com zu einem verkettet werden?

Ist es in Ordnung, dass Google einen SPF-Eintrag für Domains enthält, die nicht über Google Apps gesendet werden?

Ist es notwendig, den anderen TXT-Datensatz zu löschen, wenn sie Google Apps verwenden? Ich kann mir nicht vorstellen, dass es notwendig wäre, den Datensatz mail.domain.com zu löschen, da die E-Mails nicht von dort stammen. Dies könnte jedoch zu Problemen führen, falls vorhanden.

Wir haben mehr als 100 Domains auf einem Server-Stack und das Aktualisieren aller Domains wird keinen Spaß machen, aber ich würde es vorziehen, wenn es richtig gemacht wird.

Danke im Voraus.

Byron ritt
quelle

Antworten:

5

Sie sollten nur einen SPF-Eintrag in einem Hostnamen haben, also kombinieren Sie die beiden häufig zu einem. SPF ist im Grunde eine Liste von Mechanismen (die mit etwas übereinstimmen) und den Maßnahmen, die für diesen Mechanismus ergriffen werden müssen. Sie können so viele dieser Mechanismen in Ihrem SPF-Datensatz haben, wie Sie möchten. Für domain.comSie wollen dies:

domain.com. IN  TXT "v=spf1 include:_spf.google.com +a +mx -all"

Dies bedeutet, dass Folgendes überprüft wird (wobei der erste Übereinstimmungsmechanismus das Ergebnis ist).

  • Holen Sie sich den SPF-Datensatz unter _spf.google.comund werten Sie ihn aus ( include:). Der SPF-Datensatz von Google sieht folgendermaßen aus:

    _spf.google.com descriptive text "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"
    
  • Akzeptieren Sie, wenn sich die IP des SMTP-Clients in einem dieser IPv4-Subnetze befindet ( ipv4:)

  • Akzeptieren Sie, wenn die IP des SMTP-Clients ein A-Eintrag für die Domäne ist ( +a)

  • Akzeptieren Sie, ob die IP des SMTP-Clients ein MX-Eintrag für die Domäne ist ( +mx)
  • Alles ablehnen ( -all)

Ihr SPF-Eintrag für mail.domain.comkann wahrscheinlich folgendermaßen vereinfacht werden:

mail.domain.com.    IN  TXT "v=spf1 ip4:xxx.xxx.xxx.xxx a mx:domain.com ?all"

Vorausgesetzt, das mail.domain.comhat selbst keinen MX-Eintrag. Wenn es einen MX-Datensatz gibt, fügen Sie den mxBegriff wieder in (vor dem all) ein.

mgorven
quelle
Danke für die Erklärung und Antwort - macht jetzt mehr Sinn. Für lokale E-Mails werden MX-Einträge für mail.domain.com festgelegt. Sie verweisen auf die IP-Adresse des Servers (Standardeinstellung in Plesk). Würde das einen Unterschied für Ihren TXT-Datensatz machen? Ich werde die Antwort akzeptieren, wenn das richtig ist.
Byron Rode
@ByronRode Ich bin mir nicht sicher, warum es einen MX-Datensatz gibt, aber in diesem Fall einfach mxzum Datensatz hinzufügen .
mgorven
Es gibt einen MX-Eintrag für lokale E-Mails (einige Clients verwenden keine GApps und senden lieber von unserem Server (Postfix).
Byron Rode
2

Warum haben Sie drei verschiedene SPF-Datensätze? Warum haben Sie einen separaten Eintrag für mail.domain.com, akzeptieren Sie E-Mails mit diesem Domainnamen? Grundsätzlich sollte eine einzige domain.com TXT v=spf1 include:_spf.google.com +a +mx ~allausreichen.

Alex
quelle
So wurde es ursprünglich eingerichtet, daher habe ich gefragt, ob es verkettet werden kann, und der Grund für das auf mail.domain.com war, dass es vom Server selbst zugestellt wurde. Ich war mir damals nicht bewusst, dass ein globaler Domain-Datensatz zählen würde.
Byron Rode
Der Datensatz für mail.domain.comist, weil der vom SMTP-Client deklarierte HELO-Hostname auch mit SPF verglichen wird.
mgorven