Empfohlene Vorgehensweisen und Leitfaden für Verfasser von DACLs für Dienste

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 914392 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
914392 Best practices and guidance for writers of service discretionary access control lists
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Discretionary Access Control Lists (DACLs) für Dienste sind wichtige Komponenten für die Sicherheit von Arbeitsstationen und Servern. Dieser Microsoft Knowledge Base-Artikel erläutert, wie DACLs für Dienste zu interpretieren sind. Außerdem enthält der Artikel einen Leitfaden mit empfohlenen Vorgehensweisen für Verfasser von DACLs für Dienste, den diese beachten sollten, wenn sie Programme entwickeln und deren Sicherheit beurteilen möchten.

Einführung

Der vorliegende Microsoft Knowledge Base-Artikel kann als Leitfaden dazu dienen, die Sicherheit von DACLs für Dienste auf solider Grundlage zu bewerten.

Weitere Informationen

Um die DACLs für einen Dienst anzeigen zu lassen, verwenden Sie den Befehl sc in Verbindung mit dem Argument sdshow wie im folgenden Beispiel aufgezeigt. Dabei steht Dienstname für den Namen des Dienstes, dessen DACLs Sie anzeigen lassen möchten:
sc sdshow Dienstname
Die Ausgabe dieses Befehls sieht etwa wie folgt aus:
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
Diese Beispielausgabe für den Befehl sc zeigt die Sicherheitsbeschreibung eines Dienstes in der SDDL-Syntax (SDDL = Security Descriptor Definition Language). Weitere Informationen zur SDDL-Syntax finden Sie auf der folgenden Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
Wenn Sie die Anfälligkeit einer DACL beurteilen möchten, sind diverse Faktoren zu berücksichtigen. In den folgenden Tabellen wird erläutert, wie die Ergebnisse des Befehls sc zu lesen sind, wie die einzelnen Berechtigungszeichenfolgen zu interpretieren sind, und wie Sie ermitteln, wem die Berechtigung jeweils erteilt wurde.

Sie können die in Klammern eingeschlossenen Zeichenfolgen jeweils einzeln auswerten, indem Sie den folgenden Schlüssel verwenden:
(Allow/Deny;;Berechtigungszeichenfolge;;;SID oder Akronym für integrierte Konten oder Gruppen)
Jedes Paar aus zwei Buchstaben in der Berechtigungszeichenfolge steht für eine bestimmte Berechtigung:
Tabelle minimierenTabelle vergrößern
PaarBerechtigung
CCKonfiguration abfragen (QueryConf)
DCKonfiguration ändern (ChangeConf)
LCStatus abfragen (QueryStat)
SWAbteilungen auflisten (EnumDeps)
RP Starten (Start)
WPAnhalten (Stop)
DTPause
LOAbfragen (Interrogate)
CRBenutzerdefiniert (UserDefined)
GAAllgemein alle (GenericAll)
GXAllgemein Ausführen (GenericExecute)
GWAllgemein schreiben (GenericWrite)
GRAllgemein lesen (GenericRead)
SDLöschen (Del)
RC(RCtl)
WDWDac
WOWOwn

Besondere Vorsicht ist in diesem Zusammenhang bei der Berechtigung "Konfiguration ändern" (ChangeConf (DC)) geboten. Wenn Sie ermitteln möchten, ob Ihr Dienst für einen Angriff anfällig ist, bei dem versucht wird, Berechtigungen zu manipulieren, untersuchen Sie die Berechtigung "ChangeConf". Diese Berechtigung eröffnet ihrem Träger die Möglichkeit, die Konfiguration des Dienstes so zu ändern, dass sie auch für die Binärdatei gilt, die beim Start des Dienstes ausgeführt wird. Auch mit den Berechtigungen "WDac (WD)" und "WOwn (WO)" sollten Sie sehr vorsichtig umgehen, weil beide dazu verwendet werden könnten, die Berechtigungen auf "LocalSystem" (Lokales System) anzuheben. Stellen Sie sicher, dass diese Berechtigungen keinen Benutzern erteilt werden, die eigentlich nur über sehr eingeschränkte Berechtigungen verfügen dürften. Die folgende Tabelle listet die Codes auf, anhand derer der Typ von Benutzer identifiziert wird, dem in der SDDL-Syntax der Zugriff gewährt wird.
Tabelle minimierenTabelle vergrößern
CodeBenutzertyp
DADomänenadministratoren
DGDomänengäste
DUDomänenbenutzer
EDDomänencontroller der Organisation
DDDomänencontroller
DCDomänencomputer
BAVordefinierte (lokale) Administratoren
BGVordefinierte (lokale) Gäste
BUVordefinierte (lokale) Benutzer
LALokales Administratorkonto
LGLokales Gästekonto
AOKonten-Operatoren
BOSicherungs-Operatoren
PODruck-Operatoren
SOServer-Operatoren
AUAuthentifizierte Benutzer
PSSich selbst
COErsteller-Besitzer
CGErstellergruppe
SYLokales System
PUHauptbenutzer
WDJeder
REReplikations-Operator
IUBenutzer mit interaktiver Anmeldung
NUNetzwerkanmeldungsbenutzer
SUDienstanmeldungsbenutzer
RCEingeschränkter Code
WREingeschränkten Code schreiben
ANAnonymous-Anmeldung
SASchemaadministratoren
CAZertifikatsdienste-Administratoren
RSRAS-Servergruppe
EAOrganisationsadministratoren
PAGruppenrichtlinien-Administratoren
RUAliasname, um vorheriges Windows 2000 zuzulassen
LSLokales Dienstkonto (für Dienste)
NSNetzwerkdienstkonto (für Dienste)
RDRemotedesktopbenutzer (für Terminaldienste)
NONetzwerkkonfigurations-Operatoren
MUSystemmonitorbenutzer
LULeistungsprotokollbenutzer
ISAnonyme Internetbenutzer
CYKryptografie-Operatoren:
OWBenutzerrechte-SID
RMRMS-Dienst

Interpretation einer DACL-Zeichenfolge im SDDL-Format

Diese Informationen beschreiben, wie das Beispiel für eine DACL-Zeichenfolge zu interpretieren ist, das Sie am Anfang des Artikels finden. Bei dieser Interpretation wird jeder Eintrag für die Zugriffssteuerung (ACE, Access Control Entry) einzeln aufgeführt.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    Dieser ACE erteilt dem lokalen System (LocalSystem (SY)) die folgenden Berechtigungen:
    • Konfiguration abfragen (QueryConf)
    • Konfiguration ändern (ChangeConf)
    • Status abfragen (QueryStat)
    • Abteilungen auflisten (EnumDeps)
    • Starten (Start)
    • Anhalten (Stop)
    • Pause
    • Abfragen (Interrogate)
    • Benutzerdefiniert (UserDefined)
    • Löschen (Delete)
    • RCtl
    • WDac
    • WOwn
    Dieser ACE ist auf "LocalSystem" beschränkt. Vom Sicherheitsstandpunkt ist dies positiv, weil "LocalSystem" bereits der wirksamste Sicherheitskontext auf der Arbeitsstation ist. Es können also keine umfangreicheren Berechtigungen erschlichen werden.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    Dieser ACE gilt für vordefinierte lokale Administratoren (Built-in local Administrators/BA). Dieser ACE erteilt allen lokalen Administratoren die gleichen Berechtigungen wie der vorherige. Auch dies ist ein sehr wirksamer Sicherheitskontext auf der Arbeitsstation. Auch hier besteht also kein Risiko, dass umfangreichere Berechtigungen erschlichen werden.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    Dieser ACE verleiht jedem authentifizierten Benutzer (Authenticated User/AU) alle zuvor genannten Berechtigungen.
In dem letzten ACE kann ein Benutzer aus einer Gruppe, für die stark eingeschränkte Berechtigungen gelten (zum Beispiel jeder authentifizierte Benutzer), die Konfiguration des Dienstes ändern. Bestandteil der Konfiguration sind auch die beim Starten des Dienstes ausgeführte Binärdatei und das Konto, unter dem der Dienst ausgeführt wird.

Bei der folgenden Beispiel-DACL wird dem authentifizierten Benutzern die Berechtigung "Konfiguration ändern" (ChangeConf) nicht erteilt:
(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPLOCRRC;;;PU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;DT;;;LS)(A;;DT;;;NS)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NO)

Mit dieser DACL werden authentifizierten Benutzern nur die folgenden Berechtigungen eingeräumt:
  • Konfiguration abfragen (QueryConf)
  • Status abfragen (QueryStat)
  • Abteilungen auflisten (EnumDeps)
  • Abfragen (Interrogate)
  • Benutzerdefiniert (UserDefined)
  • RCtl
Bei Erteilung dieser Berechtigungen besteht kein Risiko der Heraufstufung von Berechtigungen über die Gruppe "Authentifizierte Benutzer". Für die Gruppe "Hauptbenutzer" (Power Users/PU) ist bereits eine Heraufstufung zu "LocalSystem" möglich, sodass nicht von einem Heraufstufungsrisiko auszugehen ist. In diesem Beispiel verfügt die Gruppe "Hauptbenutzer" über die gleichen Berechtigungen wie die Gruppe "Authentifizierte Benutzer". Zusätzlich kann die Gruppe "Hauptbenutzer" jedoch auch den Dienst starten (RP). Jetzt sehen wir uns die Gruppe "Lokale Administratoren" (BA) an. Diese Gruppe und die nächste, die Gruppe "Server-Operatoren" (SO), verfügen beide über die Berechtigungen "Konfiguration ändern" (ChangeConf), "WDac" und "WOwn". Dies ist durchaus akzeptabel, weil nur die vertrauenswürdigsten Benutzer Mitglieder der Gruppen "Lokale Administratoren" und "Server-Operatoren" sein sollten.

Der Gruppe "Lokales System" (LocalSystem/SY) werden die gleichen Berechtigungen erteilt wie der Gruppe "Hauptbenutzer". Erstere verfügt jedoch zusätzlich über die Berechtigungen "Anhalten" und "Pause". Dies ist durchaus angemessen. Die nächsten zwei kurzen ACEs verleihen dem lokalen Dienstkonto und dem Netzwerkdienstkonto die Berechtigung, den Dienst anzuhalten. Auch dies ist durchaus angemessen, weil sowohl das lokale Dienstkonto als auch das Netzwerkdienstkonto lokale Konten mit einem großen Wirkungsbereich sind.

Der Gruppe "Netzwerkkonfigurations-Operatoren" (NO) wird jedoch auch die Berechtigung "Konfiguration ändern" (ChangeConf) erteilt. Die Gruppe "Netzwerkkonfigurations-Operatoren" wurde in Windows XP hinzugefügt, um vertrauenswürdigen Benutzern die Möglichkeit zu geben, Netzwerkeinstellungen zu ändern, ohne über vollständige Administratorberechtigungen zu verfügen. Standardmäßig ist die Gruppe "Netzwerkkonfigurations-Operatoren" leer. Diese Gruppe wird zuweilen verwendet, um bestimmten Benutzern Netzwerkkonfigurationsberechtigungen einzuräumen. Diese Berechtigung kann zum Beispiel einem Benutzer mit einem tragbaren Computer erteilt werden. Benutzer in der Gruppe "Netzwerkkonfigurations-Operatoren" können in vielen Fällen physisch auf die betreffenden Computer zugreifen. Der eigentliche Zweck dieser Gruppe ist jedoch, solchen Benutzern keine vollständigen Administratorberechtigungen einräumen zu müssen. Über diese DACL sollte der Gruppe "Netzwerkkonfigurations-Operatoren" daher nicht die Berechtigung "Konfiguration ändern" (ChangeConf) erteilt werden.

Empfohlene Vorgehensweisen

Beschränken Sie die Verwendung von DACLs für Dienste auf Benutzer, die eine bestimmte Zugriffsberechtigung benötigen. Lassen Sie bei der Vergabe der folgenden Berechtigungen besondere Vorsicht walten. Wenn die folgenden Berechtigungen einem Benutzer oder einer Gruppe mit eigentlich stark eingeschränkten Berechtigungen eingeräumt werden, könnten sie dazu missbraucht werden, die Berechtigungen auf dem Computer zu "Lokales System" (LocalSystem) heraufzustufen:
  • Konfiguration ändern (ChangeConf (DC))
  • WDac (WD)
  • WOwn (WO)
Weitere Informationen zu Berechtigungen und Zugriffsberechtigungen finden Sie auf folgender Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

Eigenschaften

Artikel-ID: 914392 - Geändert am: Donnerstag, 15. Februar 2007 - Version: 1.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Service Pack 1
  • Microsoft Windows XP Service Pack 1a
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
Keywords: 
kbinfo KB914392
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com