ADMIN

2021

07

2021-07-01T12:00:00

Container- und Applikationsmanagement

PRAXIS

046

Netzwerkmanagement

Domaincontroller

Gruppenrichtlinien

Windows-Rechner mit lokalen Gruppenrichtlinien verwalten

Die richtigen Regler

von Rainer W. Gerling

Veröffentlicht in Ausgabe 07/2021 - PRAXIS

Die Verwaltung und Konfiguration einzelner Arbeitsplatzrechner geschieht häufig über das Editieren der Registry. In großen Installationen sind dagegen Domaincontroller sowie zentrale Gruppenrichtlinien üblich. Dabei nutzen Administratoren die Gruppenrichtlinien-Verwaltungskonsole. In diesem Beitrag zeigen wir, wie Sie Rechner mit lokalen Gruppenrichtlinien steuern.

Den Komfort der Gruppenrichtlinien-Verwaltungskonsole (GPMC) können Administratoren unter Windows 10 mit dem Editor für lokale Gruppenrichtlinien (gpedit.msc) ebenfalls genießen. Bleibt das Problem, eine auf einem Rechner erstellte Gruppenrichtlinie auf einen anderen Rechner zu übertragen. Dafür bietet Microsoft glücklicherweise im Microsoft Security Compliance Toolkit 1.0 [1] mit dem Lokalen-Gruppenrichtlinienobjekt-Tool (LGPO.exe) ein Werkzeug an.
Rechtemanagement über SIDs
Das Rechtemanagement in Windows basiert nicht auf den Nutzernamen, sondern auf den SIDs. Dazu wird jeder Nutzername und jede Gruppe auf einen internen Security Identifier (SID) abgebildet. In den Berechtigungsobjekten steht dann nur der SID.
Mit dem Befehl wmic useraccount get name,sid können wir uns die Zuordnung Nutzername zu SID in der Eingabeaufforderung anzeigen lassen. Die Gruppen erhalten Sie entsprechend mit wmic group get name,sid. Eine Nutzer-SID unter Windows 10 beginnt mit "S-1-5-21", dann folgt ein zufälliger Rechner- beziehungsweise domänenspezifischer Teil und zum Schluss werden die unterschiedlichen Benutzerkonten durchnummeriert.
Den Komfort der Gruppenrichtlinien-Verwaltungskonsole (GPMC) können Administratoren unter Windows 10 mit dem Editor für lokale Gruppenrichtlinien (gpedit.msc) ebenfalls genießen. Bleibt das Problem, eine auf einem Rechner erstellte Gruppenrichtlinie auf einen anderen Rechner zu übertragen. Dafür bietet Microsoft glücklicherweise im Microsoft Security Compliance Toolkit 1.0 [1] mit dem Lokalen-Gruppenrichtlinienobjekt-Tool (LGPO.exe) ein Werkzeug an.
Rechtemanagement über SIDs
Das Rechtemanagement in Windows basiert nicht auf den Nutzernamen, sondern auf den SIDs. Dazu wird jeder Nutzername und jede Gruppe auf einen internen Security Identifier (SID) abgebildet. In den Berechtigungsobjekten steht dann nur der SID.
Mit dem Befehl wmic useraccount get name,sid können wir uns die Zuordnung Nutzername zu SID in der Eingabeaufforderung anzeigen lassen. Die Gruppen erhalten Sie entsprechend mit wmic group get name,sid. Eine Nutzer-SID unter Windows 10 beginnt mit "S-1-5-21", dann folgt ein zufälliger Rechner- beziehungsweise domänenspezifischer Teil und zum Schluss werden die unterschiedlichen Benutzerkonten durchnummeriert.
Der Rechner- beziehungsweise Domainteil wird bei der Installation zufällig generiert. Die letzte Nummer zählt die angelegten Nutzer beginnend mit 1001 hoch. Die Nummern ab 501 sind die vordefinierten Systemkonten.
Bei den Gruppen gibt es ein paar SIDs, die auf allen Rechnern gleich sind, da sie keine Zufallskomponente enthalten:
- Administratoren: S-1-5-32-544
- Benutzer: S-1-5-32-545
- Gäste: S-1-5-32-546
- Hauptbenutzer: S-1-5-32-547
Die prinzipielle Windows-Konfiguration findet in der Registry statt. Die Einstellungen in der Registry werden dann mit Informationen aus den Gruppenrichtlinien überschrieben. Dabei kommen zuerst die lokalen Gruppenrichtlinien und danach die Domain-Richtlinien zum Einsatz. Wird ein Parameter sowohl in der lokalen als auch in der Domain-Richtlinie angewandt, gewinnt Letztere. Insofern ist die Reihenfolge der Anwendung wichtig. Für die lokalen Richtlinien gilt: vom Allgemeinem zum Speziellen. Eine nutzerspezifische Richtlinie (Named User) überschreibt den Wert der computerspezifischen Richtlinie. Bei den lokalen Gruppenrichtlinien findet nur die Gruppe, zu der der Nutzer gehört – also Administratoren oder Benutzer (Non-Admin) – Anwendung.
Die Gruppenrichtlinien des Rechners (Maschine und User) finden beim Start des Rechners Anwendung, die benutzerspezifischen beim Anmelden des Nutzers. Die Gruppenrichtlinien des Rechners sind unter "%SYSTEMROOT%/ system32/GroupPolicy/", die der Nutzer unter "%SYSTEMROOT%/system32/ GroupPolicyUsers/" gespeichert. In Letzterem gibt es für jede Gruppe und jeden Nutzer ein Unterverzeichnis mit der SID. Da ein Benutzer auf zwei verschiedenen Rechnern unterschiedliche SIDs besitzt, ist das einfache Kopieren der Gruppenrichtlinien nicht zielführend.
Verwaltungsvorlagen nutzen
Um umfangreiche Einstellungen durchzuführen, müssen Sie zunächst die Verwaltungsvorlagen installieren. Diese liegen im Ordner "%SYSTEMROOT%\PolicyDefinitions". Wir laden uns dazu von Microsoft die Verwaltungsvorlagen für Microsoft 365 (früher Office 365) [2] und Windows 10 [3] herunter und führen die Programme aus, um den Inhalt in ein temporäres Verzeichnis zu installieren. Bei den Windows-10-Vorlagen kopieren wir den Inhalt des Verzeichnisses (sowohl die ADMX-Dateien als auch die Verzeichnisse mit den Sprachdateien) in das Policy-Definitions-Verzeichnis auf allen Rechnern, die wir verwalten möchten.
Bei den Office-Vorlagen kopieren wir den Inhalt des ADMX-Verzeichnisses entsprechend; den Inhalt des Admin-Verzeichnisses benötigen wir nicht. Zum Kopieren werden Administrator-Rechte benötigt. Auch für Software von Drittherstellern gibt es zum Teil entsprechende Templates. In den Link-Codes finden Sie als Beispiel die Links zum Download der Vorlagen für Mozilla Firefox [4] und Google Chrome [5].
Bild 1: Die Anzeige der SID für die Nutzerkennungen des Systems. Die rechnerspezifische zufällige Komponente wurde verwischt.
Arbeiten in der Managementkonsole
Nur starten wir die lokale Managementkonsole. Dazu drücken wir "Windows + R" und geben "mmc" ein. Ein Klick auf "OK" und wir sehen die leere Konsole. Über "Datei / Snap-In hinzufügen/entfernen" erhalten wir einen Auswahldialog, in dem wir im linken Fenster den "Gruppenrichtlinienobjekt-Editor" durch Klick auf "Hinzufügen" auswählen.
In dem sich öffnenden Fenster klicken wir auf "Fertigstellen". Wir wiederholen das Ganze und wählen jetzt in dem aufgehenden Fenster "Durchsuchen" und gehen dann auf den Reiter "Benutzer". Dort wählen wir "Administratoren" aus. Nach dem Klick auf "OK" nutzen wir wieder den "Fertigstellen"-Button. In einem dritten Durchgang geben wir jetzt auf der Seite "Benutzer" einen realen Benutzer an. Es sind mit dieser Konfiguration Computer-Einstellungen, Einstellungen für alle Benutzer, Einstellungen für die Gruppe der Administratoren und Einstellungen für den Benutzer möglich. Vergessen Sie nicht, die Konfiguration zu speichern, damit sie diese nicht jedes Mal neu erstellen müssen.
Einige Beispiele: Unter "Richtlinien für Lokale Computer / Benutzerkonfiguration / Administrative Vorlagen / Mozilla / Firefox" können Sie "DNS über HTTPS" (DoH) konfigurieren. Schalten Sie die Option "Aktiviert" aus, ist DoH deaktiviert. Damit der Nutzer DoH nicht wieder aktivieren kann, aktivieren Sie zusätzlich die Option "Gesperrt".
Die Empfehlungen des BSI [6] zur sicheren und datenschutzkonformen Konfiguration von Microsoft Office lassen sich auch relativ leicht auf diese Art umsetzen. Auch die Baseline-Sicherheitseinstellungen von Microsoft aus dem Baseline Security Toolkit 1.0 sind ein guter Ansatzpunkt. Eine Empfehlung gilt immer: Überprüfen Sie nach der Konfiguration, ob in Ihrer Umgebung noch alles funktioniert, denn manchmal haben die Einstellungen Nebenwirkungen. Für die Bearbeitung der lokalen Gruppenrichtlinien sind Administratorrechte erforderlich.
Bild 2: Reihenfolge der Anwendung der Gruppenrichtlinien.
Verteilen der Richtlinien
Ihre gewünschten Einstellungen nehmen Sie zunächst auf einem Rechner über die Managementkonsole vor. Auf diesem Rechner sollten Sie auch mögliche Nebeneffekte (etwa bei zu restriktiven Einstellungen) überprüfen. Anschließend kann die Verteilung beginnen. Zuerst legen Sie eine Netzwerkfreigabe (ein USB-Stick ist auch möglich) an, auf die alle Rechner Zugriff haben. In unserem Beispielen wäre das "f:\lgpo". An diesem Ort speichern Sie die "LGPO.exe" aus der Datei "LGPO.ZIP" des Microsoft Baseline Security Toolkits. Dann starten Sie diese Datei in einer Eingabeaufforderung mit administrativen Rechten:
lgpo /b f:\lgpo /n "Backup LGPO 18.4.2021
Das Backup wird in einem Verzeichnis mit einem kryptischen Namen der Art "{274B54AF-6735-4D34-B1DB-75375-74172CF}" abgelegt. Dieses Verzeichnis kann und sollte umbenannt werden, beispielsweise in "Backup2104". Das Backup umfasst nur die die eigentlichen Policy-Einträge unter "%SYSTEMROOT%/system32/GroupPolicy/", also die Gruppenrichtline des Rechners und die für alle Nutzer. Die Gruppenrichtlinien im Verzeichnis "GroupPolicyUsers" sowie Startup- oder Login-Skripte bleiben außen vor. Dies gilt auch für die Templates (ADMX-Dateien, Hilfe-Dateien), diese müssen Sie zusätzlich manuell sichern. Mit dem Befehl
lgpo /g f:\lgpo\Backup2104
spielen Sie es auf dem gleichen oder einem anderen Rechner wieder ein. Es empfiehlt sich, ein Namensschema zu verwenden, das eine Versionierung erlaubt. Diese Verteilung funktioniert nur für Richtlinien, die jeweils unterhalb der Zweige "Administrative Vorlagen" angesiedelt sind, denn nur diese sind Registry-basiert.
Speicherorte für Richtlinien
Richtlinie
Verzeichnis in %SYSTEMROOT§\system32
Verzeichnis im Austauschlaufwerk
Option für lgpo bei /parse und beim Einlesen
Maschinen LGPO
GroupPolicy\Machine\
lgpo\Machine
/m
Benutzer LGPO
GroupPolicy\User\
lgpo\User
/u
Administratoren Gruppe
GroupPolicy\Users\S-1-5-32-544
lgpo\Admin
/ua
Nicht-Administratoren
GroupPolicy\Users\S-1-5-32-543
lgpo\NonAdmin
/un
Benutzer
GroupPolicy\Users\S-1-5-21-…
lgpo\Userlgpo\username
/u:username
Individuelle Einstellungen setzen
Im Verzeichnis "GroupPolicyUsers" sind die Policy-Dateien unter der SID der Nutzer beziehungsweise Gruppen gespeichert. Dabei sind die Gruppen "Administratoren" (S-1-5-32-544) und "Benutzer"
(S-1-5-32-545) noch systemübergreifend einheitlich. Auch wenn die Nutzernamen gleich sind, sind die SIDs auf den Systemen unterschiedlich. Mit den beiden Befehlszeilen
copy %SYSTEMROOT%\System32\GroupPolicyUsers\S-1-5-32-544\User\Registry.pol f:\lgpo\admin\Registry.pol
 
lgpo /ua f:\lgpo\admin\Registry.pol
transferieren Sie die Richtlinie für Administratoren. Möchten Sie die Richtlinie für den Nutzer "Test" transferieren, hilft das Skript aus dem Listing-Kasten dabei, eine Kopie zu erstellen. Das Einspielen für den Nutzer "Test" auf einem anderen Rechner gelingt per
lgpo /u:test f:\lgpo\test\Registry.pol
Die Kommandozeilenhilfe von "LGPO.exe" zeigt noch weitere Optionen an. Sehr interessant ist auch die Möglichkeit, mit dem Parameter "/parse" die Policy-Dateien in ein lesbares Format zu wandeln. Mit
lgpo /parse /m f:\lgpo\Machine\Registry.pol
wird die rechnerabhängige-Policy-Datei konvertiert. Der Parameter "/m" ist gegebenenfalls durch "/u" (User Policy), "/ua" (Admin Policy), "/un" (Non-Admin Policy) oder "/u:test" (Policy des Nutzers Test) zu ersetzen, um die entsprechenden Policy-Dateien zu konvertieren. Mittels einer Ausgabe-Umleitung lässt sich dabei die Ausgabe in einer Datei abspeichern. Dieses File können Sie editieren und wieder in eine Policy-Datei zurückverwandeln.
Es empfiehlt sich, auf dem Austauschlaufwerk eine klare Verzeichnisstruktur für die verschiedenen Policy-Dateien anzulegen. Soweit möglich, sollten Sie die Maschinen und Benutzer LGPO auf allen Rechnern identisch halten. Wenn Desktoprechner und Notebooks abweichend konfiguriert sind, liegt dies häufig an den Nutzern. Diese Unterschiede sollten Sie dann eher in den nutzerspezifischen Richtlinien abbilden.
Aber LGPO haben auch ihre Grenzen. Eine der wichtigsten Einstellungen, die nur in Domänen konfigurierbar ist, betrifft die "S/MIME"-Erweiterung. Diese erlaubt im aktuellen Edge beziehungs-
weise Chrome den Umgang mit verschlüsselten und/oder signierten E-Mails. Auch Konfigurationen, die die Installation von Software (etwa zusätzliche DLLs) erfordern, können nur aus den Domain-Richtlinien angestoßen werden.
Listing: Richtliniendateien kopieren
set target=f:\lgpo IF NOT EXIST "%target%\%1" mkdir %target%\%1 FOR /F "skip=1 usebackq" %%A in (`wmic useraccount where name^="%1" get sid`) DO ( set a=%%A GOTO j1 ) :j1 echo Nutzer %1 hat SID: %a% copy "%SYSTEMROOT%\System32\GroupPolicyUsers\%a%\User\Registry.pol" "%target%\%1\Registry.pol"
Fazit
Zum Abschluss unseres Workshops bleibt die Frage bestehen, für wie viele Rechner eine Konfiguration über das vorgestellte Tool LGPO noch sinnvoll ist. Wenn Ihnen der Aufwand für diese Managementvariante aufgrund der Anzahl der Rechner irgendwann zu groß wird, ist es an der Zeit, über die Einrichtung einer Win­dows-Domäne mit all ihren Vor- und Nachteilen nachzudenken. Ansonsten bieten Ihnen die lokalen Gruppenrichtlinien (LGPO) eine einfache und kostenfreie Möglichkeit, um umfangreiche Konfigurationen auf andere Rechner in Ihrer IT-Umgebung zu übertragen.
(dr)
Link-Codes
[1] Microsoft Security Compliance Toolkit 1.0: https://www.microsoft.com/en-us/download/55319/
[2] Administrative Vorlagen für Microsoft 365: https://www.microsoft.com/en-us/download/49030/
[3] Administrative Vorlagen für Windows 10, Version 2002: https://www.microsoft.com/en-us/download/details.aspx?id=102157/