Veröffentlicht in Betriebssysteme, Windows Server 2003, Windows Server 2008, Windows Server 2012

Loopbackverarbeitungsmodus – Loopback Processing Mode

Loopback processing of Group Policy
http://support.microsoft.com/kb/231287/en-us

Die Situation: Man möchte, daß der Benutzer spezielle Einstellungen, abhängig vom Computer an dem er sich anmeldet, übernimmt. Klassische Beispiele sind in dem Fall: Terminal (Remote Desktop) Server und Notebooks.

Bei einem TS möchte man in der Regel, daß der Benutzer wesentlich restriktiver gehandhabt wird, als wenn er sich an seiner Workstation anmeldet und bei Notebooks ist es oftmals genau  das Gegenteil: Der Benutzer darf mehr, als an seiner festen Workstation. Am Ende kommt es auf die gleiche Situation hinaus. Ich benötige Richtlinien abhängig vom Computer.

Das könnte man heute prima mit einem WMI Filter erreichen, der auf einer an der Benutzer OU verlinkten GPO eingesetzt wird und zB den dnsHostName abfragt. Dummerweise gab es diesen Filter unter Windows 2000 nicht. Deswegen gibt es den Loopback.

Die Herausforderung:
Ich muss die Richtlinie irgendwie auf das Computerkonto anwenden? Aber der Computer ignoriert den Anteil der Benutzerkonfiguration einer Richtlinie, da er ja schliesslich ein Computerobjekt ist und kein Benutzer. Ebenfalls, ist dem anmeldenden Benutzer die Benutzerkonfiguration einer Richtlinien auf dem Computerobjekt egal, da der Benutzer die Computerkonfiguration garnicht liest, und damit am Ende die Richtlinie, nicht übernehmen kann. Es kommt noch hinzu, daß der Benutzer meistens nicht in der OU des Computers steht, damit nicht im Verwaltungsbereich der Richtlinie ist und er somit die GPO generell nicht anwenden kann.

Schauen wir uns die normale Verarbeitung von Richtlinien an.

  • OU „Terminal Server“, darin enthalten der Computer
  • verlinktes GPObjekt „TerminalServer Einschränkungen“
    darin enthalten konfigurierte Einstellungen im Bereich Computer~ und Benutzerkonfiguration
  • OU „Meine Benutzer“, darin enthalten alle Benutzerkonten
  • verlinktes GPObjekt „Meine Std. Firmenvorgaben“
    nur Einstellungen im Bereich Benutzerkonfiguration

Ablauf:

  1. Der Computer aus der OU „Terminal Server“ liest den Anteil Computerkonfiguration der Richtlinie „TerminalServer Einschränkungen“ .
  2. Der Computer kann als Objekt keine Benutzereinstellungen übernehmen.
  3. Der Benutzer aus der OU „Meine Firma“ liest den Anteil Benutzerkonfiguration der Richtlinie „Meine Std. Firmenvorgaben“. Fertig

Jetzt aktiviert man den Loopbackverarbeitungsmodus auf einer beliebigen Richtlinie, die auf den Computer wirkt. Sie sollte als eigene Richtlinie integriert werden, mit nur der einen Policy aktivert. Diese Objekt kann man dann überall dort verlinken, wo es einen Loop geben soll. Die Eigenschaft des Loopback gilt ab der nächsten Übernahme und dem anschliessendem Neustart für alle Richtlinien. Nicht nur für eine spezielle.

Wir erweitern das Beispiel um eine weitere Richtlinie: „Loopbackverarbeitungsmodus aktiviert“

Computerkonfiguration \ Administrative Vorlagen \ System \ Gruppenrichtlinien
Loopbackverarbeitungsmodus für Benutzergruppenrichtlinie = aktiviert

  • OU „Terminal Server“, darin enthalten der Computer
  • verlinktes GPObjekt „Loopbackverarbeitungsmodus aktiviert“
  • verlinktes GPObjekt „TerminalServer Einschränkungen“
  • OU „Meine Benutzer“, darin enthalten alle Benutzerkonten
  • verlinktes GPObjekt „Meine Std. Firmenvorgaben“

Neuer Ablauf:

  1. Der Computer aus der OU „Terminal Server“ liest den Anteil Computerkonfiguration der Richtlinie „TerminalServer Einschränkungen“.
  2. Der Computer aus der OU „Terminal Server“ liest den Anteil Computerkonfiguration der Richtlinie „Loopbackverarbeitungsmodus aktiviert“.
  3. Der Benutzer aus der OU „Meine Firma“ liest den Anteil Benutzerkonfiguration der Richtlinie „Meine Std. Firmenvorgaben“
  4. Der Benutzer aus der OU „Meine Firma“ liest den Anteil Benutzerkonfiguration der Richtlinie „TerminalServer Einschränkungen“

Durch den Loop wird eine Schleife (Loopback = Salto rückwärts) bei der Übernahme erzeugt, die den Prozess der Benutzeranmeldung dazu bringt die Liste der Richtlinien des Computerobjekts durchzuschauen. Da nur in diesem speziellen Fall das Benutzerobjekt die Richtlinien des Computers liest und jetzt Benutzerkonfigurationen findet, die es lesen und übernehmen kann, funktioniert der Trick.

In jedem anderen Fall würde kein Benutzer Computerkonfigurationen lesen und kein Computer Benutzerkonfigurationen. Da jedes Mal das „falsche“ Ziel angesprochen wird. Durch diese Manipulation können sich natürlich Probleme ergeben, da jetzt mehr Richtlinien auf das Benutzerobjekt angewendet werden, als vorher. Dadurch kann es wieder zu „Phänomenen“ kommen, daß bestimmte Richtlinieneinstellungen sich nicht durchsetzen etc.
Der Ablauf der Vererbung muss in diesem Fall noch einmal genau kontrolliert werden, um Fehler zu finden, in denen sich 2 Einstellungen zB durch den normalen Überschreibungsvorgang der zuletzt angewendeten Richtlinie überstimmen oder ins Gegenteil gesetzt werden.

Der Loopbackverarbeitungsmodus kennt 2 Konfigurationseinstellungen: Zusammenführen (Merge) und Ersetzen (Replace)

Im ersten Fall werden alle vorhandenen Benutzerrichtlinien des Benutzerobjekts mit denen des Computerobjekts zusammengeführt, wobei die Einstellungen aus der Benutzerkonfiguration der Computerrichtlinie, die Einstellungen des Benutzerobjekts überschreiben können, wenn sie sich widersprechen. LAST WRITER WINS!

Im Replace Modus, werden alle Benutzereinstellungen des Benutzerobjekts ignoriert und verworfen und es kommen nur die Einstellungen der Benutzerkonfiguration des Computerobjekts zum Einsatz.

Ich persönlich habe lange Zeit den „Ersetzen“ Modus favorisiert, da ich im Falle eines Falles nur eine Stelle (die Einstellungen des Computers) kontrollieren muss um a) genau zu wissen, was beim Benutzer ankommt und b) die Fehlersuche zu reduzieren und damit c) den Ablauf insgesamt vereinfache.
Der Nachteil ist, und das ist der Grund, warum ich mittlerweile „Zusammenführen“ mag, daß ich viele  Einstellungen erneut definieren muss, die schon beim Benutzer konfiguriert sind, da sie ja beim „Ersetzen“  verworfen werden und fehlen.

Quelle: http://www.gruppenrichtlinien.de/artikel/loopbackverarbeitungsmodus-loopback-processing-mode/
Veröffentlicht in Betriebssysteme, Windows Server 2003, Windows Server 2008, Windows Server 2012

Remote Desktop Server – Terminal Server

Die Situation: Man möchte, daß der Benutzer spezielle Einstellungen, abhängig vom Computer an dem er sich anmeldet, übernimmt. Klassische Beispiele sind in dem Fall: Terminal Server / Remote Desktop Services, Notebooks, Schulungsräume, Kiosksysteme, Messe PCs, Präsentationsmaschinen, Infoterminals etc.

Bei einem TS möchte man in der Regel, daß der Benutzer wesentlich restriktiver gehandhabt wird, als wenn er sich an seiner Workstation anmeldet und bei Notebooks ist es oftmals genau  das Gegenteil: Der Benutzer darf mehr, als an seiner festen Workstation. Am Ende kommt es auf die gleiche Situation hinaus. Ich benötige Richtlinien abhängig vom Computer.

Das könnte man heute prima mit einem WMI Filter erreichen, der auf einer an der Benutzer OU verlinkten GPO eingesetzt wird und zB den dnsHostName abfragt. Dummerweise gab es diesen Filter unter Windows 2000 nicht. Deswegen gibt es den Loopbackverarbeitungsmodus – Loopback Processing Mode

Günstigster Fall und Empfehlung an alle:

  • Der Terminal Server ist KEIN Domänen Controller, er ist ein Memberserver der Domäne.
  • Es existiert eine eigene OU, in der nur Computerkonten (~Objekte) sind, die diesem speziellem Konfigurationsanspruch unterliegen.
  • Wäre der TS ein DomänenController, würde bei ihm immer die Default Domain Controllers Policy angewendet werden, die uns an einigen Stellen behindern kann und evtl. eine ordentliche „Abdichtung“ des Systems verbietet. Da der Administrator am DC am Ende noch arbeiten können muss.
  • Zudem ist die Gefahrenlage auf einem DC wesentlich höher, wenn er kompromitiert wird, als bei einem Memberserver. (Technisch läuft die RDS Rolle einwandfrei auf dem DC, aber das Risiko ist größer.)

Schritt für Schritt Anleitung:

  1. Erstellung einer OU Remote Desktop Server, verschieben der TS/RDS Server in die OU.
  2. Erstellung von 3 neuen Richtlinien
    – C_Loopback_merge
    – C_Anmelden_ueber_RDS_erlauben
    – B_RDS_User_restriktiv
    und verlinken diese an die OU Remote Desktop Server
  3. Erstellung einer neuen Sicherheitsgruppe: RDS_User. Der Administrator ist auf KEINEN FALL Mitglied dieser Gruppe. Es werden nur die Benutzer Mitglied, die unsere restriktiven Einstellungen erhalten sollen. Wenn diese Gruppe Mitglied der GruppeRemoteDesktopBenutzer ist können wir den Schritt 5. ausfallen lassen, müssen allerdings Schritt 7 ausführen.
    -> Mit Gruppenverschachtelung: 5 weg, 7 hinzu
    -> Ohne Gruppenverschachtelung: 5 hinzu, 7 weg
  4. Bearbeiten von C_Loopback_merge, damit aktivieren wir den Loopback.
    Computerkonfiguration\Administrative Vorlagen\System\Gruppenrichtlinien
    „Loopbackverarbeitungsmodus für Benutzergruppenrichtlinie“ = aktiviert
     (zusammenführen)Ersetzen: Es gilt nur die Benutzerkonfiguration aus der OU „Remote Desktop Server“
    Zusammenführen: Die Benutzerkonfiguration aus der OU „Remote Desktop Server“ wird nachträglich, zu denen vom Benutzer „mitgebrachten“ Einstellungen, angewendet.

    Dieser ist erst nach einem gpupdate und Neustart des Servers aktiv.

  5. Bearbeiten von C_Anmelden_ueber_RDS_erlauben
    Computerkonfiguration\Richtlinien\Windows-Einstellungen\Sicherheitseinstellungen\Lokale Richtlinien\Zuweisen von Benutzerrechten
    „Anmelden über RemoteDesktopDienste zulassen“
     -> RDS_User + VORDEFINIERT\Administratoren + RemoteDesktopbenutzer hinzufügenWir müssen unserer Gruppe das Recht geben sich über die RemoteDesktopDienste an dem Server anzumelden, dürfen aber nicht vergessen, die Administratoren zu integrieren und sollten die Standard Gruppe der RemoteDesktopBenutzer nicht vergessen.
  6. Ein Problem, des Loopbacks ist, daß er sich auf alle Benutzer auswirkt, die sich am Server anmelden, also auch auf die Administratoren.
    Wir müssen die Richtlinie filtern und die Sicherheitsberechtigungen der Richtlinie bearbeiten.Filtern von Gruppenrichtlinien anhand von Benutzergruppen, WMI und Zielgruppenadressierung

    1. Richtlinie B_RDS_User_Restriktiv auswählen und den Reiter Delegierung wählen
    2. Auf dem Reiter Delegierung -> unten rechts -> Schaltfläche Erweitert anklicken
    3. Authentifizierte Benutzer auswählen -> Das Recht Gruppenrichtlinie übernehmenentfernen (Haken raus)
    4. RDS_User hinzufügen -> Das Recht Gruppenrichtlinie übernehmengeben/hinzufügen (Haken rein)
  7. Da wir mit einer eigenen Sicherheitsgruppe arbeiten anstelle der RemoteDesktopBenutzerund die Gruppe RDS_USer nicht Mitglied der Gruppe ist, fehlt ihnen noch das Recht am  RDP Protokoll selbst. Der einfachste Weg dorthin:Systemsteuerung\System\Remoteeinstellungen -> Benutzer auswählen -> RDS_Userhinzufügen

  8. Bearbeiten der Benutzerkonfiguration aus in der Richtlinie B_RDS_User_restriktiv nach belieben.

Was sollte konfiiguriert werden?

Eine Hilfestellung bietet dieser alte Artikel für den Server 2003. Ansatzweise kann man ihn noch ganz gut auf den 2008 R2 anwenden. Beim 2012 sind schon diverser Punkte zur Oberflächenkonfiguration überholt, da es das Startmenü in der Form garnicht mehr gibt.

Locking Down Windows Server 2003 Terminal Server Sessions
http://www.microsoft.com/en-us/download/details.aspx?id=12117

Aktivierung folgender Richtlinien werden darin empfohlen:

[Computerkonfiguration\Administrative Vorlagen\System\Gruppenrichtlinien]
– Loopbackverarbeitungsmodus für Benutzergruppenrichtlinie

[Computerkonfiguration\WindowsEinstellungen\Sicherheitseinstellungen\Lokale Richtlinien\Sicherheitsoptionen]
– Geräte: Zugriff auf CD-ROM Laufwerke auf lokale angemeldete Benutzer beschränken
– Geräte: Zugriff auf Diskettenlaufwerke auf lokale angemeldete Benutzer beschränken
– Interaktive Anmeldung: Letzten Benutzernamen nicht anzeigen

[Computerkonfiguration\Administrative Vorlagen\Windowskomponenten\Windows Installer]
– Deaktiviere Windows Installer

[Benutzerkonfiguration\Windowseinstellungen\Ordnerumleitung]
– Anwendungsdaten
– Desktop
– Eigene Dateien
– Startmenü

[Benutzerkonfiguration\Administrative Vorlagen\Windowskomponenten\Windows Explorer]
– Blendet den Menü-Eintrag „Verwalten“ im Windows Explorer-Kontextmenü aus
– Diese angegebenen Datenträger im Fenster „Arbeitsplatz“ ausblenden
– Optionen „Netzwerklaufwerk verbinden“ und „Netzwerklaufwerk trennen“ entfernen
– Registerkarte „Hardware“ ausbelnden
– Schaltfläche „Suchen“ aus Windows Explorer entfernen
– Standardkontextmenü des Windows Explorers entfernen
– Zugriff auf Laufwerke vom Arbeitsplatz nicht zulassen

[Benutzerkonfiguration\Administrative Vorlagen\Windowskomponenten\Taskplaner]
– Ausführen und Beenden von einem Tasks verhindern
– Erstellen von neuen Tasks nicht zulassen

[Benutzerkonfiguration\Administrative Vorlagen\Startmenü und Taskleiste]
– „Netzwerkverbindungen“ aus dem Startmenü entfernen
– Ändern der Einstellungen für die Taskleiste und das Startmenü verhindern
– Befehl „Herunterfahren“ entfernen und Zugriff darauf verweigern
– Menü „Suchen“ aus dem Startmenü entfernen
– Menüeintrag „Hilfe“ aus dem Startmenü entfernen
– Menüeintrag „Ausführen“ aus dem Startmenü entfernen
– Option „Abmelden“ dem Startmenü hinzufügen
– Programme im Menü „Einstellungen“ entfernen
– Standardprogrammgruppen aus dem Startmenü entfernen
– Verknüpfung und Zugriff auf Windows-Update entfernen

[Benutzerkonfiguration\Administrative Vorlagen\Desktop]
– Desktopsymbol „Netzwerkumgebung“ ausblenden
– Pfadänderung für den Ordner „Meine Dateien“ nicht zulassen

[Benutzerkonfiguration\Administrative Vorlagen\Systemsteuerung]
– Zugriff auf Systemsteuerung nicht zulassen

[Benutzerkonfiguration\Administrative Vorlagen\System]
– Zugriff auf Eingabeaufforderung verhindern (Für Scriptverarbeitung: Nein einstellen)
– Zugriff auf Programme zum Bearbeiten der Registrierung verhindern

[Benutzerkonfiguration\Administrative Vorlagen\System\Strg+Alt+Entf-Optionen]
– Sperren des Computers entfernen
– Task-Manager entfernen

Quelle: http://www.gruppenrichtlinien.de/artikel/remote-desktop-server-terminal-server/