再聊Windows的访问控制(Access Control)(二)

        上一篇介绍了Windows访问控制机制中的一个重要组成部分——访问令牌,今天再介绍一下安全描述符(Security Descriptor)。

安全描述符的结构
 

       安全描述符可被视作可保护对象的一个持久属性。每个可保护对象都有一个安全描述符,可能是由对象的创建者明确指定的,也可能是在创建时继承父对象或由系统赋予的默认安全标识符。
安全描述符用于保护可保护对象,其中包含了与可保护对象相关的安全信息:

  • 拥有该可保护对象的用户的SID(所有者SID)及其所属的主要组(Primary Group)的SID。
  • 一个自主访问控制列表(DACL, Discretionary Access Control List),其中规定了该可保护对象对特定用户和组允许及拒绝的访问权限。
  • 一个系统访问控制列表(SACL, System Access Control List),指定为哪些用户或组的什么访问操作生成审计记录。
  • 一组控制位,用于控制ACE的继承等方面的语义。
访问控制列表(ACL)


        安全描述符可以包含一个自主访问控制列表DACL和一个系统访问控制列表SACL,但这两个成分都不是必需的。DACL规定对特定用户或组允许或拒绝的访问权限,SACL控制系统如何为对对象的访问尝试生成审计记录。
        按照国际通行的计算机系统安全标准,Windows系统位于C2级别,该级别要求系统管理员必须能够审计安全相关事件,并且这些审计信息必须只有经过授权的管理员才能查阅。安全描述符的SACL就是为了支持这一要求而设置的。SACL中的ACE指定什么样的访问尝试会触发审计记录,ACE指定一个受信任实体,一组访问权限,以及一组标志用来指示系统是记录该组权限对应的成功的访问尝试,还是失败的访问尝试,还是两种都记录。要读写对象的SACL,线程必须有SE_SECURITY_NAME特权。

        访问控制列表中可能包含若干个访问控制项(ACE, Access Control Entry),也有可能一个也没有。每条ACE指定一组访问权限以及一个受信任实体(Trustee)的SID,规定对该受信任实体是允许还是拒绝这组访问权限规定的访问操作,亦或是对这些访问尝试生成审核记录。
        受信任实体可以是用户账户、组账户、登录会话等可被ACE实施访问控制的实体。用户账户除了指人类用户所使用的账户,还包括某些程序(如Windows服务)用来登录到系统所使用的账户;登录会话用于实施针对用户注销本次会话前的访问控制。

ACE

        ACE是ACL的组成元素。ACE控制或监视来自受信任实体对可保护对象的访问。在DACL中,每个ACE指定一个受信任实体的SID和一组访问权限,根据ACE类型来决定当该SID尝试这组访问权限相应的访问请求时是允许还是拒绝。在SACL中,也是每个ACE指定一个受信任实体的SID和一组访问权限,根据一组标志来决定当该SID尝试这组访问权限相应的访问请求时是记录成功的访问、失败的访问还是两者都记录。ACE的结构大致如下:

Windows系统共定义了六种ACE,其中三种适用于所有类型的可保护对象,叫“标准ACE(Standard ACE)”,另外三种叫“对象特定ACE(Object-specific ACE)”,适用于目录服务中的对象。

以下是三种标准ACE:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值