Wednesday, January 29, 2014

Loopback - was ist das und warum ist es in einem AD-Umfeld wichtig?

Anmerkungen

  • Die Screenshots entstanden der Einfachheit halber im Editor für lokale Gruppenrichtlinien, sie gelten aber ebenso für Domänen-GPOs
  • Die Sicherheitsfilterung von GPOs, die wir in der Praxis häufig verwenden, spielt in diesem Artikel keine Rolle - Ihr könnt einfach annehmen, dass hier "Authentifizierte Benutzer" eingetragen ist, damit hat jeder Benutzer und Computer das Recht, eine GPO anzuwenden

 

Intro

Warum ist die Frage nach Loopback überhaupt wichtig für uns?

  • Auf Terminalservern ist häufig "Loopback Merge" aktiviert
    (siehe Szenario 2)
  • Auf anderen Servern und Kiosk-Computern ist "Loopback Replace" aktiviert (siehe Szenario 1)
Also weiterlesen, dann wißt Ihr genau, was es damit auf sich hat und welche Änderungen in der Verarbeitung sich damit ergeben!

Wir wissen, dass es Computer- und Benutzer-GPOs gibt. Die komplette GPO-Administration ist in diese beiden Hauptzweige unterteilt.
 
Viele Einstellungen finden wir in beiden Bereichen, manche aber auch nur in einem. So können Firewall-Einstellungen nur im Computerteil vorgenommen werden, Ordnerumleitung nur im Benutzerteil. So weit, so gut.

Szenario 1

Wir möchten einen Kiosk-Rechner bereitstellen. Auf diesem soll jeder Benutzer, der sich anmeldet, immer die gleichen hochsicheren und sehr restriktiven Benutzereinstellungen bekommen (z.B. IE-Cache beim Beenden leeren, keine Kennwörter speichern). Seine übrigen "normalen" Einstellungen sollen explizit nicht gelten, damit nicht versehentlich Sicherheitsrisiken entstehen.

Szenario 2

Wir möchten einen Terminalserver betreiben. Auf diesem soll der Benutzer einige wenige zusätzliche Einstellungen bekommen (z.B. keinen Task-Manager oder kein "Herunterfahren" im Startmenü), seine übrigen "normalen" Einstellungen sollen aber erhalten bleiben.

Wir haben also die Anforderung, dass bei der Anmeldung an einem bestimmten Computer andere bzw. zusätzliche GPOs verarbeitet werden sollen - und zwar für den Benutzer.

 

Verwaltungsbereich

Welche GPOs wenden Computer und Benutzer eigentlich an? Wir wissen, dass wir in Active Directory sogenannte Organisationseinheiten erstellen können. In diesen OUs befinden sich Benutzer und Computer, und mit diesen OUs werden GPOs verknüpft.
  • Beispiel für einen Benutzer: "CN=admin,OU=Martin,OU=BackOffice,OU=Users,OU=Corp Root,DC=CORP,DC=CONTOSO,DC=COM"
  • Beispiel für einen Computer: "CN=WS01,OU=Desktops,OU=Clients,OU=Corp Root,DC=CORP,DC=CONTOSO,DC=COM"
Der Benutzer befindet sich also im OU-Pfad Corp Root/Users/Backoffice/Martin, der Computer in Corp Root/Clients/Desktops.

Der Benutzer wird alle GPOs anwenden, die mit dem Standort/der Domäne sowie den OUs Corp Root, Users, Backoffice oder Martin (nett, gell? :-)) verknüpft sind. Der Computer wendet alle GPOs an, die mit Standort/Domäne, Corp Root, Clients, Desktops verknüpft sind. Diese Pfade in Active Directory bezeichnen wir als Verwaltungsbereich (Scope Of Management, SOM).

Wir möchten jetzt erreichen, dass auf diesem Beispielcomputer für alle Benutzer der Task-Manager entfernt wird. Dazu aktivieren wir in einer neuen GPO folgende Benutzereinstellung:

Diese GPO verknüpfen wir jetzt - wir wollen das ja auf dem einen Client - mit der OU "Clients", stellen dann aber fest, dass die Einstellung nicht wirkt. Warum nicht?
  • Der Computer, der sich in "Clients" befindet, interessiert sich nur für Computereinstellungen und ignoriert unsere Benutzereinstellung.
  • Der Benutzer befindet sich nicht in "Clients", kann diese GPO also nicht anwenden (sie befindet sich nicht im Verwaltungsbereich des Benutzers).
Wie können wir unsere Anforderung jetzt umsetzen?

Wir müssten irgendwie den Verwaltungsbereich für die Benutzer-GPOs ändern, so dass der Benutzer nicht nur in seinem eigenen Verwaltungsbereich nach GPOs sucht (wir erinnern uns: Corp Root/Users/Backoffice/Martin), sondern zusätzlich oder alternativ auch im Verwaltungsbereich des Computers. Damit würden wir erreichen, dass Benutzer-GPOs nicht nur aus Users/Backoffice/Martin angewendet werden, sondern auch aus Clients/Desktops, obwohl sich dort nach wie vor nur Computer befinden, die sich ja nicht für Benutzer-GPOs interessieren.

 

Loopback-Verarbeitung

Die Loopback-Verarbeitung ist genau für die zwei Beispielszenarien vorgesehen: Benutzereinstellungen sollen auf bestimmten Computern angewendet werden, auf anderen Computern dagegen nicht. Loopback ist eine Computereinstellung, die den Scope Of Management von Benutzern ändert. Loopback kennt zwei Modi: Ersetzen und Zusammenführen (Replace und Merge).

Loopback Merge erweitert den Verwaltungsbereich des Benutzers. GPOs werden jetzt nicht nur in Users/Backoffice/Martin gesucht, sondern zusätzlich noch in Clients/Desktops.

Loopback Replace ändert den Verwaltungsbereich dagegen. GPOs werden jetzt nicht mehr in Users/Backoffice/Martin gesucht, sondern nur noch in Clients/Desktops.

Für die zwei Szenarien weiter oben bedeutet das:

Für den Kiosk-Rechner, auf dem alle Benutzer andere GPOs bekommen sollen, verwenden wir Loopback Replace. Für den Terminalserver, auf dem nur einige wenige Einstellungen abweichend gesetzt sein sollen, verwenden wir Loopback Merge. Die jeweiligen zusätzlichen Benutzereinstellungen aktivieren wir dann einfach in GPOs, die wir mit der Computer-OU "Clients" verknüpfen.

Und wer jetzt neugierig geworden ist und mehr lesen will:
  http://evilgpo.blogspot.de/2012/02/loopback-demystified.html 
(Das meinen die Profis von AskDS dazu)

Happy looping!