web-dev-qa-db-fra.com

La récursion DNS n'est pas sûre, mais nécessaire aux applications internes?

Dans la gestion d'un serveur Windows 2008, le serveur héberge DNS (noms de noms de noms) pour certains domaines, ainsi que d'accueillir certaines applications accessibles au public.

Une analyse de sécurité a indiqué que la configuration DNS n'est pas sécurisée, car elle permet des requêtes récursives.

La désactivation des requêtes récursives a été essayée, mais plusieurs problèmes sont survenus (des courriels envoyés à partir d'applications locales n'ont pas été livrés et une application exécutée localement qui se connecte à un site tiers n'a pas pu résoudre le nom de domaine de la connexion, etc.). Il semble donc que les demandes DNS qui appartiennent au serveur lui-même s'appuie sur des requêtes récursives pour fonctionner.

Existe-t-il un moyen de désactiver les requêtes récursives par les DNS hébergés sur le serveur tout en permettant toujours aux requêtes DNS originaires du serveur pour fonctionner? Je me demande si nous pouvons désactiver les requêtes récursives sur le serveur DNS local et définir les DNS sortants dans les paramètres réseau à quelque chose de externe (comme 8.8.8.8), de sorte que les requêtes DNS sortantes y allaient d'abord et que les DNS de ce serveur ne termineraient que Se prétender pour les domaines qu'il accueille réellement localement.

Merci pour votre temps!

16
ilasno

C'est une bonne idée de ne pas fournir une fonctionnalité de recherche récursive à l'ensemble de l'Internet, alors configurez votre serveur DNS pour répondre uniquement aux requêtes qu'elle est autoritée pour une bonne choseTm.

Sur la surface, il ressemble à la conclusion que vous avez atteinte dans votre dernier paragraphe est une bonne: configurez les propres paramètres TCP/IP du serveur pour utiliser un serveur DNS qui est autorisé à fournir des recherches récursives. Le processus de serveur DNS n'utilise pas les serveurs DNS configurés dans les paramètres TCP/IP de l'ordinateur du serveur NIC pour quoi que ce soit en particulier. Il s'agit plutôt des demandes (ou utilise des astuces racines) en fonction de la configuration du serveur DNS.

Lorsque les applications exécutées sur le serveur tentent d'interroger pour domaines, le serveur DNS exécuté sur cette machine est autoritaire pour la demande, finalement, le processus de serveur DNS s'exécutant sur cette machine et la requête serait répondu.

11
Evan Anderson

Existe-t-il un moyen de désactiver les requêtes récursives par les DNS hébergés sur le serveur tout en permettant toujours aux requêtes DNS originaires du serveur pour fonctionner?

Pas avec le serveur DNS de Microsoft, il n'y a pas.

Avec le serveur DNS de ISC, lier, on pourrait organiser des choses avec des vues. Le serveur DNS de Microsoft n'a pas de tel mécanisme. Donc, pour une instance donnée de Microsoft DNS Server, il faut choisir s'il s'agit d'un fichier public contenu serveur DNS ou un site-local proxy serveur DNS. Il ne peut pas organiser les choses et prétendre être différents types de serveurs à différents clients DNS.

Le service/outil de test de sécurité est tout à fait correct. IT IS Meilleure pratique pour ne pas fournir de service proxy - Tout type de service proxy: Soyez le service proxy HTTP, le service proxy DNS ou le service de soumission SMTP - à le reste d'Internet avec son propre site. Vous avez beaucoup Devrait avoir Serveurs séparés: Un serveur DNS de contenu publie vos données DNS publiques, sur vos noms de domaine que vous avez enregistrés, à tout le monde sur Internet; et un serveur DNS de proxy local, qui fait le travail grogner de la résolution de la requête au nom des ordinateurs de votre réseau local/de votre organisation, qui n'est accessible que sur des machines à votre organisation/sur votre réseau local. Avec le serveur DNS de Microsoft, ce n'est pas particulièrement facile.

Ce serait surtout Difficile si votre machine était également un contrôleur de domaine. Vous déclarez que cette machine est directement accessible de l'ensemble de l'Internet. Si une telle machine est un contrôleur de domaine, vous devez rehéser votre organisation de réseau maintenant. Vous exposeriez énormément de services internes au public, pas seulement du service DNS proxy. Travaillons donc sur la présomption que ce n'est pas un contrôleur de domaine.

Comme ce n'est pas un contrôleur de domaine, et est simplement un serveur membre , vous n'avez pas l'obligation que le fichier DNS client sur la machine doit utiliser la machine propre dns serveur (ou, initialement, un autre serveur DNS du contrôleur de domaine) pour le service DNS proxy, c'est-à-dire le cas pour les contrôleurs de domaine. Si vous avez eu, vous ne seriez pas en mesure de désactiver le service DNS proxy sur le serveur DNS de la machine. Heureusement, ce n'est pas un contrôleur de domaine et son client DNS peut utiliser une autre machine pour le service DNS proxy, non lui-même.

Le client DNS sur la machine de serveur membre doit toujours utiliser un interne serveur DNS proxy, cependant. Vous ne pouvez pas simplement le signaler à un serveur DNS externe comme celui fourni par votre fournisseur de services Internet, Google ou une autre partie que Ne connaisse pas toutes les données DNS que Active Directory utilise sur votre réseau local . Vous pouvez signaler le client DNS de la machine sur le serveur DNS sur un ou plusieurs des contrôleurs de domaine, cependant. C'est assez simple, et c'est ce que vous êtes - après tout - déjà fait sur tous vos postes de travail sur votre réseau local. Le client DNS sur votre serveur de membre doit simplement être configuré Comme les clients DNS sur toutes vos postes de travail sont.

Étant donné que le client DNS de votre machine n'utilise pas le serveur DNS exécuté sur la machine pour le service DNS proxy, vous configurez simplement simplement le serveur DNS de Microsoft pour ne pas fournir de service DNS proxy de n'importe quel formulaire à personne.

En plus de lecture

14
JdeBP

Comme Evan a déclaré dans sa réponse, vos applications doivent utiliser le composant client DNS sur le serveur, qui est totalement indépendant de la composante du serveur DNS. Le composant Server DNS peut être configuré pour ne pas effectuer de récursivité, ce qui lui permet de répondre aux requêtes qui ne lui sont soumises que pour les zones DNS qu'il fait autorité.

Les applications peuvent utiliser les serveurs DNS configurés dans les propriétés TCP/IP de la carte réseau correspondante, qui peut être configurée pour utiliser tous les serveurs DNS qui effectueront une récursion (tels que les serveurs DNS de Google). Les serveurs DNS configurés dans les propriétés TCP/IP du fichier correspondant NIC NON ont besoin de pointer sur le serveur DNS s'exécutant sur ce même serveur.

5
joeqwerty

Je viens de recevoir le même problème et notre serveur DNS était utilisé pour des attaques d'amplification. Mais je dois garder la récursive sur nos autres serveurs internes.

Si vous avez un routeur Cisco, voici une solution possible. J'ai déplacé notre DNS externe sur un routeur Cisco 7200VXR et j'ai configuré pour répondre uniquement à des zones DNS spécifiques. Il doit interroger les serveurs DNS internes afin que vous n'ayez pas à tout entrer à deux endroits.

Voici un extrait de la configuration Cisco que j'ai utilisé:

ip dns view default
 dns forwarder 192.168.0.xx (internal DNS server)
 domain round-robin

ip dns view-list default
 view default 1
  restrict name-group 1

ip dns name-list 1 permit abc.com
ip dns name-list 1 permit def.com
ip dns name-list 1 permit anyotherdomainthatyouhost.com
ip dns name-list 1 permit 3.2.1.in-addr.arpa (needed for reverse PTR lookups)

interface fastethernet0/0 (the interface where the IP address is that will Host DNS)
 ip dns view-group default
 ip address 1.2.3.4 secondary (use the public facing IP you will use to Host DNS)

ip dns server

En outre, n'oubliez pas d'autoriser les paquets DNS dans le routeur avec une liste d'accès, tels que:

permit udp any Host 1.2.3.4 eq domain
0
Brain2000