WPAD - Angabe des Webproxy für Browser und andere Clienten

Share

Angabe des Web-Proxy über WPAD für Browser und andere Clienten

Das Web Proxy Autodiscovery Protocol (WPAD) gibt Clienten in einem
Netzwerk den Web-Proxy und den Port des Web-Proxys an. Jeder 


moderne Browser findet den WPAD über einen DNS-Eintrag, immer mit

http://wpad.meineDomaine.local oder nur  http://wpad

.
.
Es wird erst der Host WPAD im DNS abgefragt und von diesem die Datei wpad.dat per HTTP abgerufen, als Beispiel:

http://wpad.meineDomaine.local/wpad.dat

Per DHCP kann zusätzlich über die Option 252 (auto-proxy-config) der WPAD Host angegeben werden.
.
Man braucht also einen Webserver, der die HTTP Anfrage annimmt und dann die wpad.dat ausgibt. Das ist sehr einfach mit einem IIS/Windows Server umzusetzen, die IIS Installation ist in 5 Minuten abgeschlossen.

.
.
Dazu legt man zuerst im DNS - wpad.meineDomain.local - und gibt diesem die IP des DC :

Im DC/DNS Server wird dieser Eintrag auch angelegt (alternativ CNAME):

WPAD DNS DC

IPv6 wird von Microsoft/IE bis Version 10 offiziell nicht bei WPAD unterstützt.

.
.
Dieser DNS Eintrag erscheint erst mal gültig, wird aber von Microsoft gesperrt:

"Mit der DNS-Serverrolle in Windows Server 2008 wird eine globale Abfragensperrliste eingeführt, um das mit dem dynamischen DNS-Aktualisierungsprotokoll einhergehende Sicherheitsrisiko zu verringern."

" ..you must update the block list on all DNS servers that host the zones affected by the change.."

 

 

Um den WPAD Eintrag aus der DNS-Sperrliste zu entfernen sind folgende Schritte notwendig:

Melden Sie sich als Administrator auf jedem DC/Windows DNS Server an und öffnen Sie CMD (Eingabeaufforderung)

Entfernen Sie alle Einträge aus der Sperrliste:
dnscmd /config /globalqueryblocklist

Anzeigen aller Hostnamen der Sperrliste:
dnscmd /info /globalqueryblocklist

Die Sperrliste sollte jetzt leer sein, der Eintrag WPAD somit entfernt.

Jetzt kann der WPAD DNS Eintrag abgefragt werden und der Hosts wpad und wpad.meineDomaine.local können zum Test angepingt werden.

.
.

Die wpad.dat ist ein Javascript und gibt dem Browser an für welche Hosts er den Web Proxy nehmen soll und welche nicht.

.
.

Hier ein Beispiel-Script

balken-obenfunction FindProxyForURL(url, host) {

if (shExpMatch(host,"*.MeineDomain.local")) {   // interne Serverbrauchen keinen Proxy
return "DIRECT";    }

if (isPlainHostName(host)) return "DIRECT";      // URLs ohne Domainsuffix, also auch Interne
if (isPlainHostName(host) || shExpMatch(host, "*.local") || //jedes . local Netz

// ab hier Angabe von internen IP Kreisen, also auch interne Webserver 
isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
isInNet(dnsResolve(host), "172.16.0.0",  "255.240.0.0") ||
isInNet(dnsResolve(host), "192.168.0.0",  "255.255.0.0") ||
isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
return "DIRECT";

return "PROXY utm.meineDomain.local:8080"; }  //Wenn keine Ausnahme zieht, den Web Proxy benutzten
balken-unten

.
.

Jetzt am DC einen Editor öffnen (Notepad.exe), das Beispielscript kopieren und die Domainnahmen und IP-Kreise ändern.

Dann das Script unter dem Namen wpad.dat im Verzeichnis  C:\inetpub\wwwroot\ auf dem DC ablegen.

Da der IIS diese Datei im Standard nicht wiedergibt, muss man in der IIS-Verwaltung (Internetinformationsdienste (IIS)-Manager) die Endung .dat unter MIME-Typ angeben:

WPAD MIME Typ IIS Sophos UTM

 

Dafür mit der rechten Maustaste in der Liste "Hinzufügen" wählen

Dateinamenerweiterung ist .dat
MIME-Typ ist application/x-ns-proxy-autoconfig

WPAD MIME Typ DAT Sophos UTM

 

 

.
.
Danach sollte der IIS die Datei wpad.dat ausgeben. Im Editor (Notepad) Datei öffnen und die URL eingeben:

http://wpad.meineDomain.local/wpad.dat  // als Dateitype "Alle Dateien (*.*)" wählen.

WPAD Notepad

Die vorher abgespeicherte Datei sollte jetzt unverändert ausgegeben werden.

 

.
.
Wenn der DC auch DHCP vergibt, sollte man die Option 252 konfigurieren:
WPAD DHCP Server Option einstellen
Dazu unter "Vordefinierte Optionen einstellen..." "Hinzufügen"

Name: WPAD
Datentype: 'Zeichenfolge'
Code: 252
Beschreibung: Web Proxy Autodiscovery Protocol

Dann mit 'OK' bestätigen und danach unter

Wert
Zeichenfolge den WPAD Host angeben mit dieser Syntax
http://wpad.meineDomain.local/wpad.dat

WPAD-DHCP-252-Zeichenfolge

 

Danach bekommen alle Clienten im Netzwerk per DHCP die Angabe des WPAD Hostes mitgeteilt.

.
.
Damit der IE das WPAD Script auch ausführt, muss im IE unter
Extras |Verbindungen| "Lan-Einstellungen" der Haken bei'Einstellungen automatisch erkennen' gesetzt sein:

Automatische Proxy Konfiguration IE

Der Dienst "WinHTTP-Web Proxy Auto-Discovery-Dienst" muss am Clienten laufen und auf manuell stehen.

.
.

Zusätzlich gibt es noch per GPO die Möglichkeit, sich Fehler in der Interpretation der WPAD.dat im IE anzeigen zu lassen:
Benutzerkonfiguration ->Administrative Vorlagen -> Windowskomponenten -> Internet Explorer "Fehlermeldungen einer Proxyskript-Download-Fehlfunktion anzeigen" aktivieren.

 

IE GPO WPAD

 

Damit wäre die WPAD Konfiguration abgeschlossen.

 

-
Sophos UTM:
Wenn
der DC in einem anderem Netzwerk steht (z.B. DMZ) oder ein WLAN mit einen eigenen Interface/IP-Kreis eingerichtet ist, kann man den Webserver mit dem WPAD Eintrag über die Webserver Protection WAF  für jedes Netz erreichbar machen. Diese Lösung gewährleistet optimale Sicherheit. Alternativ kann man auch eine Firewallrule und eine Webproxy Ausnahme für den WPAD Server erstellen.

Damit der Web Traffic vom dem WPAD-Server nicht über den  Web Proxy gefiltert wird,  unter Web Protection -> Web Filtering  |Advanced| "Transparent mode skiplist" 'Skip transparent mode destination hosts/nets' den WPAD-Server (hier also den DC) als Host einfügen.

Falls der WPAD HTTP Server schon angelegt ist (in diesem Fall der DC), dann können Sie auch nur unter "Additional Hostnames:" die WPAD Einträge machen, ansonsten unter:
Definitionen & Users -> Network Definitions |Network Definitions| "New network Definition"

WPAD Host Sophos UTM

Als "Additional Hostname" wird WPAD ohne Domain Angabe angegeben.
.
.

Dazu unter
Webserver Protection -> Web Application Firewall |Real Webservers| "New Real Webserver"
WPAD-virtual-Webserver-Sophos-UTM

Hier den DC hinterlegen.

.
.
Webserver Protection -> Web Application Firewall |Firewall Profiles| "New Firewall Profil"

WPAD Firewall Profiles Web Application Firewall Sophos UTM

Als Entry URLs tragen wir alle möglichen WPAD Anfragen ein:

http://wpad/wpad.dat
http://wpad.meineDomain.local/wpad.dat

Danach unter
Webserver Protection -> Web Application Firewall |Virtual Webservers| "New virtual Webserver"

WPAD New virtual Webserver Sophos UTM 9

den Webserver auf dem gewünschten Interface (in diesem Fall Internal) aktivieren.

 

Jetzt den Test mit dem Notepad und öffnen der URL http://wpad.meineDomaine.local/wpad.dat  und http://wpad/wpad.dat wiederholen.

 

Test des WPAD-Eintrages mit dem Firefox Browser

Wenn der WPAD einwandfrei arbeitet und der Firefox diesen benutzt, also über die UTM und Port 8080 surft, wird auch der AD-User (Wenn der Client ein Windows PC mit angemeldeten AD User ist) erkannt und es können Web Filter Profile genutzt werden. SSO an der UTM funktioniert dann auch mit anderen Applikationen/Browsern als dem Microsoft IE. Zusätzlich empfehle ich immer noch die Installation des SAA.

.
.

Im Firefox kann man die Art des Internetzugriffes angeben und zwar unter
Extras -> Einstellungen "Erweitert" |Netzwerk| "Einstellungen" 'Die Proxy-Einstellungen für dieses Netzwerk automatisch erkennen'
Sophos UTM WPAD Proxy FireFox
Mit dieser Einstellung fragt der Firefox den WPAD Eintrag ab und übernimmt den Proxy Server und den Port.

.
.
Unter
Web Protection -> Web Filtering "Open live log" kann die Art des Zugriffes erkennen:

Mit WPAD:
Sophos UTM WebProxy WPAD Livelog SSO
Der User wird erkannt und das entsprechende Profil (AD-Gruppen angebunden (SSO), in diesem Fall 'Surfen-Voll') des WebProxy des UTM wird verwendet.

 

Ohne WPAD (Proxy Einstellung Firefox 'Kein Proxy':
Sophos UTM WebProxy WPAD Livelog no sso
Der User wird nicht erkannt (user="") und es wird das 'Default Web Filter Profile' verwendet.

 

Münster AD 2013

Share