Je suis en train de mettre en place une surveillance des serveurs DNS de plusieurs gros hébergeurs Web. Mon objectif est de comparer les temps de réponse de leurs serveurs DNS en suivant leur réponse au ping.
Dans le processus, j'ai découvert que les serveurs de noms Bluehost ne répondent pas au ping. J'ai essayé d'obtenir plus d'informations en exécutant Pingdom DNS Check sur bluehost.com et cela a produit l'erreur suivante:
Le serveur de noms ns1.bluehost.com (74.220.195.31) ne répond pas aux requêtes via TCP.
Le serveur de noms n'a pas pu répondre aux requêtes envoyées via TCP. Cela est probablement dû au fait que le serveur de noms n'est pas correctement configuré ou à un filtrage mal configuré dans un pare-feu. C'est une idée fausse assez courante que DNS n'a pas besoin de TCP à moins qu'il ne fournisse des transferts de zone - peut-être que l'administrateur du serveur de noms n'est pas conscient que TCP est généralement une exigence.
Je voudrais savoir ce qui suit:
- Dans quelle mesure la déclaration ci-dessus est-elle vraie?
- Quelles sont les implications d'un serveur de noms ne répondant pas aux requêtes via TCP?
la source
il devrait prendre en charge TCP et UDP - le TCP est pour les réponses de tailles> 512 octets (ce qui inclurait les transferts de zone) (selon les trucs que j'ai lus, de toute façon. J'active généralement TCP et UDP pour les NS que j'exécute ...)
la source
Il est bon de savoir ce que disent les RFC sur le sujet, et nous avons déjà une bonne réponse faisant autorité à ce sujet, mais à des fins pratiques, je trouve les conseils du professeur Daniel J. Bernstein, PhD, auteur de DJBDNS, très divertissants.
http://cr.yp.to/djbdns/tcp.html#why (2003-01-16)
Notez qu'il omet une mention explicite de DNSSEC; la raison en est que, selon DJB, DNSSEC relève de la catégorie "toujours une erreur". Voir https://cr.yp.to/djbdns/forgery.html pour plus de détails. DJB a une norme alternative, appelée DNSCurve - http://dnscurve.org/ - qui a déjà été adoptée indépendamment par certains fournisseurs (comme OpenDNS). D'intérêt: /security/45770/if-dnssec-is-so-questionable-why-is-it-ahead-of-dnscurve-in-adoption .
Notez que si la documentation ci-dessus sur la configuration de DJBDNS est une indication de ses fonctionnalités, il semble qu'elle ne supporte que AXFR pour TCP. Comme de nombreux fournisseurs utilisent encore DJBDNS, il est donc peu probable qu'ils prennent en charge DNS sur TCP sans efforts supplémentaires.
PS Notez que DJB pratique en fait ce qu'il prêche. Ses propres serveurs, (1), exécutent DNSCurve, (2), ne répondent pas correctement à TCP. Seul le
+notcp
réussirait (ce qui est par défaut):, alors qu'un
+tcp
échouerait (apparemment avec un message d'erreur différent, selon lequel de ses serveurs sera sélectionné):la source
TCP n'est requis que et n'est généralement utilisé que lorsqu'une réponse longue est requise. Il peut y avoir des impacts négatifs. Les transferts de zone sont effectués sur TCP car ils sont volumineux et doivent être fiables. Ne pas autoriser TCP à partir de serveurs non fiables est un moyen de garantir que seules de petites réponses sont données.
Avec l'introduction des réponses DNS signées, il a été nécessaire de relâcher la limite de 512 octets aux réponses UPD. EDNS0 fournit le mécanisme pour des réponses UDP plus longues. Le fait de ne pas autoriser DNS sur TCP risque fortement de briser une implémentation DNS sécurisée.
Il est parfaitement possible d'exécuter un serveur DNS qui n'a que le port UDP 53 ouvert à Internet. L'accès TCP aux homologues DNS est requis, mais il s'agit d'une petite liste d'hôtes.
Il existe une nouvelle RFC596 qui nécessite désormais TCP pour une implémentation DNS complète. Ceci est destiné aux implémenteurs. Les documents ne concernent pas spécifiquement les opérateurs, mais avertissent que l'interdiction de TCP peut entraîner un certain nombre de scénarios de défaillance. Il détaille une grande variété d'échecs qui peuvent survenir si DNS sur TCP n'est pas pris en charge.
Il y a eu des discussions sur l'utilisation de TCP pour empêcher les attaques d'amplification DNS. TCP a ses propres risques de déni de service, mais la distribution est plus difficile.
la source