Trop de recherches DNS dans un disque SPF

mon site Web doit envoyer des e-mails avec les services Googleapps, SendGrid et MailChimp. Googleapps est utilisé pour recevoir et lire les e-mails entrants dans mon domaine.

j'ai besoin de définir le record SPF pour mon domaine. Ce qui suit est syntaxiquement correct (pas sûr pour les jetons A et MX):

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

mais si je l'ai tester avec http://www.kitterman.com/getspf2.py je

PermError SPF erreur permanente: trop de recherches DNS

problème similaire à http://www.onlineaspect.com/2009/03/20/too-many-dns-lookups-in-an-spf-record/

Comment puis-je optimiser/réécrire mon dossier FPS?

34
demandé sur Robert 2013-01-10 19:21:24

7 réponses

donc, je n'ai jamais eu à faire ça avant, mais d'après l'article que vous avez envoyé, c'est ce que j'ai trouvé.

Nous avons commencé avec:

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

nous obtenons un total de 10 recherches avant de lancer le Too many DNS lookups erreur:

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

donc sans même suivre les enregistrements SPF inclus, nous avons 7 recherches.


Maintenant, ouvrons un niveau plus profond.

1. _spf.google.com

google enregistrement SPF donne:

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

Chacune régler les valeurs suivantes:

# _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

alors google nous donne 2 recherches supplémentaires, ce qui porte le total à 9 recherches.

2. servers.mcsv.net

Mailchimp est un peu un doosey parce qu'elle ajoute un ensemble de 3 autres recherches:

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

j'imagine que selon ce que vous envoyez par Mailchimp, vous pourriez être en mesure de supprimer un ou deux de ces enregistrements (mais vous devrez l'évaluer vous-même).

de toute façon, ceux qui résoudre les suivantes:

# 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

cela nous amène à un total de 12 recherches (ce qui est déjà deux au-dessus de la limite).

2. sendgrid.net

SendGrid finit par être le nombre le moins élevé de recherches supplémentaires pour nous.

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

Donc la seule recherche est ici sendgrid.biz, qui évalue à:

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

Cela apporte notre total jusqu'à 14 recherches.


donc notre grand total est 14 recherches. Nous avons besoin d'obtenir jusqu'à 10. J'ai décrit quelques options ci-dessous, vous pourriez avoir besoin d'utiliser plus d'un d'entre eux pour le descendre.

  1. incluez directement certains des enregistrements SPF redirigés. Maintenant que nous savons à quels serveurs les enregistrements spf redirigent, vous pouvez supprimer l'intermédiaire et les inclure directement. Remarque: Si l'un des les services finissent par changer leurs enregistrements SPF, vous devrez passer par le processus de mise à jour de la vôtre manuellement.

  2. Supprimer certains des services que vous utilisez. Pas sûr de ce que votre cas est d'avoir tous ces services, mais il ya certainement un certain chevauchement que vous pourriez être en mesure d'utiliser. Par exemple, SendGrid prend en charge (1) le courrier sortant transactionnel, (2) Les e-mails de newsletter / marketing, et (3) le courrier entrant. Donc, il peut y avoir un certain réductible redondance.

  3. Supprimer L'enregistrement MX s'il est redondant. Selon votre configuration, la recherche MX peut être redondante.

Espérons que cette aide!

58
répondu Swift 2013-01-10 16:37:02

la réponse de Swift est excellente.

une technique qui n'est pas mentionnée ci-dessus est d'examiner si des sous-domaines séparés avec leurs propres enregistrements SPF peuvent être utilisés pour les systèmes qui envoient du courrier via ces différentes routes.

E. g. si le domaine est example.com, faites envoyer googleapps à partir d'adresses comme user@gapps.example.com. Alors il peut y avoir un enregistrement SPF pour gapps.example.com qui inclut _spf.google.com et _spf.google.com peut être supprimé de la main example.com enregistrement SPF, qui réduit les recherches par 3.

6
répondu mc0e 2016-06-13 13:57:01

regardez SPF-tools * qui aide avec le réassemblage de l'enregistrement SPF de l'original qui utilise inclut dans un statique contenant simplement ip4 et ip6 champs. Il peut être Facilement couplé avec le serveur DNS local ou le service DNS hébergé en utilisant leur API pour garder tout en phase avec les inclusions amont.

4
répondu Ján Sáreník 2016-05-31 08:37:12

nous avons exploré l'aplatissement des enregistrements SPF en IPs ainsi que la création de sous-domaines. Tous d'entre eux semblait être beaucoup de travail. Nous avons trouvé un service de spfproxy.org qui prend littéralement quelques minutes à installer. Ils masquent essentiellement les recherches DNS derrière eux en utilisant des macros SPF. Je ne sais pas pourquoi d'autres entreprises n'offrent pas ça.

0
répondu AngularNerd 2016-08-04 06:06:23

il y A quelques années, j'ai écrit hydrate-spf, un outil de recherche comprend et fusionne le résultat dans un géant de l'enregistrement. Comme mentionné dans le README, cette approche n'est pas idéale - il supprime la possibilité pour vos domaines inclus de mettre à jour leurs enregistrements. Cependant, lorsque vous vous heurtez à la limite permise, cela résoudra le problème immédiat et pourra être maintenu quelque peu grâce à des mises à jour régulières.

0
répondu Xiong Chiamiov 2016-08-12 00:21:26

la limite de recherche de 10 est une limite pour les recherches DNS. Aplatir le disque SPF pour inclure moins de recherches DNS et les remplacer par IPs (aplatissement) est une façon de contourner la limite.

vous pouvez le faire manuellement, mais ensuite vous devez mettre à jour vos enregistrements SPF chaque fois que l'un des fournisseurs change son IPs (ce qui arrive fréquemment).

La solution idéale est d'utiliser un SPF aplatissement de service. Celui-ci est gratuit pour les petits volumes, ou bon marché pour plus de 500 e-mails/mois. effectue régulièrement des sondages auprès des enregistrements SPF que vous voulez inclure pour la mise à jour des IPs.

Fraudmarc.com

Divulgation: je ne suis pas associés à cette société et ce n'est pas un lien de parrainage

0
répondu Gaia 2017-12-31 19:08:33

cette limite de 10-DNS-lookup est imposée par les implémentations SPF pour prévenir les attaques DDoS contre l'infrastructure DNS.

DMARCLY's Fort SPF fonctionnalité, vous pouvez lever la limite sans la réécriture de votre enregistrement SPF.

0
répondu lgc_ustc 2018-09-15 05:47:44