listes Access Control pour COM
Windows Server XP Service Pack 2 (SP2) et Windows Server 2003 Service Pack 1 (SP 1) introduisent des améliorations de sécurité pour le modèle DCOM (Distributed Component Object Model). L’une de ces améliorations est des droits d’accès plus spécifiques à utiliser dans les listes de contrôle d’accès (ACL). Les droits d’accès sont les suivants :
COM_RIGHTS_EXECUTE 1
COM_RIGHTS_EXECUTE_LOCAL 2
COM_RIGHTS_EXECUTE_REMOTE 4
COM_RIGHTS_ACTIVATE_LOCAL 8
COM_RIGHTS_ACTIVATE_REMOTE 16
Pour assurer la compatibilité descendante, une liste de contrôle d’accès peut exister dans le format utilisé avant Windows XP SP 2 et Windows Server 2003 SP 1, qui utilise uniquement le droit d’accès COM_RIGHTS_EXECUTE, ou il peut exister dans le nouveau format utilisé dans Windows XP SP 2 et Windows Server 2003 SP 1, qui utilise COM_RIGHTS_EXECUTE avec une combinaison de COM_RIGHTS_EXECUTE_LOCAL, COM_RIGHTS_EXECUTE_REMOTE, COM_RIGHTS_ACTIVATE_LOCAL et COM_RIGHTS_ACTIVATE_REMOTE.
Notes
COM_RIGHTS_EXECUTE doit toujours être présent; l’absence de ce droit génère un descripteur de sécurité non valide.
Vous ne devez pas mélanger l’ancien format et le nouveau format au sein d’une seule ACL ; toutes les entrées de contrôle d’accès (ACE) doivent accorder uniquement le droit d’accès COM_RIGHTS_EXECUTE, ou elles doivent toutes accorder des COM_RIGHTS_EXECUTE avec une combinaison de COM_RIGHTS_EXECUTE_LOCAL, COM_RIGHTS_EXECUTE_REMOTE, COM_RIGHTS_ACTIVATE_LOCAL et COM_RIGHTS_ACTIVATE_REMOTE.
Voici un exemple de liste de contrôle d’accès incorrectement mise en forme :
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)
Notez que la première entrée de contrôle d’accès (ACE) accorde COM_RIGHTS_EXECUTE (0x1) uniquement, tandis que la deuxième ACE accorde COM_RIGHTS_EXECUTE, COM_RIGHTS_EXECUTE_LOCAL et COM_RIGHTS_ACTIVATE_LOCAL (0xb), et la troisième accorde COM_RIGHTS_EXECUTE et COM_RIGHTS_ACTIVATE_LOCAL (0x9).
Pour corriger cela, le premier ACE doit être modifié pour accorder COM_RIGHTS_EXECUTE en combinaison avec l’un des quatre autres droits d’accès, sinon les deuxième et troisième ACE doivent être modifiés pour accorder uniquement COM_RIGHTS_EXECUTE.
Rubriques connexes