freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

域内权限传递和组策略传递的讨论
2022-11-24 20:15:37
所属地 湖北省

前言

在一个大型的域中一般会有很多的用户和计算机,不同用户和机器的访问权限和策略配置依赖域中的两个重要元素OU和组,本文将详细介绍这二者的应用场景和权限继承问题

组 (group)

组是账号的集合。通过向一个组分配权限,可以完成对一系列用户的权限操作,域管就是一个组。按照用途划分,组分为通讯组和安全组-

  • 通讯组:日常中接触的比较多的就是邮件组,通过向一个通讯组发送邮件,实现邮件群发,但是通讯组不能控制对资源的访问
  • 安全组:安全组是权限的集合。比如运维对公司的网络进行管理,需要为其分配额外的管理权限,就可以设置一个运维组,为整组赋权,然后将所有运维拉进这个组实现权限配置。一个用户可以属于多个组,那么它将拥这些组的权限。

    组权限作用范围

    安全组根据其权限作用范围划分为:
    域本地组(Domain Local group)
    顾名思义,就是本域内的本地组。不适用于林,适用于本域。可包含林内的账户,通用组,全局组。其他域内的通用组要在本域拥有权限,一般都是加入这个域的域本地组。比如说一个林里面,只有林根域有Enterprise Admins这个组,这是个通用组。然后其他子域 的域本地组Administrators会把林根域的Enterprise Admins加进里面,所以林根域的Enterprise Admins组用户才在整个林内具备管理员权限。如果想要一个只允许访问同一个域中的资源的组,那么使用域本地组即可。
    • 通用组(Universal group)
    上面已经简单提过了通用组,典型例子是Enterprise Admins这个组。在林的场景下比较有用。组内成员会在GC内复制。如果你想要一个可以访问林中任何东西的组,并且可以在林中包含任何账户,请使用通用组。
    全局组 (Global group)
    全局组比较复杂,前面说了。在单域内用域本地组,在林中使用通用组。全局组应该说是一种比较折中的方案,他可以在林中使用,但是只能包含本域内的账户。全局组的使用范围是本域以及受信任关系的其他域。最为常见的全局组是Domain Admin,也就是我们常说的域管。因为全局组只能包含本域内账户,因此来自一个域的账户不能嵌套在另一个域中的全局组中,这就是为什么来自同一个域的用户不符合在外部域中的域管的成员资格(由于其全局范围的影响)。

组织单元 (OU)

组织单位(Organization Unit),简称OU,是一个容器对象,将域中的对象组织成逻辑组,帮助网络管理员简化管理组。组织单位包含用户,计算机,工作组,打印机,安全策略,其他组织单位等。可以在组织单位基础上部署组策略,统一管理组织单位中的域对象。 在企业域环境里面,我们经常看到按照部分划分的一个个OU

OU委派

如果我们想允许某个用户把其他用户拉近OU,而不赋予这个用户域管权限,我们可以在这个OU给这个用户委派 添加成员的权限。组织单位的委派其实就是赋予某个域内用户对OU的某些管理权限。这些权限体现在ACL里面。

OU和组的区别

组织单位跟组是两个完全不同的概念。组是权限的集合。OU是管理对象的集合。比如我们需要对一个学校的学生进行统一管理,那我们可以设置个OU,然后把拉近这个OU,这样就可以进行集中管理。

OU权限的传递

这里先举一个简单的例子:某公司存在深圳分公司,视深圳分公司为一个独立的域,指定在办公室工作的人员为文员OU,在文员OU中分为人事OU,财务OU等,当域管要管理文员OU时,会创建一个组策略并施加到文员OU上,比如,所有人密码三个月过期,那么这个时候人事OU和财务OU默认都会继承这条配置,倘若组织有要求,财务OU的密码过期时间要另外设置,那么这时财务OU不再继承密码三个月的过期时间,而是按照单独配置的组策略进行执行。
简单来说,如果一个OU的某个属性如果没有被单独配置组策略,那么它会继承父OU的策略,如果单独配置了这个属性,那就不再受父OU的影响。

组权限的传递

在域内讨论权限问题时,是一定要是涉及到ACL(访问控制列表)的,每一个用户都有sid,也有其对应组的sid,当他当问某个资源时,会出示自己的所有sid,资源的拥有者来判断是否允许用户访问。这里举一个例子:

1669291989_637f5fd50e1e9fc89b985.png!small?1669291988900
当A 访问安全对象D的时候
D 查看A的用户sid,以及组sids。首先到第二条(因为DENY优先于第一条的allow)进行匹配,没匹配上,然后到第一条ACE进行判断。允许sid 为50 的对象进行访问。A的用户sid 为50,因此允许A 对象访问。
当B 访问安全对象D的时候
D 查看B的用户sid,以及组sids。首先到第二条进行匹配,拒绝sid 为13的对象访问,发现B 的其中一个组sid 为13,拒绝B访问。
当C 访问安全对象D的时候
D 查看C的用户sid,以及组sids。首先到第二条ACE进行判断。没匹配上,然后匹配第一条,又没匹配上,因此拒绝C访问
要注意的是,当一个资源对访问对象进行权限校验时,如果对象没有被明确授权或拒绝,则是默认被拒绝访问
那么接下来看域内组继承问题

1669291995_637f5fdb6cbd84b806d2b.png!small?1669291995051
如图蓝色组为父组,红色组是它的子组,那么:
红组将权限 1 作为已授予的权限来继承,并将其余权限作为未明确指定的权限来继承。红组的每个成员均继承这些权限。此外,红组组的成员将继承任何其他额外设置的权限
绿色用户是红组的子成员
他将权限 1 作为已授予的权限来继承、将权限 2、3、4 和 6 作为未指定的权限来继承,由于红组明确拒绝了绿色用户对权限5的继承,因此他将权限 5 作为已拒绝的权限来继承。

1669292000_637f5fe0c696720e59cbe.png!small?1669292000447

如果为属于多个组的用户启用组继承,系统在检查凭据时将考虑所有父组的权限。用户会被拒绝已在任何父组中显式拒绝的任何权限,并且用户会被拒绝保持为完全未指定的任何权限。因此,只会授予用户已在一个或多个组中(显式或通过访问级别)授予并且从未显式拒绝的那些权限。如图:绿色用户是两个不相关的组的成员。从蓝组中,该用户将权限 1 和 5 作为“已授予”的权限来继承,将其余的权限作为未指定的权限来继承;但是,由于绿色用户也属于红组,并且红组已被显式拒绝权限 5,因此绿色用户从蓝组继承的权限 5 将被覆盖。
这里提到了权限覆盖,对此做出解释:
权限覆盖是一种权限行为,也即在子对象上设置的权限将覆盖在父对象上设置的权限。在以下情况下会发生权限覆盖:
• 通常,在子对象上设置的权限会覆盖在父对象上设置的相应权限。
• 通常,在子组或组成员上设置的权限会覆盖在组上设置的相应权限。

# 系统安全 # 企业安全 # 网络安全技术
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录