M 4.247 Restriktive Berechtigungsvergabe unter Windows Vista und Windows 7
Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter
Verantwortlich für Umsetzung: Administrator, Benutzer
Insgesamt können unter Windows Berechtigungen in folgenden Bereichen vergeben werden:
- Dateisystem,
- Registrierung,
- Systemberechtigungen bzw. Benutzerberechtigungen,
- Berechtigungen für den Zugriff auf Freigaben in Client/Server-Netzen und Heimnetzen,
- Rechte zum Ausführen von Dateien, Skripten und Installationen,
- Integritätsstufen
Alle Berechtigungen sind grundsätzlich restriktiv zu vergeben, das heißt die so genannten Need-to-know- oder Least-Privilege-Strategien müssen umgesetzt werden (siehe auch M 4.149 Datei- und Freigabeberechtigungen unter Windows). Dies betrifft ausnahmslos alle Bereiche, in denen Berechtigungen vergeben werden können. Das im Vorfeld der Einführung von Windows spezifizierte Berechtigungskonzept muss umgesetzt werden (siehe M 2.325 Planung der Sicherheitsrichtlinien von Windows XP, Vista und Windows 7).
Für hohe bis sehr hohe Schutzbedarfsanforderungen einzelner Anwendungen können die Berechtigungen über die oben genannten Maßnahmen hinaus eingeschränkt werden, wobei dann die Funktionalität und eventuell auch die Stabilität eingeschränkt wird. Bei Windows Vista und Windows 7 kann der Aufwand für Entwicklung und Test eines eingeschränkten, stabil laufenden Systems sehr hoch werden.
Im Folgenden werden Empfehlungen zu den oben genannten Bereichen gegeben:
Dateisystem und Registrierung
Die Sicherheitsgruppe "Jeder" sollte nicht verwendet werden. Für das Systemlaufwerk, üblicherweise Laufwerk C:, sollte die Sicherheitsgruppe "Authentisierte Benutzer" in keinem der vorinstallierten Dateiordner hinzugefügt werden. Diese Gruppe sollte außerdem aus den Sicherheitseinstellungen des Stammordners entfernt werden.
In einigen Ordnern des Systemlaufwerks wird von Windows und anderer Software das Recht "Schreiben" - besonders im Ordner C:\ProgramData - an die Sicherheitsgruppe "Jeder" vergeben. Dies ermöglicht bestimmte anonyme Netzzugriffe und Skriptoperationen, welche meist nicht benötigt werden und ein Risiko darstellen. Daher sollte dieses Schreibrecht nachträglich von den einzelnen Unterordnern entfernt werden. Um diese Ordner zu finden, kann zum Beispiel das Tool AccessChk verwendet werden.
Bestehen hohe oder sehr hohe Schutzbedarfsanforderungen hinsichtlich der Integrität oder Vertraulichkeit, sollte nur Software installiert werden, die zu den Integritätsebenen (engl. Integrity Level), zur Ordnerstruktur und zu den standardmäßig eingeschränkten Berechtigungen von Windows Vista und Windows 7 kompatibel ist. Auskunft darüber erteilen der Hersteller oder Microsoft. Weiterhin wird empfohlen, dedizierte Gruppen für einzelne Anwendungen zu definieren. Entsprechend sind die Zugriffsberechtigungen auf Software und Daten im Dateisystem und in der Registry zu vergeben. Dabei sind nicht nur systemspezifische, sondern auch anwendungsspezifische Verzeichnisse und Dateien zu identifizieren, die einem besonderen Schutzbedarf unterliegen.
Besteht ein sehr hoher Schutzbedarf hinsichtlich der Vertraulichkeit oder Integrität, sollte die Vererbung der Standardberechtigungen in Systemordnern, anderen Ordnern des Systemlaufwerks sowie in Registry-Schlüsseln deaktiviert werden, um explizite Berechtigungen für Programmdateien und Programmdaten zu vergeben. Sicherheitsgruppen wie Autorisierte Benutzer oder Administratoren müssen dann entfernt und durch explizite Benutzerkonten ersetzt werden. Die Besitzer-Einträge von allen Ordnern, Dateien und Schlüsseln, die nicht auf System oder TrustedInstaller lauten, sollten bei einer höheren Schutzbedarfsanforderung als normal ebenfalls auf ein explizites Benutzerkonto gesetzt werden. Dadurch ist ein Angriff über andere kompromittierte Konten ausgeschlossen. Allerdings wird das System irreparabel zerstört, falls Berechtigungen falsch gesetzt werden. Der Entwicklungs- und Testaufwand ist daher nur bei sehr hohen Schutzbedarfsanforderungen sinnvoll.
Analyse-Werkzeuge von Drittanbietern wie AccessChk helfen dabei, abweichenden Rechte in Ordnerstrukturen und der Registry zu finden.
Integritätsstufen
Der Kompatibilitätsmodus von Windows Vista und Windows 7, das Application Compatibility Toolkit von Microsoft sowie bestimmte, auf .NET basierende Software von Drittanbietern, können einen Anwendungsprozess auf eine höhere Integritätsstufe (siehe M 4.341 Integritätsschutz ab Windows Vista) heben. Für hohe oder sehr hohe Schutzbedarfsanforderungen sollten solche Anwendungen unter Ausschluss weiterer Anwendungen auf isolierten Clients ausgeführt werden, um diese nicht zu gefährden. Ist dies organisatorisch nicht möglich, empfiehlt es sich, die Programmdateien und -daten gemäß dem Abschnitt Dateisystem und Registrierung restriktiv abzusichern.
Bestehen hohe oder sehr hohe Schutzbedarfsanforderungen, sollte die Ausführung von Komponenten, die Integritätsstufen überspringen können, unterbunden werden. Dazu gehören zum Beispiel der Windows Installer und der Kompatibilitätsmodus von Windows sowie Software zur Steuerung und Aufzeichnung der Benutzerschnittstelle (Snipping-Tool, Remote-Unterstützung, VNC, Makro-Rekorder). Solche Komponenten setzen die Systemeigenschaft UIAccess=TRUE. Auskunft darüber erteilt der Software-Hersteller. Updates und Software können allerdings nicht installiert werden, solange der Windows Installer deaktiviert ist.
Bestehen hohe oder sehr hohe Schutzbedarfsanforderungen, kann es weiterhin sinnvoll sein, bestimmte Programmteile auf der Integritätsstufe Gering auszuführen. Beispielsweise bewirkt der Befehl icacls java.exe /setintegritylevel low, dass ein Java-Programm aus unbekannter Quelle auf der Verbindlichkeitsstufe Gering ausgeführt wird. Allerdings sind solche Einschränkungen mit erheblichem Aufwand für Anpassung und Test der Anwendungen verbunden.
Aufwendige programmspezifische Anpassungen der Berechtigungen und Integritätsstufen können durch Software von Drittherstellern erleichtert werden.
Systemberechtigungen bzw. Benutzerberechtigungen
Als Basis für hohe und sehr hohe Schutzbedarfsanforderungen sollten die Einstellungen der Microsoft Dokumentation mit dem Titel Specialized Security - Limited Functionality (SSLF) für Windows Vista und Windows 7 verwendet werden. Diese sind in der Produktdokumentation im Internet oder auf der Microsoft Technet-Distribution zu finden. Sie sind, entgegen dem Wort "Specialized" im Titel, für den flächendeckenden Einsatz geeignet, sofern keine älteren Windows-Systeme vorhanden sind und jede genutzte Software zu Windows Vista und Windows 7 kompatibel ist. Werden die Einstellungen noch restriktiver gesetzt, sollte das erst auf wenigen Clients über einige Wochen hinweg getestet und auf Verträglichkeit mit dem Netz- und Systemmanagement und mit Fachanwendungen hin geprüft werden.
Im Produktionsbetrieb sollten sämtliche Systemberechtigungen mittels Domänencontroller und Gruppenrichtlinien durchgesetzt werden. Keine Systemberechtigung darf auf Nicht konfiguriert stehen. Ansonsten könnte sie von jedem Konto mit lokalen Administratorrechten manipuliert werden.
Einige wichtige Einstellungen, die über SSLF hinausgehen, befinden sich in den Hilfsmitteln zur Nutzung des jeweiligen Bausteins.
Berechtigungen für Freigaben in Client/Server-Netzen und Heimnetzen
Freigabeberechtigungen sollten nicht an integrierte Systemgruppen wie Autorisierte Benutzer oder Jeder erteilt werden. Weiterhin empfiehlt es sich, auf Clients alle lokalen Benutzerkonten zu deaktivieren und ausschließlich Domänenkonten mit Kerberos-Authentisierung zu verwenden.
Die Funktion Heimnetzgruppen ist für erhöhte Sicherheitsanforderungen nicht geeignet (siehe M 4.xx5 Verwendung der Heimnetzgruppen-Funktion unter Windows 7).
Starten von Programmen, Skripten und Installationen
Bestehen hohe oder sehr hohe Schutzbedarfsanforderungen, sollte der Windows Installer im Normalbetrieb deaktiviert sein. Dadurch können Updates sowie ein Großteil der Software nicht installiert werden. Zur Deaktivierung dient die Gruppenrichtlinie unter Computerkonfiguration | Administrative Vorlagen | Windows-Komponenten | Windows Installer | Windows Installer deaktivieren (Immer).
Prüffragen:
-
Wurden alle Berechtigungen restriktiv nach den so genannten Need-to-know- oder Least-Privilege-Strategien vergeben?
-
Wurde für Anwendungen unter Windows ein restriktives Berechtigungskonzept definiert und umgesetzt?
-
Wurde der Sicherheitsgruppe "Jeder" das Schreibrecht innerhalb von Systemordnern entzogen?
-
Werden Freigabeberechtigungen nicht an integrierte Systemgruppen wie Autorisierte Benutzer oder Jeder erteilt?
-
Sind die restriktiven Berechtigungen mit dem Patchmanagement und dem Netz- und Systemmanagement abgestimmt?