it-swarm.com.de

Zu viele DNS-Suchvorgänge in einem SPF-Datensatz

Meine Website muss E-Mails mit Google Apps-, SendGrid- und MailChimp-Diensten versenden. Google Apps wird verwendet, um eingehende E-Mails an meine Domain zu empfangen und zu lesen.

Ich muss den SPF-Datensatz für meine Domain festlegen. Folgendes ist syntaktisch korrekt (nicht sicher über A- und MX-Token):

"v = spf1 a mx include: _spf.google.com include: servers.mcsv.net include: sendgrid.net ~ all"

Aber wenn ich es mit http://www.kitterman.com/getspf2.py teste, bekomme ich 

PermError SPF Permanenter Fehler: Zu viele DNS-Suchvorgänge

Ähnliches Problem wie http://www.onlineaspect.com/2009/03/20/too-many-dns-lookups-in-an-spf-record/

Wie kann ich meinen SPF-Datensatz optimieren/umschreiben?

35
Robert

Also musste ich das noch nie tun, aber basierend auf dem Artikel, den Sie geschickt haben, ist dies genau das, worauf ich gekommen bin.

Wir haben angefangen mit:

v=spf1 a mx include:_spf.google.com include:servers.mcsv.net include:sendgrid.net ~all

Wir erhalten 10 Suchvorgänge, bevor wir den Too many DNS lookups-Fehler auslösen:

  2 (Initial TXT & SPF Lookups)
  2 (a & mx Lookups)
  1 (_spf.google.com)
  1 (servers.mcsv.net)
 +1 (sendgrid.net)
 -----------------
  7 Lookups

Ohne die enthaltenen SPF-Datensätze zu verfolgen, haben wir also 7 Suchvorgänge.


Lassen Sie uns jetzt eine Stufe tiefer tauchen.

1. _spf.google.com

Der Google-SPF-Datensatz wird wie folgt ausgewertet:

v=spf1 include:_netblocks.google.com include:_netblocks6.google.com ?all

Jede davon wird in folgende Werte aufgelöst:

# _netblocks.google.com
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

# _netblocks6.google.com
v=spf1 ip6:2607:f8b0:4000::/36 ip6:2a00:1450:4000::/36 ?all

Google gibt uns also 2 weitere Suchvorgänge, wodurch die Gesamtzahl auf 9 Lookups steigt.

2. servers.mcsv.net

Mailchimp ist ein bisschen doosey, weil es ganze 3 zusätzliche Suchvorgänge hinzufügt:

v=spf1 include:spf1.mcsv.net include:spf2.mcsv.net include:spf.mandrillapp.com ?all

Ich könnte mir vorstellen, dass Sie je nach dem, was Sie über Mailchimp senden, möglicherweise ein oder zwei dieser Einträge entfernen können (dies müssen Sie jedoch selbst überprüfen).

Wie dem auch sei, diese lösen sich zu Folgendem auf:

# spf1.mcsv.net
v=spf1 ip4:207.97.237.194/31 ip4:207.97.238.88/29 ip4:207.97.240.168/29 ip4:69.20.10.80/29 ip4:69.20.41.72/27 ip4:74.205.22.1/27 ip4:69.20.90.0/26 ?all

# spf2.mcsv.net
v=spf1 ip4:204.232.163.0/24 ip4:72.26.195.64/27 ip4:74.63.47.96/27 ip4:173.231.138.192/27 ip4:173.231.139.0/24 ip4:173.231.176.0/20 ip4:205.201.128.0/24 ?all

# spf.mandrillapp.com
v=spf1 ip4:205.201.136.0/24 ip4:205.201.137.0/24 ?all

Das bringt uns auf insgesamt 12 Lookups (was bereits zwei über dem Limit liegt).

2. sendgrid.net

SendGrid ist für uns die geringste Anzahl zusätzlicher Suchvorgänge.

v=spf1 ip4:208.115.214.0/24 ip4:74.63.202.0/24 ip4:75.126.200.128/27 ip4:75.126.253.0/24 ip4:67.228.50.32/27 ip4:174.36.80.208/28 ip4:174.36.92.96/27 ip4:69.162.98.0/24 ip4:74.63.194.0/24 ip4:74.63.234.0/24 ip4:74.63.235.0/24 include:sendgrid.biz ~all

Die einzige zusätzliche Suche hier ist sendgrid.biz, die sich wie folgt auswertet:

v=spf1 ip4:208.115.235.0/24 ip4:74.63.231.0/24 ip4:74.63.247.0/24 ip4:74.63.236.0/24 ip4:208.115.239.0/24 ip4:173.193.132.0/24 ip4:173.193.133.0/24 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ~all

Dies führt zu einer Gesamtsumme von 14 Suchvorgängen.


So ist unsere Gesamtsumme 14 Lookups . Wir müssen das auf 10 reduzieren. Ich habe unten ein paar Optionen beschrieben. Möglicherweise müssen Sie mehr als eine von ihnen verwenden, um sie herunterzufahren.

  1. Schließen Sie einige der umgeleiteten SPF-Datensätze direkt ein. Nun, da wir wissen, auf welche Server die spf-Datensätze umgeleitet werden, können Sie den Zwischenhändler ausschneiden und direkt einschließen. Hinweis: Wenn einer der Dienste seine SPF-Datensätze ändert, müssen Sie die Aktualisierung Ihrer Datensätze manuell durchführen.

  2. Entfernen Sie einige der von Ihnen verwendeten Dienste. Sie sind sich nicht sicher, was Ihr Anwendungsfall für all diese Dienste ist, aber es gibt definitiv einige Überschneidungen, die Sie möglicherweise verwenden können. SendGrid unterstützt beispielsweise (1) ausgehende Transaktionsmail, (2) Newsletter/Marketing-E-Mails und (3) eingehende Mail. Es kann also zu einer reduzierbaren Redundanz kommen.

  3. Entfernen Sie den MX-Eintrag, wenn er redundant ist. Abhängig von Ihrem Setup kann der MX-Lookup redundant sein.

Hoffe das hilft!

61
Swift

Swifts Antwort ist hervorragend.

Eine Technik, die oben nicht erwähnt wurde, besteht darin, zu prüfen, ob separate Systeme mit eigenen SPF-Datensätzen für Systeme verwendet werden können, die E-Mails über diese verschiedenen Routen versenden.

Z.B. Wenn die Domain example.com ist, lassen Sie Google-Apps von Adressen wie [email protected] senden. Dann kann es einen SPF-Datensatz für gapps.example.com geben, der _spf.google.com enthält, und _spf.google.com kann aus dem example.com-Hauptdaten-SPF-Datensatz entfernt werden, wodurch die Suche um 3 reduziert wird.

6
mc0e

Werfen Sie einen Blick auf SPF-tools *, die dabei helfen, den SPF-Datensatz aus dem ursprünglichen Datensatz, der include einschließt, zu einem statischen Datensatz zusammenzusetzen, der lediglich ip4- und ip6-Felder enthält. Es kann einfach mit einem lokal ausgeführten DNS-Server oder einem gehosteten DNS-Dienst mithilfe seiner API gekoppelt werden, um alles mit den Upstream-Includes zu synchronisieren.

* Ich bin der Autor (jetzt zusammen mit anderen Mitwirkenden) und ist Open Source unter der Apache 2.0-Lizenz.

4
Ján Sáreník

Vor ein paar Jahren schrieb ich hydrate-spf , ein Tool, das nachschlägt und das Ergebnis in einen riesigen Datensatz zusammenführt. Wie in der README-Datei erwähnt, ist dieser Ansatz nicht ideal, da die enthaltenen Domains die Möglichkeit haben, ihre Datensätze zu aktualisieren. Wenn Sie jedoch gegen das zulässige Limit stoßen, wird das unmittelbare Problem gelöst und durch regelmäßige Updates etwas gewartet.

0
Xiong Chiamiov

Wir untersuchten das Reduzieren der SPF-Einträge in IPs sowie das Erstellen von Subdomains. Alle schienen viel Arbeit zu sein. Wir haben einen Dienst von spfproxy.org gefunden, dessen Einrichtung buchstäblich einige Minuten dauert. Sie maskieren im Wesentlichen die DNS-Lookups dahinter mit SPF-Makros. Nicht sicher, warum mehr Unternehmen dies nicht anbieten.

0
AngularNerd

Das 10-Lookup-Limit ist ein Limit für DNS-Lookups. Das Reduzieren des SPF-Datensatzes, um weniger DNS-Suchvorgänge zu berücksichtigen, und das Ersetzen von IP-Adressen (Reduzieren) ist eine Möglichkeit, das Limit zu umgehen.

Sie können dies manuell tun, müssen jedoch Ihre SPF-Einträge jedes Mal aktualisieren, wenn einer der Anbieter seine IPs ändert (was häufig geschieht).

Die ideale Lösung ist die Verwendung eines SPF-Abflachungsdienstes. Diese ist kostenlos für geringe Auflagen oder billig für mehr als 500 E-Mails pro Monat. Es fragt regelmäßig die SPF-Datensätze ab, die Sie für aktualisierte IPs aufnehmen möchten.

Fraudmarc.com

Offenlegung: Ich bin mit dieser Firma nicht verbunden und dies ist kein Verweislink

0
Gaia

Dieses 10-DNS-Lookup-Limit wird von SPF-Implementierungen festgelegt, um DDoS-Angriffe auf die DNS-Infrastruktur zu verhindern.

Mit der Safe SPF-Funktion von DMARCLY können Sie das Limit aufheben, ohne den SPF-Datensatz neu zu schreiben.

0
lgc_ustc