DNS-Rekursion ist unsicher, aber für interne Anwendungen notwendig?

16

Bei der Verwaltung von Windows Server 2008 hostet der Server DNS (Nameserver) für einige Domänen sowie einige Anwendungen, auf die öffentlich zugegriffen werden kann.

Ein Sicherheitsscan hat ergeben, dass die DNS-Konfiguration unsicher ist, da rekursive Abfragen möglich sind.

Es wurde versucht, rekursive Abfragen zu deaktivieren, es traten jedoch mehrere Probleme auf (von lokalen Apps gesendete E-Mails wurden nicht zugestellt, und eine lokal ausgeführte App, die eine Verbindung zu einer Site eines Drittanbieters herstellt, konnte den Domänennamen für die Verbindung usw. nicht auflösen.) Es scheint also, dass DNS-Anforderungen, die vom Server selbst stammen, auf rekursiven Abfragen beruhen, um zu funktionieren.

Gibt es eine Möglichkeit, rekursive Abfragen durch den auf dem Server gehosteten DNS zu deaktivieren, während DNS-Abfragen, die vom Server stammen, weiterhin funktionieren? Ich frage mich, ob wir rekursive Abfragen auf dem lokalen DNS-Server deaktivieren und den ausgehenden DNS in den Netzwerkeinstellungen auf einen externen Wert (wie 8.8.8.8) setzen können, sodass ausgehende DNS-Abfragen zuerst dorthin gelangen und der DNS-Wert dieses Servers nur endet Sie werden nach den Domänen abgefragt, die tatsächlich lokal gehostet werden.

Vielen Dank für Ihre Zeit!

ilasno
quelle

Antworten:

11

Es ist eine gute Idee , nicht rekursive Lookup - Funktionalität auf das gesamte Internet zur Verfügung zu stellen, so dass Ihr DNS - Server nur Beantwortung von Anfragen zu konfigurieren , es ist maßgebend für eine gute Sache ist TM .

Oberflächlich betrachtet scheint die Schlussfolgerung, die Sie in Ihrem letzten Absatz gezogen haben, eine gute zu sein: Konfigurieren Sie die TCP / IP-Einstellungen des Servers so, dass ein DNS-Server verwendet wird, der autorisiert ist, rekursive Lookups bereitzustellen. Der DNS-Serverprozess verwendet die in den TCP / IP-Einstellungen auf der Netzwerkkarte des Servercomputers konfigurierten DNS-Server nicht für bestimmte Zwecke. Stattdessen werden Anforderungen basierend auf der DNS-Serverkonfiguration weitergeleitet (oder Stammhinweise verwendet).

Wenn die Anwendungen, die auf dem Server ausgeführt werden, versuchen, nach Domänen abzufragen, ist der auf diesem Computer ausgeführte DNS-Server für die Anforderung maßgeblich. Letztendlich gelangt er zum auf diesem Computer ausgeführten DNS-Server-Prozess, und die Abfrage wird beantwortet.

Evan Anderson
quelle
14

Gibt es eine Möglichkeit, rekursive Abfragen durch den auf dem Server gehosteten DNS zu deaktivieren, während DNS-Abfragen, die vom Server stammen, weiterhin funktionieren?

Nicht mit Microsofts DNS-Server gibt es nicht.

Mit dem DNS-Server von ISC, BIND, kann man Dinge mit Ansichten überhäufen. Der DNS-Server von Microsoft verfügt über keinen solchen Mechanismus. Für eine bestimmte Instanz eines Microsoft-DNS-Servers muss also ausgewählt werden, ob es sich um einen öffentlichen Inhalts- DNS-Server oder einen standortlokalen Proxy- DNS-Server handelt. Es kann nicht gegen Dinge ankämpfen und vorgeben, für verschiedene DNS-Clients unterschiedliche Servertypen zu sein.

Der Sicherheitstestservice / -tool ist ganz richtig. Es ist empfehlenswert, keinen Proxy-Dienst ( keine Art von Proxy-Dienst) für den Rest des Internets außerhalb der eigenen Site bereitzustellen. Sie sollten sehr unterschiedliche Server haben : einen Content-DNS-Server, der Ihre öffentlichen DNS-Daten über Ihre registrierten Domain-Namen für jeden im Internet veröffentlicht; und einen lokalen Proxy-DNS-Server, der die grundlegende Aufgabe der Abfrageauflösung für die Computer Ihres LANs / Ihrer Organisation übernimmt und auf den nur Computer in Ihrer Organisation / in Ihrem LAN zugreifen können. Mit dem DNS-Server von Microsoft ist dies nicht besonders einfach.

Es wäre besonders schwierig, wenn Ihr Computer auch ein Domänencontroller wäre. Sie geben an, dass diese Maschine direkt über das gesamte Internet erreichbar ist. Wenn ein solcher Computer ein Domänencontroller ist, sollten Sie jetzt Ihre Netzwerkorganisation überdenken . Sie würden eine Menge interner Dienste der Öffentlichkeit zugänglich machen, nicht nur Proxy-DNS-Dienste. Gehen wir also davon aus, dass dies kein Domänencontroller ist.

Da es sich nicht um einen Domänencontroller und lediglich um einen Mitgliedsserver handelt , muss der DNS- Client auf dem Computer nicht den DNS- Server des Computers (oder anfangs den DNS-Server eines anderen Domänencontrollers) als Proxy verwenden DNS-Dienst, das ist bei Domänencontrollern der Fall. Wenn dies der Fall wäre, könnten Sie den Proxy-DNS-Dienst auf dem DNS-Server des Computers nicht deaktivieren. Glücklicherweise ist es kein Domänencontroller, und sein DNS-Client kann einen anderen Computer für den Proxy-DNS-Dienst verwenden, nicht selbst.

Der DNS-Client auf dem Mitgliedsservercomputer muss jedoch noch einen internen Proxy-DNS-Server verwenden. Sie können nicht einfach auf einen externen DNS-Server verweisen, der von Ihrem Internetdienstanbieter, Google oder einer anderen Partei bereitgestellt wird, die nicht alle DNS-Daten kennt, die Active Directory in Ihrem LAN verwendet . Sie können den DNS-Client des Computers jedoch auf den DNS-Server auf einem oder mehreren Ihrer Domänencontroller verweisen. Dies ist ziemlich einfach und ist es, was Sie - immerhin - auf all Ihren Workstations in Ihrem LAN bereits tun . Der DNS-Client auf Ihrem Mitgliedsserver muss lediglich so konfiguriert werden wie die DNS-Clients auf allen Ihren Arbeitsstationen .

Da der DNS-Client Ihres Computers nicht den DNS-Server verwendet, der auf dem Computer für den Proxy-DNS-Dienst ausgeführt wird, konfigurieren Sie den DNS-Server von Microsoft einfach so, dass für niemanden ein Proxy-DNS-Dienst in irgendeiner Form bereitgestellt wird.

Weitere Lektüre

JdeBP
quelle
Hervorragendes Schreiben.
Nic
Ich schätze die Informationen, danke! Ich arbeite hier mit einer kleineren Infrastruktur, daher ist die vorgestellte Lösung für dieses Szenario übertrieben.
Ilasno
Nur eine kurze Anmerkung, dass dies ab Server 2016 nicht mehr der Fall ist: Windows unterstützt jetzt Split-Brain-DNS , einschließlich der Option, die rekursive Suche in Abhängigkeit von der Adresse des Clients einzuschränken. Das Einrichten eines unabhängigen Servers für öffentliche Anfragen ist jedoch immer noch die einfachere Option.
Bob
5

Wie Evan in seiner Antwort angegeben hat, müssen Ihre Anwendungen die DNS-Client-Komponente auf dem Server verwenden, die von der DNS-Serverkomponente völlig unabhängig ist. Die DNS-Serverkomponente kann so konfiguriert werden, dass keine Rekursion durchgeführt wird. Dadurch kann sie nur die Anfragen beantworten, für die sie autorisiert ist.

Die Anwendungen können die DNS-Server verwenden, die in den TCP / IP-Eigenschaften der entsprechenden Netzwerkkarte konfiguriert sind. Diese können so konfiguriert werden, dass sie alle DNS-Server verwenden, die eine Rekursion durchführen (z. B. die DNS-Server von Google). Die in den TCP / IP-Eigenschaften der betreffenden Netzwerkkarte konfigurierten DNS-Server müssen nicht auf den DNS-Server verweisen, der auf demselben Server ausgeführt wird.

Joeqwerty
quelle
0

Ich hatte vor kurzem das gleiche Problem und unser DNS-Server wurde für Verstärkungsangriffe verwendet. Aber ich muss die Rekursion für unsere anderen internen Server fortsetzen.

Wenn Sie einen Cisco-Router haben, finden Sie hier eine mögliche Lösung. Ich habe unser externes DNS auf einen Cisco 7200VXR-Router verschoben und ihn so konfiguriert, dass er nur auf bestimmte DNS-Zonen antwortet. Die internen DNS-Server werden abgefragt, sodass Sie nicht alles an zwei Stellen eingeben müssen.

Hier ist ein Ausschnitt der Cisco-Konfiguration, die ich verwendet habe:

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

Vergessen Sie auch nicht, DNS-Pakete mit einer Zugriffsliste an den Router zuzulassen, z. B .:

permit udp any host 1.2.3.4 eq domain
Brain2000
quelle