Internet Explorer Site Assignments
Ein Standard-Thema in Active Directory Projekten ist die Sicherheitswarnung, die angezeigt wird, wenn Programme vom Netzwerkordnern gestartet werden.
Datei öffnen – Sicherheitswarnung / Es kann nicht überprüft werden, von wem diese Datei erstellt wurde. Möchten Sie die Datei wirklich ausführen?
Das Ganze ist eigentlich relativ einfach, nur gibt es ein paar Stolperfallen, die es einem nicht gerade einfach machen, es richtig zu konfigurieren. Da ich auch immer wieder die richtigen Stellen in der Registry suche und mich wundere, warum es jetzt schon wieder nicht funktioniert, obwohl ich alles wie immer gemacht habe, hier nochmal das volle Programm 😉 .
Der Hintergurnd
Grundsätzlich ist die Meldung eine Folge der Sicherheitskonfiguration im Internet Explorer. Dort muss die interne Domäne, bzw. die Pfade der Fileserver der Zone “Intranet” zugeordnet werden. Dazu gibt es zwei Herangehensweisen:
1. Gruppenrichtlinie
Über die folgenden Gruppenrichtlinien kann die Zuordnung der Ressourcen zur Intranetzone erfolgen:
Computer Configuration\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Security Page\Site to Zone Assignment List User Configuration\Administrative Templates\Windows Components\Internet Explorer\Internet Control Panel\Security Page\Site to Zone Assignment List
Anhand dieser Einstellungen kann man die Zonenzuordnung pro Computer oder pro User festlegen. Dabei trägt man je in das linke Feld der Eingabe den einzugebenden Pfad inklusive Protokoll ein, in der rechten Spalte muss dann die Zonenkennzahl stehen (diese findet man auch einfach in der Hilfe der GPO). Dabei steht
- 1 für Lokales Intranet
- 2 für Vertrauenswürdige Sites
- 3 für Internet
- 4 für Eingeschränkte Sites
Zum Beispiel:
Im Hintergrund setzt Windows dadurch Registry Keys ähnlich derer, die ich gleich noch beschreibe, nur in einem anderen Teil der Registry.
HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains HKCU\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains
Ein gravierender Nachteil dieser Methode besteht darin, dass die Anwender die Pflege der so befüllten Zonen nicht mehr selbst ändern kann. Das ist zum einen ein Sicherheitsfeature, das in größeren Umgebungen die gewünschten Einschränkungen der User umsetzt, in kleineren Firmen allerdings führt das zu erhöhtem Supportaufkommen. Dementsprechend muss hier die passende Strategie anhand der Firmenvorgaben gemacht werden. Sollen die Benutzer selbst auch noch Einfluss auf die Einstellungen haben, gibt es noch die folgende Methode.
2. Registry
Die Zonenzuordnungen des Internet Explorers, die das Verhalten des ganzen Windows beeinflussen, werden in der Registry gespeichert. Und zwar unter folgenden Schlüsseln:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains
Bei Servern gibt es auch noch den Schlüssel “ESCDomains”, darauf komme ich aber gleich noch einmal zurück.
Unter Domains werden Schmüssel mit den Domain- und/oder Servernamen erstellt, deren Zoneneintrag vorgenommen werden soll. Darunter wird dann ein entsprechendes REG_DWORD erstellt, wobei der Name das Protokoll bezeichnet (http, https, file, …) und in den Daten die Zonenkennzahl (siehe oben) steht. Hier ein Beispiel:
So könnte dann zum Beispiel eine .reg Datei aussehen (nur Beispieldaten!), die ihr auch hier herunterladen könnt:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains] @="" [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\bad.domain] "*"=dword:00000004 "ftp"=dword:00000004 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\demo.local] "file"=dword:00000001 "http"=dword:00000001 "https"=dword:00000001
Das kann man dann natürlich auch wunderbar als GPP (Group Policy Preference) im Netzwerk verteilen. Ein kleiner Tipp: Als Aktion sollte man dort “Create” wählen, denn der User kann den Eintrag nicht bearbeiten, sondern “nur” löschen. Damit machen “Update” und “Replace” wenig Sinn.
So weit, so gut. Aber auf meinen Servern funktioniert das nicht …
Die Ausnahme: Server
Das wäre alles so schön einfach gewesen, wenn es auf Servern nicht anders funktionieren würde. Schon seit Server 2003 gibt es eine erweiterte Sicherheitseinstellung im Internet Explorer (und zwar nur auf den Server Editionen), die uns das Leben etwas schwerer macht: IE-ESC, oder Internet Explorer Enhanced Security Configuration.
Die ESC ist auf Serverbetriebssystemen im Standard aktiviert und sorgt dafür, dass durch unvorsichtiges “fummeln” auf den Servern nicht direkt durch bösartige Skripts bestraft wird. Und das ist erst mal gut so. Wenden wir nun die von den Client Betriebssystemen bekannten (und oben genannten) Gegenmaßnahmen an, lässt das unsere Server mal so eben kalt. Grund dafür ist, dass bei Aktivierung der ESC die Ausnahmen in einem anderen Registry Schlüssel gespeichert werden:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ESCDomains HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ESCDomains
Damit greift weder die Gruppenrichtlinie, noch unsere Registry Modifikation. Damit ergeben sich auch hier wieder zwei Möglichkeiten:
1. Den ESCDomains Schlüssel pflegen
Da wir sowieso in unseren Gruppenrichtlinien strikt zwischen Servern und Clients unterscheiden sollten, ist der sinnvollste Weg, für Server einfach den ESCDomains Schlüssel separat zu pflegen.
2. Die ESC deaktivieren
Und wenn die erste Variante nicht möglich ist, dann kann man noch die ESC deaktivieren. Das kann man entweder über den Servermanager machen (wenn ihr euch für diese Variante entscheidet, unbedingt weiter lesen!) …
[callout title=”Achtung!”]Leider “vergisst” Windows des öfteren einmal, den Registry Eintrag IEHarden (siehe unten) zu entfernen. Dadurch zeigen zwar die Schaltflächen an, dass die ESC deaktiviert sei, der Internet Explorer nutzt trotzdem weiter die ESCDomains Registry Keys.
Hier auf jeden Fall kontrollieren und ggf. den Schlüssel manuell nachkonfigurieren![/callout]
… oder aber über die Registry (Download hier):
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}] "IsInstalled"=dword:00000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}] "IsInstalled"=dword:00000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap] "IEHarden"=dword:00000000 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap] "IEHarden"=dword:00000000
Mit diesen Infos solltet ihr für (fast) alle Eventualitäten gewappnet sein. Wenn euch etwas fehlt, schreibt mir einfach einen Kommentar 🙂 .