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):
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
function 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
.
.
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:
Dafür mit der rechten Maustaste in der Liste "Hinzufügen" wählen
Dateinamenerweiterung ist .dat
MIME-Typ ist application/x-ns-proxy-autoconfig
.
.
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.
Die vorher abgespeicherte Datei sollte jetzt unverändert ausgegeben werden.
.
.
Wenn der DC auch DHCP vergibt, sollte man die Option 252 konfigurieren:
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
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:
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.
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"
Als "Additional Hostname" wird WPAD ohne Domain Angabe angegeben.
.
.
Dazu unter
Webserver Protection -> Web Application Firewall |Real Webservers| "New Real Webserver"
Hier den DC hinterlegen.
.
.
Webserver Protection -> Web Application Firewall |Firewall Profiles| "New Firewall Profil"
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"
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'
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:
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':
Der User wird nicht erkannt (user="") und es wird das 'Default Web Filter Profile' verwendet.
Münster AD 2013