HTTP-Authentifizierung mit Win7 und IE11

proxyauth4
kalt
proxyauth5
wärmer

In Unternehmensnetzwerken hängen Clientcomputern selten direkt am Internet. Meist leitet der Admin den Traffic vom Browser zentral über einen Proxyserver, der beliebte Webseiten zwischenspeichert, Viren herausfischt oder youtube sperrt. Soweit so gut.
Nun dürfen manche Benutzer weniger als andere und gut getarnte Klick-Mich-Werbung darf noch weniger. Deshalb setzt der Admin nach dem Öffnen des Browsers und vor den ersten Internetzugriff eine Benutzeranmeldung.


Die hier einzugebenden Login-Daten sind solange gültig, bis der Benutzer den Browser wieder schließt („Session“). Aus Sicherheitsgründen sind Login-Daten selten identisch mit der Windows-/Mac-/Linux-Anmeldung am Betriebssystem („Single-Sign-On“).
Somit muss der Proxy die Login-Daten entgegen nehmen, selbst gegen eine User-Datenbank prüfen oder an einen weiteren Mechanismus wie bsp. einen RADIUS-Server weitergeben.
Für die eigentliche Übergabe der Anmeldedaten per Browser an den Proxy braucht es einen (HTTP)-Authentifizierungsmechanismus. Aus historischen/kompatiblen Gründen trifft man oft noch die BASIC/Digest-Authentifizierung an, wobei Benutzername und Passwort in base64-Codierung (und somit relativ unverschlüsselt) übertragen werden. Wobei wir uns immer noch im Intranet, maximal in der DMZ, befinden.

Leider hat es Microsoft mit WinINET seit Windows 7 etwas zu gut gemeint, was das Zwischenspeichern solcher Informationen angeht. (Gemeint sind nicht die Passwörter in Webformularen, deren Speicherung über eine Gruppenrichtlinie verhindert werden kann).

Das führt zu folgendem absurden Verhalten. Nehme wir als Beispiel einen Proxyserver mit einer beliebigen privaten IP-Adresse und einen Benutzer „Meyer“.proxyauth1

  • Benutzer A öffnet den Browser, tippt google.de ein und erhält vom Browser folgenden Login-Dialog. Das „Passwort speichern“-Häkchen knippst er nicht an.
  • Benutzer A schließt den Browser (Session vorbei) und verlässt den Computer.
  • Einige Zeit später setzt sich Benutzer B an Computer, öffnet den Browser und tippt sportschau.de ein. Worauf der IE11 die Webseite ohne Anmeldung am Proxy direkt öffnet.

proxyauth2

Im Windows Credential Manager ist zu sehen, dass das System die generischen (Generisch: Was man woanders nicht so richtig einordnen kann) Anmeldeinformationen trotzdem zwischengespeichert hat. Und zwar nicht in Browsercache oder Cookies. Die Gültigkeit erstreckt sich hier nicht über die Browser, sondern über die gesamte Windows-Session.

proxyauth3
Bug oder Feature?
Mit dem alten Registry-Key kann die Speicherung zwar umgangen werden, aber erst Windows 8 zeigt dem Benutzer das Häckchen dann auch nicht mehr an. Komisch.

P.S.: Erst überlegen, bevor man den Holzhammer (Gruppenrichtlinien–>keine Netzwerkkennwörter speichern) rausholt. Diese GPO unterscheidet nicht nach Art der Anmedleinformation. Kann nach hinten losgehen, wenn bsp. Netzlaufwerke außerhalb ds AD gemappt sind.