DNS Global Query Block List und WPAD 14. März 2012

Wer seine Clients über einen Proxyserver in das Internet lässt, der steht vor der Entscheidung, wie er die Clients mit einer gültigen Proxykonfiguration versorgt. Viele greifen hier zu einer Gruppenrichtlinie. Eine viel elegantere Variante ist hier WPAD. Gerade wenn eine Firma über mehrere Standorte verfügt und die Benutzer zwischen den einzelnen Standorten reisen, ist WPAD eine sehr unkomplizierte Angelegenheit die auch recht schnell umgesetzt ist. Allerdings steht man dann vor der Aufgabe, dem Browser mitzuteilen, wo sich die Datei “wpad.dat” befindet. Dies kann in den meisten Browsern statisch eingetragen werden. Es gibt aber auch die Möglichkeit, dies über die DHCP Option 252 zu realisieren. Eine weitere Möglichkeit ist ein Host-A Eintrag bzw. CName-Eintrag, der auf einen Webserver zeigt auf dem die “wpad.dat” liegt.

Bei der DNS Variante gibt es allerdings seit Windows Server 2008 eine kleine Stolperfalle. Microsoft hat beschlossen, das der Eintrag “wpad” besonders schützenswert ist. Das bedeutet, selbst wenn in einer Forward-Lookup Zone ein A-Eintrag mit dem Namen “wpad” existiert, wird dieser bei einer DNS Anfrage nicht von einem Windows Server 2008 bzw. 2008 R2 mit einer korrekten IP aufgelöst. Werfen wir einmal einen Blick in den DNS-Server:

Wie man sehen kann, ist der A-Eintrag für “wpad” korrekt gesetzt. Wenn jetzt ein DNS-Client versucht diesen Namen in eine IP-Adresse aufzulösen, wird das in einer Fehlermeldung enden.

 

 

 

 

 

Auf dem DNS Server selbst wird durch eine DNS-Abfrage für den Host “wpad.domaene.intern” eine Warnung im Eventlog verzeichnet:

Leider kann man dieses tolle “Feature” nicht über die GUI oder über eine Gruppenrichtlinie deaktivieren. Um es letztendlich deaktivieren zu können, kommt dnscmd zum Einsatz. Mit dem Kommando

dnscmd /info /globalqueryblocklist

kann man die Einstellung anzeigen lassen.

Bei einer Standardinstallation sind also die Hostnamen “isatap” und “wpad” in der globalen Abfragesperrliste enthalten. Um jetzt zum Beispiel den Hostnamen “wpad” zu entfernen, setzt man über dnscmd folgendes Kommando auf jedem DNS-Server ab:

dnscmd /config /globalqueryblocklist isatap

Um das “Feature” komplett zu deaktivieren, kann man folgendes Kommando einsetzen:

dnscmd /config /enableglobalqueryblocklist 0

Wer jetzt mehrere DNS Server in seiner Domäne hat, der muss dieses Kommando auf allen DNS Servern absetzen, weil diese Konfiguration nicht zwischen den DNS Server repliziert wird. Der dafür ist, dass diese Einstellung in der lokalen Registrierung jedes DNS Server eingetragen wird. Folgende Schlüssel bzw. Werte sind für die Konfiguration verantwortlich:

Aktivieren bzw. Deaktivieren der globalen Abfragesperrliste:

Key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters

Name
EnableGlobalQueryBlockList

Typ
REG_DWORD

Daten
Enable: 1; Disable: 0

Eintragen bzw. Löschen von Hostnamen aus der globalen Abfragesperrliste:

Key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters

Name
GlobalQueryBlockList

Type
REG_MULTI_SZ

Data
wpad isatap

Wenn man jetzt aber mehrere DNS-Server verwalten muss, dann kann das Konfigurieren der globalen Abfragesperrliste eine zeitaufwendige Angelegenheit werden. Microsoft bietet dafür auch keine ADMX Datei an, mit der man diese Funktion bequem über eine Gruppenrichtlinie konfigurieren kann. Zum Glück gibt es ja die Gruppenrichtlinieneinstellungen, mit denen man einzelne Registrykeys verteilen kann.

Damit wirklich alle DNS Server konfiguriert werden, empfiehlt es sich, dass die Richtlinie auf der Ebene der Domäne erstellt wird.

Damit sich die Einstellung nur auf die DNS Server der Domäne auswirkt, prüfe ich über die Zielgruppenadressierung, ob der Schlüssel “HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters” existiert. Nur wenn dieser Schlüssel vorhanden ist, soll die Einstellung in der Registrierung vorgenommen werden.

 

 

 

 

 

 

 

 

Nachdem die Einstellungen erledigt sind, sollte es im Gruppenrichtlinieneditor so aussehen:

Damit sollte dann die globale Abfragesperrliste deaktiviert sein und die Auflösung des Namens “wpad” zu einer IP-Adresse gelingen. Dieses “Feature” gibt es auch unter Windows Server 2003R2. Allerdings war es dort im Standard nicht aktiviert.

Weitere Infos:

Leave a Reply

*