Sdílet prostřednictvím


Seznamy řízení přístupu pro COM

Windows Server XP Service Pack 2 (SP 2) a Windows Server 2003 Service Pack 1 (SP 1) zavádí vylepšení zabezpečení modelu DCOM (Distributed Component Object Model). Jedním z těchto vylepšení je konkrétnější přístupová práva pro použití v seznamech řízení přístupu (ACL). Přístupová práva jsou:

COM_RIGHTS_EXECUTE 1
COM_RIGHTS_EXECUTE_LOCAL 2
COM_RIGHTS_EXECUTE_REMOTE 4
COM_RIGHTS_ACTIVATE_LOCAL 8
COM_RIGHTS_ACTIVATE_REMOTE 16

Aby bylo možné zajistit zpětnou kompatibilitu, seznam ACL může existovat ve formátu použitý před Windows XP SP 2 a Windows Server 2003 SP 1, který používá pouze přístupové právo COM_RIGHTS_EXECUTE, nebo může existovat v novém formátu, použitý v systému Windows XP SP 2 a Windows Server 2003 SP 1, který používá COM_RIGHTS_EXECUTE společně s kombinací COM_RIGHTS_EXECUTE_LOCAL, COM_RIGHTS_EXECUTE_REMOTE, COM_RIGHTS_ACTIVATE_LOCAL a COM_RIGHTS_ACTIVATE_REMOTE.

Poznámka

COM_RIGHTS_EXECUTE musí být vždy přítomny; absence tohoto práva generuje neplatný popisovač zabezpečení.

 

Nesmíte kombinovat starý formát a nový formát v rámci jednoho seznamu ACL; všechny položky řízení přístupu (ACL) musí udělit pouze COM_RIGHTS_EXECUTE přístupové právo, nebo všechny musí udělit COM_RIGHTS_EXECUTE společně s kombinací COM_RIGHTS_EXECUTE_LOCAL, COM_RIGHTS_EXECUTE_REMOTE, COM_RIGHTS_ACTIVATE_LOCAL a COM_RIGHTS_ACTIVATE_REMOTE.

Následuje příklad nesprávně formátovaného seznamu 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)

Všimněte si, že první položka řízení přístupu (ACE) uděluje práva COM_RIGHTS_EXECUTE (0x1), zatímco druhá uděluje COM_RIGHTS_EXECUTE, COM_RIGHTS_EXECUTE_LOCAL a COM_RIGHTS_ACTIVATE_LOCAL (0xb), a třetí uděluje COM_RIGHTS_EXECUTE a COM_RIGHTS_ACTIVATE_LOCAL (0x9).

Chcete-li tento problém vyřešit, měla by být změněna první ACE tak, aby udělovala COM_RIGHTS_EXECUTE v kombinaci s jedním z ostatních čtyř přístupových práv, nebo by se podle toho měly změnit druhá a třetí ACE tak, aby udělovaly pouze COM_RIGHTS_EXECUTE.

vylepšení zabezpečení DCOM v systému Windows XP Service Pack 2 a Windows Server 2003 Service Pack 1

zabezpečení v COM