Freigeben über


Zugriffssteuerungslisten für COM

Windows Server XP Service Pack 2 (SP 2) und Windows Server 2003 Service Pack 1 (SP 1) bieten Sicherheitsverbesserungen für das Distributed Component Object Model (DCOM). Eine dieser Verbesserungen ist spezifischere Zugriffsrechte für die Verwendung in Zugriffssteuerungslisten (ACCESS Control Lists, ACLs). Die Zugriffsrechte sind:

COM_RIGHTS_EXECUTE 1
COM_RIGHTS_EXECUTE_LOCAL 2
COM_RIGHTS_EXECUTE_REMOTE 4
COM_RIGHTS_ACTIVATE_LOCAL 8
COM_RIGHTS_ACTIVATE_REMOTE 16

Zur Bereitstellung der Abwärtskompatibilität kann eine ACL im Format vorhanden sein, das vor Windows XP SP 2 und Windows Server 2003 SP 1 verwendet wird, das nur das Zugriffsrecht COM_RIGHTS_EXECUTE verwendet, oder es kann im neuen Format vorhanden sein, das in Windows XP SP 2 und Windows Server 2003 SP 1 verwendet wird, das COM_RIGHTS_EXECUTE zusammen mit einer Kombination aus COM_RIGHTS_EXECUTE_LOCAL verwendet, COM_RIGHTS_EXECUTE_REMOTE, COM_RIGHTS_ACTIVATE_LOCAL und COM_RIGHTS_ACTIVATE_REMOTE.

Anmerkung

COM_RIGHTS_EXECUTE müssen immer vorhanden sein; Das Fehlen dieses Rechts generiert einen ungültigen Sicherheitsdeskriptor.

 

Sie dürfen das alte Format und das neue Format nicht innerhalb einer einzigen ACL kombinieren; Entweder alle Zugriffssteuerungseinträge (Access Control Entries, ACEs) dürfen nur das COM_RIGHTS_EXECUTE Zugriffsrecht gewähren, oder alle müssen COM_RIGHTS_EXECUTE zusammen mit einer Kombination aus COM_RIGHTS_EXECUTE_LOCAL, COM_RIGHTS_EXECUTE_REMOTE, COM_RIGHTS_ACTIVATE_LOCAL und COM_RIGHTS_ACTIVATE_REMOTE gewähren.

Im Folgenden sehen Sie ein Beispiel für eine falsch formatierte ACL:

Revision 1
Sbz1 0
Control 0x8004
    SE_DACL_PRESENT
    SE_SELF_RELATIVE
Owner: S-1-5-21-1597522630-148096252-1166023319-500 (no name mapped)
Group: S-1-5-21-1597522630-148096252-1166023319-500 (no name mapped)
DACL:
    AclRevision 2
    Sbz1 0
    AclSize 128
    AceCount 4
    Sbz2 0
    Ace[0]
        AceType 0: ACCESS_ALLOWED_ACE_TYPE
        AceFlags 0
        AceSize 36
        AccessMask 0x1
        S-1-5-21-1597522630-148096252-1166023319-500 (no name mapped)
    Ace[1]
        AceType 0: ACCESS_ALLOWED_ACE_TYPE
        AceFlags 0
        AceSize 20
        AccessMask 0xb
        S-1-5-18 (Well Known Group: NT AUTHORITY\SYSTEM)
    Ace[2]
        AceType 0: ACCESS_ALLOWED_ACE_TYPE
        AceFlags 0
        AceSize 20
        AccessMask 0x9
        S-1-5-11 (Well Known Group: NT AUTHORITY\Authenticated Users)
SACL:
    (null)

Beachten Sie, dass der erste Zugriffssteuerungseintrag (Access Control Entry, ACE) nur COM_RIGHTS_EXECUTE (0x1) gewährt, während der zweite ACE COM_RIGHTS_EXECUTE, COM_RIGHTS_EXECUTE_LOCAL und COM_RIGHTS_ACTIVATE_LOCAL (0xb) gewährt und der dritte COM_RIGHTS_EXECUTE und COM_RIGHTS_ACTIVATE_LOCAL (0x9) gewährt.

Um dies zu korrigieren, sollte die erste ACE geändert werden, um COM_RIGHTS_EXECUTE in Kombination mit einem der anderen vier Zugriffsrechte zu gewähren, oder die zweite und dritte ACEs sollten geändert werden, um nur COM_RIGHTS_EXECUTE zu gewähren.

DCOM-Sicherheitsverbesserungen in Windows XP Service Pack 2 und Windows Server 2003 Service Pack 1

Sicherheit in COM