Berechtigungen auf die Ereignisprotokolle von Windows Server 2003 vergeben

Verfasser: Norbert Fehlauer


Gerade in großen Umgebungen gibt es die Anforderung, dass auch Benutzer in bestimmte Ereignisprotokolle schauen sollen, ohne dass sie gleich zu Mitgliedern der Gruppe der Administratoren hinzugefügt werden müssen. Dieses Howto soll die Verwendung der Sicherheitsrichtlinien zeigen, mit deren Hilfe die Vergabe von Berechtigungen gesteuert wird.
Grundlage dieses Howto's ist der Microsoft KB Artikel 323076.

Berechtigungen werden mittels Sicherheitsrichtlinien konfiguriert. Leider sind aber scheinbar einige vergessen worden. ;)
Am Günstigsten ist es, die folgenden Punkte auf der Maschine durchzuführen auf der man die Richtlinie auch definieren will. Um die neuen Richtlinien konfigurieren zu können, muss als erstes die Datei sceregvl.inf (diese befindet sich im %Windir%\Inf Ordner, siehe auch Erstellen eines eigenen Security Templates) editiert werden. Hierzu werden die folgenden Einträge in die Datei kopiert. Am besten legt man vorher ein Backup der Originaldatei an.

Unterhalb des [Register Registry Values] –Abschnitts einfügen
MACHINE\System\CurrentControlSet\Services\Eventlog\Application\CustomSD,1,%AppCustomSD%,2
MACHINE\System\CurrentControlSet\Services\Eventlog\Security\CustomSD,1,%SecCustomSD%,2
MACHINE\System\CurrentControlSet\Services\Eventlog\System\CustomSD,1,%SysCustomSD%,2
MACHINE\System\CurrentControlSet\Services\Eventlog\Directory Service\CustomSD,1,%DSCustomSD%,2
MACHINE\System\CurrentControlSet\Services\Eventlog\DNS Server\CustomSD,1,%DNSCustomSD%,2
MACHINE\System\CurrentControlSet\Services\Eventlog\File Replication Service\CustomSD,1,%FRSCustomSD%,2

Unterhalb des [STRINGS] –Abschnitts einfügen
AppCustomSD = "Ereignis: Sicherheitsbeschreibung von Ereignisprotokoll der Anwendung"
SecCustomSD = "Ereignis: Sicherheitsbeschreibung von Sicherheitsereignisprotokoll"
SysCustomSD = "Ereignis: Sicherheitsbeschreibung von Systemereignisprotokoll"
DSCustomSD = "Ereignis: Sicherheitsbeschreibung von Verzeichnis-Dienstereignisprotokoll"
DNSCustomSD = "Ereignis: Sicherheitsbeschreibung von DNS-Server-Ereignisprotokoll"
FRSCustomSD = "Ereignis: Sicherheitsbeschreibung von Dienstereignisreplikationsdateiprotokoll"

Eine fertige Version der sceregvl.inf findet ihr hier

Danach muss die neue Version der sceregvl.inf neu eingelesen werden. Dies erfolgt mit Hilfe der Reregistrierung des Security configuration editor clients. Einfach gesagt: der scecli.dll ;-)


Start -> Ausführen -> regsvr32 scecli.dll

Ab jetzt können mit Hilfe von Gruppenrichtlinien Berechtigungen auf die 6 verschiedenen Ereignisprotokolle (Anwendung, Dateireplikation, DNS-Server, Sicherheit, System und Verzeichnisdienst) vergeben werden.


Abbildung 1: Ereignisprotokollrichtlinien


Über diese Richtlinien können jetzt die einzelnen Rechte und die befügten Gruppen/Benutzer konfiguriert werden. Jedoch muss dies in der SDDL-Syntax (Security Descriptor Definition Language) erfolgen. Der passende SDDL-String muss entsprechend des folgenden Abschnitts zusammengesetzt werden. Es kann aus 3 Rechten die entsprechende Berechtigung zusammengesetzt werden.

    -    1=lesen
    -    2=schreiben
    -    4=löschen


Es kann erlaubt und verweigert werden.

    -    D=deny
    -    A=allow


Die Standardberechtigungen für das Anwendung –Protokoll sehen folgendermaßen aus.
O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)

Beispiele:
(D;;0xf0007;;;AN) verweigert Anonym jeden Zugriff auf das Protokoll
(D;;0xf0007;;;BG) verweigert Gastkonten jeden Zugriff auf das Protokoll
(A;;0xf0007;;;SY) erlaubt Vollzugriff für das lokale Systemkonto
(A;;0x7;;;BA) erlaubt Lesen, Schreiben und Löschen des Protokolls für die Administratoren
(A;;0x7;;;SO) erlaubt Lesen, Schreiben und Löschen des Protokolls für die Server-Operatoren
(A;;0x3;;;IU) erlaubt das Lesen und Schreiben des Protokolls für Interaktiv angemeldete Nutzer
(A;;0x3;;;SU) erlaubt das Lesen und Schreiben des Protokolls für das Konto Lokaler Dienst
(A;;0x3;;; S-1-5-3) erlaubt das Lesen und Schreiben des Protokolls für das Konto Batch

Die einzelnen Gruppen sind im MSDN dokumentiert: http://msdn.microsoft.com/library/en-us/secauthz/security/sid_strings.asp
Um dort eigene Gruppen einzufügen sollte man als erstes die bestehenden Rechte dokumentieren. Unten sind die Defaultberechtigungen eines Windows Server 2003 Domaincontrollers gelistet.

Anwendung:
O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)
Verzeichnisdienst:
O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)
DNS-Server:
O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)
Dateireplikation:
O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)
Sicherheit:
O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0005;;;SY)(A;;0x5;;;BA)
System:
O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x5;;;SO)(A;;0x1;;;IU)(A;;0x1;;;SU)(A;;0x1;;;S-1-5-3)(A;;0x2;;;LS)(A;;0x2;;;NS)

Eigene Gruppen lassen sich mit Hilfe ihrer SID eintragen. Um beispielsweise der Gruppe EDV das Recht zum Lesen des DNS-Server –Ereignisprotokolls zu geben muss als erstes die SID dieser Gruppe bestimmt werden. Das ist mit dem Befehlszeilenprogramm dsget problemlos möglich.
 
C:\>dsget group -sid "CN=EDV,OU=Security,OU=Groups,DC=AD,DC=MYDOMAIN,DC=COM"
sid
S-1-5-21-1048785505-575537811-569397357-2268
dsget war erfolgreich

Die erhaltene SID kann man jetzt in die Richtlinie einfügen. Am Beispiel für das DNS Server Ereignisprotokoll:
DNS-Server: O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)(A;;0x1;;; S-1-5-21-1048785505-575537811-569397357-2268)


Abbildung 2: Hinzufügen von zusätzlichen Berechtigungen

Weiterführende Links:
http://support.microsoft.com/kb/323076/en-us
http://msdn.microsoft.com/library/en-us/dncode/html/secure06122003.asp
http://msdn.microsoft.com/library/en-us/secauthz/security/sid_strings.asp

Wichtiges Update:
Microsoft hat inzwischen einen Bug beseitigt, der zu einem unregelmässiges Reset der Berechtigungen auf die Eventlogs zur Folge hatte.
Weitere Infos  finden sich in folgendem MSKB Artikel:
http://support.microsoft.com/default.aspx/kb/939960/en-us


(c) 2003 - heute, Mark Heitbrink, weitere Informationen unter WebSite-Info\Copyright