Existe-t-il un moyen de désactiver les requêtes récursives par le DNS hébergé sur le serveur tout en permettant aux requêtes DNS provenant du serveur de fonctionner?
Pas avec le serveur DNS de Microsoft, il n'y en a pas.
Avec le serveur DNS de l'ISC, BIND, on pourrait créer des points de vue. Le serveur DNS de Microsoft ne dispose pas d'un tel mécanisme. Ainsi, pour toute instance donnée de serveur DNS Microsoft, il faut choisir s'il s'agit d'un serveur DNS à contenu public ou d'un serveur DNS proxy site-local . Il ne peut pas héberger les choses et prétendre être différents types de serveurs pour différents clients DNS.
Le service / outil de test de sécurité est tout à fait juste. Il est recommandé de ne pas fournir de service proxy - tout type de service proxy: que ce soit un service proxy HTTP, un service proxy DNS ou un service de soumission SMTP - au reste d'Internet en dehors de son propre site. Beaucoup devriez avoir des serveurs distincts : un serveur DNS contenu la publication de vos données DNS public, sur vos noms de domaine que vous avez enregistrés, à tout le monde sur Internet; et un serveur DNS proxy local, qui fait le gros travail de résolution des requêtes au nom des ordinateurs de votre réseau local / organisation, qui n'est accessible qu'aux machines de votre organisation / sur votre réseau local. Avec le serveur DNS de Microsoft, ce n'est pas particulièrement facile.
Ce serait particulièrement difficile si votre machine était également un contrôleur de domaine. Vous déclarez que cette machine est directement accessible depuis tout Internet. Si une telle machine est un contrôleur de domaine, vous devez repenser votre organisation réseau maintenant . Vous exposeriez énormément de services internes au public, pas seulement un service DNS proxy. Travaillons donc sur la présomption que ce n'est pas un contrôleur de domaine.
Puisqu'il ne s'agit pas d'un contrôleur de domaine et qu'il s'agit simplement d'un serveur membre , vous n'avez pas besoin que le client DNS sur la machine utilise le propre serveur DNS de la machine (ou, initialement, le serveur DNS d'un autre contrôleur de domaine) pour le proxy. Service DNS, c'est le cas pour les contrôleurs de domaine. Si vous l'aviez fait, 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, pas lui-même.
Cependant, le client DNS sur la machine du serveur membre doit toujours utiliser un serveur DNS proxy interne . Vous ne pouvez pas simplement le pointer vers un serveur DNS externe comme ceux fournis par votre FAI, Google ou toute autre partie qui ne connaît pas toutes les données DNS qu'Active Directory utilise sur votre réseau local . Vous pouvez cependant pointer le client DNS de la machine vers le serveur DNS sur un ou plusieurs de vos contrôleurs de domaine. C'est assez simple, et c'est ce que vous faites - après tout - déjà sur tous vos postes de travail sur votre LAN. Le client DNS sur votre serveur membre doit simplement être configuré comme le sont les clients DNS sur tous vos postes de travail .
É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 le serveur DNS de Microsoft pour qu'il ne fournisse à quiconque aucun service DNS proxy sous quelque forme que ce soit.
Lectures complémentaires
Comme Evan l'a déclaré dans sa réponse, vos applications doivent utiliser le composant client DNS sur le serveur, qui est totalement indépendant du composant serveur DNS. Le composant serveur DNS peut être configuré pour ne pas effectuer de récursivité, ce qui lui permet de répondre aux requêtes qui lui sont soumises uniquement pour les zones DNS pour lesquelles il fait autorité.
Les applications peuvent utiliser les serveurs DNS configurés dans les propriétés TCP / IP de la carte réseau appropriée, qui peuvent être configurés pour utiliser tous les serveurs DNS qui effectueront la récursivité (tels que les serveurs DNS de Google). Les serveurs DNS configurés dans les propriétés TCP / IP de la carte réseau appropriée n'ont pas besoin de pointer vers le serveur DNS exécuté sur ce même serveur.
la source
J'ai récemment eu le même problème et notre serveur DNS était utilisé pour des attaques d'amplification. Mais je dois continuer la récursivité pour nos autres serveurs internes.
Si vous avez un routeur Cisco, voici une solution possible. J'ai déplacé notre DNS externe vers un routeur Cisco 7200VXR et l'ai configuré pour répondre uniquement à des zones DNS spécifiques. Il interrogera les serveurs DNS internes afin que vous n'ayez pas à tout saisir à deux endroits.
Voici un extrait de la configuration Cisco que j'ai utilisée:
N'oubliez pas non plus d'autoriser les paquets DNS dans le routeur avec une liste d'accès, telle que:
la source