Access Control Listen für COM
Windows Server XP Service Pack 2 (SP 2) und Windows Server 2003 Service Pack 1 (SP 1) führen Sicherheitsverbesserungen für das Distributed Component Object Model (DCOM) ein. Eine dieser Verbesserungen sind 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 in dem Format vorhanden sein, das vor Windows XP SP 2 und Windows Server 2003 SP 1 verwendet wurde, wobei nur das Zugriffsrecht COM_RIGHTS_EXECUTE verwendet wird, oder es kann im neuen Format vorhanden sein, das in Windows XP SP 2 und Windows Server 2003 SP 1 verwendet wurde, 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.
Hinweis
COM_RIGHTS_EXECUTE muss immer vorhanden sein; das Fehlen dieses Rechts erzeugt eine ungültige Sicherheitsbeschreibung.
Sie dürfen das alte Format und das neue Format nicht innerhalb einer einzelnen ACL kombinieren. entweder müssen alle Zugriffssteuerungseinträge (Access Control Entries, ACEs) 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.
Es folgt 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) und der dritte COM_RIGHTS_EXECUTE und COM_RIGHTS_ACTIVATE_LOCAL (0x9) gewährt.
Um dies zu korrigieren, sollte der erste ACE geändert werden, um COM_RIGHTS_EXECUTE in Kombination mit einem der vier anderen Zugriffsrechte zu gewähren, andernfalls sollten die zweiten und dritten ACEs so geändert werden, dass nur COM_RIGHTS_EXECUTE gewährt werden.
Zugehörige Themen