IE, Internetzonen und Outlook

Sicher kennen Sie die verschiedenen Einstellungen im Internet Explorer bezüglich der Zonen und Sicherheit. Aber wer denkt schon daran, dass diese Einstellungen auch für Outlook zutreffen und durch den Einsatz von Autodiscover, RPC/HTTP und erst recht mit EWS und MAPI/HTTP durchaus relevant sind. Diese Seite beschreibt die Zusammenhänge und deren "richtige" Einrichtung. Dies ist immer dann wichtig, wenn Sie Proxy-Server einsetzen oder der DNS-Name des Active Directory sich von den URL für die verschiedenen Exchange Dienste unterscheiden. Wer z.B. eine "firma.intern" oder "firma.local" nutzt, wird für Computernamen in diesem Namensraum nie ein öffentliches Zertifikat nutzen. Hier ist es dann meist erforderlich einen "richtigen Namen" zu wählen, der natürlich eine andere Domäne ist und damit vom Client erst mal als "Internet" angesehen wird.

So eine Konfiguration kann natürlich eine Exchange-Installation behindern, wenn Clients zwar dem Zertifikat vertrauen aber der Hostname von Outlook AnyWhere, AutoDiscover, EWS oder MAPI/HTTP so gewählt ist, dass der Client diese Site als "Internet" ansieht und damit keine automatische Anmeldung vornimmt.

Automatische Anmeldungen in Windows und Internet Explorer

Auch wenn die Einstellungen alle unter dem Thema "Internet Explorer" sind, so werden diese Einstellungen durchaus auch von Outlook und anderen Programmen genutzt. Schuld, wenn man davon reden kann, ist die WinHTTP-Komponente, die viele Programme nutzen. Wenn das Betriebssystem fertige Funktionen für die Kommunikation per HTTP bereit stellt, dann spart man sich als Entwickler den Aufwand so etwas von Grund auf neu zu entwickeln.

Die zwei interessanten Einstellungen sind:

  • Erweitert - Sicherheit - Integrierte Anmeldung aktivieren
    Wenn diese Option nicht aktiv ist, dann wird sich der Browser am Server nicht per NTLM oder Kerberos anmelden und immer die Anmeldedaten nachfragen.

    Stellen Sie also sicher, dass diese Option aktiv ist, wenn Sie eine integrierte Anmeldung im Browser aber auch anderen Programmen nutzen wollen
  • Automatische Anmeldung pro Zone
    Weiterhin gibt es in den Einstellungen der Zonen die Steuerung, ob für die jeweilige Zone die automatische Anmeldung erlaubt ist.

Internet Explorer und Zoneneinstellungen

Wenn Sie global die Einstellungen richtig gestellt habe, dann fehlt nun noch die Zuordnung der Zieladresse zur entsprechenden Zone. Im Internet Explorer gibt es vier sichtbare Zonen

  • Internet Zone
    Hier landen eigentlich alle URL, wenn sie einen "Punkt" im Namen haben oder über einen Proxy gehen. An diese Hosts sendet der IE per Default nie ein Ticket oder Kennwort. Das macht so auch absolut Sinn.
  • Intranet Zone
    Hier landen alle URLs, die als "intern" gelten, d.h. kurze Hostnamen ohne Punkt oder Systeme, die nicht über den Proxy erreicht werden.

    Allerdings muss natürlich die Proxy-Konfiguration entsprechend eingestellt sein, z.B. dass "*.internedomain.tld" eben nicht über den Proxy geht. Ansonsten landen auch interne voll qualifizierte Namen auf der Internet Liste. Die Pflege von manuellen Listen ist möglich, aber kann letztlich dazu führen, dass ein Anwender auch von zu Hause dann die Firmen-URLs als "trusted" ansieht, obwohl er gar nicht auf dem Server landet. Insofern ist der SSL-Zwang hier eigentlich ratsam.
    An Hosts dieser Zone sendet der IE per Default auch ein Kerberos Ticket
  • "Vertrauenswürdige Hosts"
    Für diese Zone erlaubt der Browser eine niedrigere Sicherheit aber per Default keine automatische Anmeldung. Dies kann aber in den Zoneneinstellungen angepasst werden.
  • Eingeschränkte Sites
    Eigentlich klar, dass hier keine automatische Anmeldung unterstützt wird.

Früher hat der Browser in der Fußleiste die aktuell angewendete Zone angezeigt. Unangenehm war teilweise, dass die Einstufung in die Zone in der Fußleister erst aktualisiert wird, wenn Sie die Anfrage (auch fehlerhaft) abgeschlossen haben. Wenn ihr Browser also ein Fallback auf NTLM/Basic macht und einen Kennwortdialog anzeigt, dann ist die Anzeige der Fußzeile meist noch falsch.

Beim IE11 habe ich keine direkte Anzeige der Zone mehr gesehen. Erst wenn die Seite geladen ist, kann ich über die Eigenschaften die angewendete Zone anzeigen lassen. Hier an zwei Beispielen:

Die Domäne "netatwork.de" ist auf diesem Computer vertrauenswürdig, da er auch Mitglied in einem gleichnamigen Active Directory ist. Dabei ist es nicht relevant, ob der PC wirklich "intern" im LAN hängt. Auch ein Benutzer im Internet hat die gleiche Einstellung.

Ich habe aber schon geschrieben dass es noch eine fünfte Zone gibt, die aber im Internet Explorer nicht sichtbar ist. Sie kann aber später bei der Konfiguration per Richtlinien angewendet werden

Value    Setting
   ------------------------------
   0        My Computer
   1        Local Intranet Zone
   2        Trusted sites Zone
   3        Internet Zone
   4        Restricted Sites Zone

Diese Zonen kommen übrigens auch im Dateisystem vor, wenn Sie eine Datei aus dem Internet herunter laden. Dann wird die Information über die Zone der Quelle mit der Datei (Alternate DataStream) abgespeichert. Dies können Sie auch einfach per PowerShell setzen:

Set-Content `
   -Path .\file.exe `
   -Stream Zone.Identifier `
   -Value '[ZoneTransfer]','ZoneId=3'

Und auch wieder entfernen:

# mit passendem Commandlet
Unblock-File -path .\file.exe

# Entfernen des Streams
Remove-Item `
   -Path .\file.exe `
   -Stream Zone.Identifier

Zonen in der Registrierung

Die Zuordnung, welche Domäne in welche Zone fällt, wird von Windows ein Stück weit "automatisch" gemacht. So ist per Default der Domänenstamm des Active Directory im "Intranet". Zudem ist die Konfiguration meist so, dass auch Systeme, die den Proxy umgehen als "Intranet" zählen, wenn ein Proxy konfiguriert ist. Das kann natürlich schon eine Lücke darstellen, wenn eine Firma zwar einen Proxy einsetzt aber es auch ohne Proxy möglich ist, fremde Webserver zu erreichen.

Windows Server 2003 includes a new, optional component named Internet Explorer Enhanced Security Configuration. This component assigns all intranet Web sites and all UNC paths that are not explicitly listed in the Local intranet zone to the Internet zone …If an FQDN or IP address contains a period, Internet Explorer identifies the Web site or share as in the Internet zone.
Quelle: 303650 Intranet site is identified as an Internet site when you use an FQDN or an IP address

Ebenso zählen "kurze Hostnamen" als auch UNC-Pfade schon mal zu "Intranet".

Hier kann ich als Exchange Consultant nur sagen: Geben Sie die Zonen vor und lassen sie sich nicht auf einen Automatismus ein.

Wenn Sie dann in den Gruppenrichtlinien und Registrierungszweigen nach dem Speicherplatz suchen, wird sich der ein oder andere Administrator schon mal die Haare raufen. Es gibt nicht nur die Einstellungen und HKEY_LOCAL_MACHINE und HKEY_CURRENT_User, sondern dort gibt es insgesamt vier Bereiche:

Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains
Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains
Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ESCDomains
Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ESCDomains

Windows unterscheidet nach 32bit und 64bit Applikationen und zudem noch mit und ohne "Erweiterter Sicherheit". Letztlich werden Sie die gleichen Einträge an allen vier Stellen vornehmen wollen.

Die Einträge selbst sind auch nicht selbsterklärend und es gibt einige Irreführende Anleitungen im Internet. Ich habe schon Schlüssel gesehen, die einfach eine Domäne samt "HTTPS"-Präfix addieren. Das funktioniert allerdings bei neueren Betriebssystemen nicht mehr. Folgende Schreibweise ist heute (Anfang 2017) gültig:

Sie legen für die Domäne einen Zweig an und den Host oder mehrere Hosts darunter einen weiteren Zweig. In diesem Bereich können Sie dann die verwendeten Protokolle eintragen. Es reicht, wenn Sie "http" mit der numerischen Angabe der Zone hinterlegen. Der Eintrag gilt auch für HTTPS. Sie können aber für HTTPS auch die gleiche oder andere Zone explizit mit angeben.

Zonen per Gruppenrichtlinien

Am einfachsten und sichersten ist die Vorgabe der Intranet-Zonen für alle Clients über Gruppenrichtlinien. Ich lege dazu in der Regel extra eine eigene GPO an, die nur die Internet-Explorer Zoneneinstellungen definiert. Damit es für alle Benutzer auf den Clients und Servern, also auch meinen PowerShell-Skripten als LocalSystem, gilt, lege ich diese für "Computer" an.

Hier gibt es den Eintrag "Site to Zone Assignment List", der neben der umfangreichen Beschreibung mit den Werten der Zonen (1-4) auch den Link auf die zu pflegende Liste enthält:

Die Liste selbst ist dann natürlich wieder unspektakulär:

Damit sollten Sie nun das Handwerkszeug haben, um z.B. den Exchange Zugangspunkt mit einem "öffentlichen Namen" zu versehen, der auch von intern mit dem Namen erreichbar ist und die Clients melden sich automatisch an, obwohl ihr Active Directory komplett anders heißt.

IE Zonen und PowerShell

Bislang habe ich die Zonen-Einstellungen immer nur per Gruppenrichtlinien oder zu Testzwecken auch manuell gesetzt. Daher hier nur zwei interessante Links, wenn Sie doch einmal mit PowerShell etwas setzen oder prüfen wollen

Office und Outlook

Anlagen kommen ja nicht nur als Download per Browser sondern können auch als Mail in Outlook landen. Diese Dateien sollten auch keinen Vorteil gegenüber einem Download haben. Daher hat Outlook einen "Protected View"

Auch in Word und Excel kann ich steuern, ob die Zoneneinstellungen beachtet werden


Einstellungen im Word Trustcenter


Einstellungen im Excel Trustcenter

Diese Einstellungen können ebenfalls per Gruppenrichtlinie "Do not preserve zone information in file attachments" angepasst werden:

Ähnliche Einstellungen gibt es auch für Intune Policies.

PowerShell Unblock-File

Sie können die Dateien nicht nur per Windows Explorer sondern auch einfach per Powershell von den Zoneneinstellungen befreien. Dazu dient das Commandlet "Unblock-File". Folgender Einzeiler entfernt dies für alle Dateien im Download-Ordner.

Get-Childitem "$($env:HOMEPATH)\downloads" `
   -Recurse `
| Unblock-File

Weitere Links