Proxykonfiguration: WPAD als Alternative

09.01.2013 | Autor: Mark Heitbrink

Wie verteile ich die Proxykonfiguraton in meinem Netzwerk per Gruppenrichtlinie? 

Auf der einen Seite ist das per GPO eine elegante Lösung, der Nachteil aber ist:
Es setzt die Verwendung des Internet Explorer voraus da alternative Browser die Konfiguration der InternetExplorer Wartung nicht verwenden.
Es gibt Ausnahmen, die auf die MS InternetOptionen zurückgreifen, aber die meisten verwenden eine eigene.

Gerade Firefox wird immer häufiger verwendet und fühlt sich durch Gruppenrichtlinien überhaupt nicht angesprochen. Ein weiteres Problem gerade bei den "Mozilla-Artigen" ist, daß die Konfiguration nicht in der Registry erfolgt, sondern in einer Textdatei (userprefs.js/prefs.js), deren Inhalt ich nicht mit einem ADM Template oder einer anderen Werkzeug der Gruppenrichtlinien editieren kann.

Die Probleme sind aber noch nicht zu Ende diskutiert. Wird der Proxy per Gruppenrichtlinien übergeben so haben die Clients ein Problem, sobald sie das Firmenumfeld verlassen und dann den Proxy nicht finden, da er nicht zur Verfügung steht. Klassisches Problem für Aussendienstler mit ihren Notebooks. Jetzt muss man diesen die Konfiguration der IE Optionen wieder gestatten, damit es geht, aber das lästige Umschalten bleibt. Mal mit, mal ohne Proxy usw.

Da ich persönlich nichts von der CSE Internet Explorer-Wartung halte, da diese schon desöfteren ein seltsames Verhalten an den Tag gelegt hat und ich persönlich immer eine Lösung favorisiere, die OS oder Anwendung unabhängig ist, möchte ich hier die Lösung für WPAD vorstellen.

Die Idee:
Der Browser wird auf "Automatische Suche der Einstellungen" konfiguriert. Startet der Browser versucht er eine Konfiguratonsdatei zu finden. Ist sie vorhanden, wird sie verwendet, ist sie nicht vorhanden oder wird nicht gefunden, versucht er den direkten Weg ins Internet. Was dann idR einen Gateway (Router) Eintrag in der IP Konfiguration vorraussetzt.

Damit ist aber dann eine Lösung geschaffen worden, die Standort unabhängig ist, egal ob in der Firma, oder im Hotel die Clients werden den Weg ins Internet ohne Beutzereingriff finden.
Weiterer Vorteil ist wie gesagt, daß diese Funktion der automatischen Suche von jedem Browser unterstützt wird.

1. Umstellung des Browsers  auf "Automatische Suche der Einstellungen"
Das kann per Internet Explorer Wartung -> Verbindungseinstellungen passieren, oder mit einem eigenen ADM Template, oder oder oder.
Es ist wie immer nur ein Registry Wert der verteilt werden muss.
In der IEWartung kann ebenfalls die Konfigurationsdatei direkt angegeben werden. Die schönere Lösung ist aber die Möglichkeit diesen Pfad per DHCP und DNS bekannt zu geben.
Dem IE alleine würde die DHCP Lösung reichen, andere Browser wie Firefox verwenden aber eine DNS Anfrage. Grundsätzlich ist die Lösung über den DNS zu bevorzugen, da dieser mit jedem Browser funktioniere sollte und nicht jeder DHCP im Einsatz hat.

2. Erweiterung des DNS um einen CNAME Eintrag: wpad
Browser die nicht die Suche per DHCP unterstützen verwenden den DNS. Sie suchen nach einem Ziel mit dem Namen wpad* auf dem die Datei wpad.dat dann auch zu finden ist.
DNS -> ForwardLookup Zone -> Neuer CNAME: wpad dieser verweist auf "euerWebServer"
Wenn man sich mal den Netzwerkverkehr anschaut, dann macht der Browser eine Anfrage (GET /wpad.dat HTTP/1.1) an den Host: wpad, bekommt eine Antwort (HTTP/1.1 200 OK (Content-Type: application/x-ns-proxy-autoconfig) und liest dann den Inhalt der Datei.

3. Man erstellt eine wpad.dat Datei und hinterlegt sie auf einem Webserver, damit sie hinterher über http://wpad/wpad.dat gefunden werden kann. Als Beispiel in die Standardweb Seite eures IIS, dieser ist normalerweise unter C:\inetpub\wwwroot zu finden. Inhalt (minimal):

------- wpad.dat -------
function FindProxyForURL(url, host)
{
    if (isPlainHostName(host) || dnsDomainIs(host, ".eureDOM.dom"))
            return "DIRECT";
        else
            return "PROXY proxyserver.eureDOM.dom:3128; DIRECT
";}
------- wpad.dat -------

Dieses Script macht nichts anderes als: Ist das Ziel ein Rechner (host) aus der eigenen Domäne (.eureDOM.dom), dann wird der Rechner auf dem direkten Weg ohne Proxy angesprochen, bei jedem anderen Ziel wird der Proxy eingetragen.

4. Konfiguration DHCP. WPAD ist eine eigene Option (252) im DHCP Server, die noch nicht vorhanden ist und deswegen erstellt werden muss.
DHCP Server -> "rechte Maustaste" -> Vordefinierte Optionen einstellen -> Hinzufügen
Name: WPAD
Datentyp: Zeichenfolge
Code: 252
Beschreibung: egal
Zeichenfolge:  http://wpad/wpad.dat
Danach in den Bereichsoptionen an die Clients verteilen.

5. entweder für den gesammten IIS: IIS Verwaltung -> Eigenschaften des Servers -> MIME-Typen -> Hinzufügen: 
oder nur für die WebSeite: IIS Verwaltung -> Eigenschaften deder Seite -> HTTP-Header -> MIME-Typen -> Hinzufügen: 
MIME-Typ: application/x-ns-proxy-autoconfig 
Erweiterung: .dat

6. Ab Windows Server 2008 blockiert der DNS Anfragen nach WPAD
Removing WPAD from DNS block list
Deaktivieren der Blocklist:

dnscmd /config /enableglobalqueryblocklist 0

Abgesehen von der noch minimalistischen wpad.dat Datei seit ihr damit fertig.