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 Gruppe RemoteDesktopBenutzer 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ügen
Wir 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
6.1. Richtlinie B_RDS_User_Restriktiv auswählen und den Reiter Delegierung wählen
6.2. Auf dem Reiter Delegierung -> unten rechts -> Schaltfläche Erweitert anklicken
6.3. Authentifizierte Benutzer auswählen -> Das Recht Gruppenrichtlinie übernehmen entfernen (Haken raus)
6.4. RDS_User hinzufügen -> Das Recht Gruppenrichtlinie übernehmen geben/hinzufügen (Haken rein)
6.5. Da wir mit einer eigenen Sicherheitsgruppe arbeiten anstelle der RemoteDesktopBenutzer und 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_User hinzufügen
6.6. 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
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