Proxyeinstellungen “Automatische Suche der Einstellungen” – WPAD

ProxyeinstellungenDa wir im täglichen Geschäft häufig bei Kunden arbeiten und dort verschiedenste Proxys im Einsatz sind, ist es mühselig die Einstellungen immer wieder aufs Neue ändern zu müssen. Somit haben wir uns zumindest intern dazu entschieden, die Proxyeinstellungen automatisch zu verteilen.
Standardmäßig ist die automatische Suche der Einstellungen beim Internet Explorer voreingestellt, weshalb ich mich mit dem Thema beschäftigt habe. Was also steckt hinter der automatischen Suche?


SNAGHTML1a2dc71Der Browser sucht im Netzwerk nach einer wpad.dat Datei ( Web Proxy Autodiscovery Protocol ) welche über “http://wpad/wpad.dat” bzw. “http://wpad.domänenname/wpad.dat” erreichbar sein sollte. Dies kann unter anderem über DHCP und/oder DNS erreicht werden. An erster Stelle sollte die Datei aber auf einem Webserver verfügbar gemacht werden. Ich habe das mit dem Internet Information Server, kurz IIS, von Microsoft realisiert.

Direkt im Hauptverzeichnis muss die wpad.dat Datei liegen. Standardmäßig lautet der Pfad: “C:\inetpub\wwwroot

Hier eine Beispieldatei:
Beim Aufrufen von www.wieistmeineip.de wird kein Proxy verwendet. Ebenso bei localhost und Computern, welche im 192.168.1.* und 192.168.2.* Bereich liegen. Bei allen anderen Anfragen wird auf den Proxyserver verwiesen. Falls der Proxy über eine andere Internetleitung geht als der direkte Weg, kann man so z.B. testen, ob die SNAGHTML1e36e75Einstellungen greifen.

function FindProxyForURL(url, host)
{
if (isPlainHostName(host) ||
dnsDomainIs(host, „.wieistmeineip.de“) ||
dnsDomainIs(host, „localhost“) ||
shExpMatch(host, „192.168.1.*“) ||
shExpMatch(host, „192.168.2.*“))
return „DIRECT“;
else
return „PROXY proxyservername.domäne.suffix:port“;
}

Als nächstes muss im IIS der default-Webseite ein neuer MIME-Typ zugewiesen werden. Dazu klickt man zuerst auf die Webseite und dann im rechten Bereich doppelt auf MIME-Typ (IIS 7). Nun fügt man einen neuen Eintrag, mit Klick auf Hinzufügen, wie folgt hinzu:
Als Dateinamenerweiterung schreibt man “.dat”, als MIME-Typ “application/x-ns-proxy-autoconfig” und bestätigt mit OK.

Wie bekommen die Clients jetzt diese Einstellungen? Es gibt drei Möglichkeiten:

1. Verteilung über DNS:
In meinem Fall habe ich dem Server den Namen “wpad” gegeben, wodurch im DNS auch direkt ein A-Record mit dem Namen wpad.domäne.suffix angelegt worden ist. Sollte der Webserver einen anderen Namen tragen (was bei den Meisten wohl der Fall sein sollte), muss manuell ein A-Record mit dem Namen WPAD angelegt werden, welcher auf die IP des Webservers zeigt.
Der Windows-DNS-Server blockt standardmäßig die Namensauflösung von WPAD aus sicherheitstechnischen Gründen. Ein DNS-Eintrag wird zwar akzeptiert, aufgelöst wird er jedoch nicht, bevor man nicht die Blockier Liste angepasst hat. In der Registry aller DNS-Server muss also folgender Registry Eintrag bearbeitet werden:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DNS\Parameters
\GlobalQueryBlocklist

In der REG-SZ Auflistung muss die Zeile “WPAD” entfernt werden.

imageJetzt sollte der DNS-Server Dienst neu gestartet werden, sodass die Änderung auch greift (siehe Screenshot).

Danach müsste auch von einem Client der Befehl
“ping wpad” funktionieren, es wird die IP des Webservers aufgelöst. Ist dies der Fall, sollte die automatische Suche der Proxyeinstellung schon funktionieren. Ist dies nicht der Fall, versuchen Sie beim Client den DNS-Auflösungscache zu leeren mit “ipconfig /flushdns”

2. Verteilen über DHCP Option 252:
imageVorweg sei gesagt, dass nicht jeder Browser diese Variante unterstützt sowie der Firefox oder Chrome.
Der Internet Explorer aber bevorzugt diese Variante. Bekommt er also den Pfad der wpad.dat Datei per DHCP, fragt er nicht weiter die DNS Server an.

Per DHCP kann die “Option 252” an die Clients verteilt werden, in welcher festgelegt wird, wo die wpad.dat Datei liegt. Dazu klickt man auf dem DHCP Server mit rechts auf IPv4 und wählt Vordefiniert Optionen einstellen. Ein neuer Eintrag mit dem Namen “WPAD”, dem Datentyp “Zeichenfolge” und dem Code “252” muss angelegt werden. Weiterhin gibt man, nach dem Klicken auf OK, den Pfad zur wpad.dat Datei ( in meinem Fall http://wpad/wpad.dat) im Feld Zeichenfolgenwert an.

Als letztes wird noch in den Bereichsoptionen des DHCP Bereiches die neue Option angehakt und mit OK bestätigt.

image

Zur Sicherheit habe ich auch hier den DHCP-Server Dienst neu gestartet.

Automatische Einstellung greift nicht beim Internet Explorer:

Ich hatte bei schon vorhandenen Rechnern das Problem, dass beim Internet Explorer die automatische Suche nicht greifen wollte (im Gegensatz zum Firefox), wohingegen bei frisch installierten Systemen auch beim Internet Explorer alles funktionierte. Aus diesem Grund mussten meiner Meinung nach diverse Einstellungen gecached sein, aber der Befehl “ipconfig /flushdns”, welcher den Auflösungscache von Windows leert, sowie mehrmaliges Neustarten brachte keinen Erfolg.

imageAls ich dann testweise die Einstellungen des Internet Explorers auf Standard zurücksetzte, funktionierte es prompt, zu finden unter Einstellungen – Extras – Erweitert.

Zwischenspeichern der Autokonfiguration verhindern:
Weiterhin kann man die Gruppenrichtlinie “Zwischenspeichern von Autoproxy-Scripts deaktivieren” aktivieren, sodass Änderungen der wpad.dat nicht untergehen. Diesen Punkt findet man im Verwaltungseditor unter:

Benutzerkonfiguration – administrative Vorlagen – Windows-Komponenten – Internet Explorer – Zwischenspeichern von Autoproxy-Skripts deaktivieren

Fazit:
Durch das Einrichten dieses Scenarios, erreicht man Zeiteinsparungen und spart zugleich Nerven, da man manuell nichts mehr ändern muss.

Auch bei Computern von Kunden zum Beispiel, muss nun nicht immer wieder ein Proxy eingestellt werden, um beispielsweise Updates herunterzuladen. Das hat zugleich den Vorteil, dass man auch nicht vergisst diesen wieder herauszunehmen :-)

Eventuell ja auch bei Ihnen, viel Spaß beim Einrichten.

Teilen:

3 Kommentare:

  1. der Tipp mit internet explorer settings zurückzusetzen ist genial…
    endlich hat das suchen ein ende!! danke

  2. Hallo,

    Config: Sopohs UTM 9 mit Web Filtering, IIS mit wpad.dat; DHCP und DNS konfiguriert.
    IE auf Automat. Suche eingestellt.

    function FindProxyForURL(url, host)
    {
    //The following URLs will not be proxied
    if (shExpMatch(url, „*xyz.local“))
    {return „DIRECT“;}
    if (shExpMatch(url, „test-*“))
    {return „DIRECT“;}
    if (shExpMatch(url, „192.168.xyz.*“))
    {return „DIRECT“;}
    if (shExpMatch(url, „*192.168.xyz.1*“))
    {return „DIRECT“;}

    // Set the desired proxy server for local addresses
    if (isInNet(myIpAddress(), „192.168.xyz.0“, „255.255.252.0“))
    {return „PROXY 192.168.xyz.1:8080“ ;}

    // For all other networks, do not proxy
    return „DIRECT“ ;
    }

    IE kommt auf Port 80 rein und wird geblockt.
    Dann habe ich in der UTM Proxy Auto Configuration aktiviert. (dto. Scirpt wie wpda)dann läuft es zwar, einige Seiten werden dennoch geblockt.
    Chrome kommt auf Port 8080 läuft sauber.

    Wo kann ich suchen?

  3. Besten Dank für diese Anleitung. Funktioniert perfekt!
    @og: Hat sich zwar wahrscheinlich erledigt, aber vllt kommt ja nochmal jemand mit einer Sophos UTM hier vorbei: Du musst ein DNAT anlegen: intern:80 -> intern:8080 // IEE fragt auf Port 80 an, aber da wohnt auf der UTM keiner… ;)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert