windows组策略与ACL访问控制列表

基础理解

什么是组策略

组策略与工作组没关系,它是许多策略的集合,组策略的组代表的是一组或者说多个,并不代表工作组的组。例如本地安全策略就是组策略的一部分。组策略相当于一张任务计划书。可以分配给不同的部门。

在同一个OU可能会被链接或应用多个GPO,因此有些设置可能会产生冲突。在这种情况下,GPO的优先级决定客户端最终应用哪个设置。具有较高优先级的GPO将覆盖较低优先级的GPO。在GPMC中,数字越小表示GPO的优先级越高。
组策略大体分为如下几种:

组策略分类 处理优先级 管理范围 功能或特点
本地组策略 1 本地计算机 vista之前每台计算机拥有一份本地组策略,之后每隔账户可以拥有一份本地组策略,管理本地计算机
站点组策略 2
域组策略 3 域内机器或者账户 管理域内计算机或者账户
组织单元组策略 4 OU内机器或账户 管理OU内计算机或者账户

这里需要说的是,计算机申请执行策略的时候确实是按照由本地组策略到组织单元组策略这个方向去申请的,但是如果同一个点的策略设置发生冲突,那么后申请的策略的设置会覆盖之前申请的策略的设置,换句话说,组织单元策略是最终的会执行的策略。

可以理解成是一个并集的关系,如果冲突则取跟高优先级的设置。

但例外是如果有强制策略,那么强制策略优先级最高。
在这里插入图片描述

域控上组策略管理的位置

在这里插入图片描述

组织单元组策略

绿色框中就是组织单元。
在这里插入图片描述
组织单元组策略是专门针对某个组织党员设置的组策略例如:
在这里插入图片描述
以上的default domain controllers policy只适用于domain controllers这个组织单元。

域内组策略

在DC直接在服务器管理下面点的那个“组策略管理”即可管理域内组策略,这个组策略只对域内的主机有用。
名字为Default Domain Policy,这个组策略直接作用于域内的每个机器。域内一般还有一个组策略叫做Default Domain Controllers Policy,这种组策略只对域控机器有用。

在这里插入图片描述

扫描二维码关注公众号,回复: 11835727 查看本文章

命令行的命令为gpmc.msc。 它的作用是生成与管理要发行给域内计算机的组策略,我把它叫做域内组策略。
在这里插入图片描述

本地组策略

在这里插入图片描述

本地组策略(Local Group Policy,缩写LGP或LocalGPO)是组策略的基础版本,它面向独立且非域的计算机。至少Windows XP家庭版中它就已经存在,并且可以应用到域计算机。在Windows Vista以前,LGP可以强制施行组策略对象到单台本地计算机,但不能将策略应用到用户或组。从Windows Vista开始,LGP允许本地组策略管理单个用户和组,并允许使用“GPO Packs”在独立计算机之间备份、导入和导出组策略——组策略容器包含导入策略到目标计算机的所需文件。
在这里插入图片描述

深入理解

组策略存储位置

创建组策略其实就是创建组策略单元(GPO),组策略设置对时候本身就分为两部分,分别为计算机设置与用户设置。所以会有两个版本号,一个代表的是计算机设置的版本号,另一个代表用户设置的版本号。每个GPO有唯一的标识符,标识符上面就哦与两组版本号,一组是用户版本号,一个是AD数据库中记录的版本,一个是sysvol共享文件夹中记录的版本:
在这里插入图片描述

GPO在域内是分为两个部分存储的,分别是GPC与GPT。他们两个表示活动目录数据库中记录的组策略版本(即GPC记录的版本)和SYSVOL共享中记录的组策略版本(即GPT的版本),AD版本号和SYSVOL版本号可能会因域控间数据同步不及时导致不一致。查看GPC属性(通过ADSI编辑器)或直接查看GPT(通过gpt.ini文件)看到的版本号信息,则需要通过计算转换。

GPC

在这里插入图片描述
这个版本号要转换为二进制,从左往右前四位代表用户配置版本号,后四位代表计算机配置版本号。
在这里插入图片描述
如上图所示,转换后的16进制为007a0007,因此ad上存储的用户配置组策略版本为0x007a,也就是122
在这里插入图片描述
计算机配置的版本为0x0007也就是7。我们查看真实的配置版本:

在这里插入图片描述

GPT

GPT通过gpt.ini文件存储,里面的版本信息是组策略的sysvol的版本信息。用法是将其转换为16进制,从左往右前四位是用户配置的sysvol版本号,右四位是计算机配置的sysvol版本号。
在这里插入图片描述
在这里插入图片描述
如上图所示,转换后的16进制为007a0007,因此ad上存储的用户配置组策略版本为0x007a,也就是122
在这里插入图片描述
因此版本号为,用户的是122,计算机的是7,都是sysvol,如下图所示
在这里插入图片描述

注册表中的组策略版本

当前应用的组策略信息位于State下的两个节点中,分别是Machine节点包含了计算机配置应用的组策略,里面的版本号就是计算机版本类型的版本号,当前用户SID节点下包含了用户配置应用的组策略,里面的版本号就是用户版本类型的版本号,两个节点下都包含有GPO-List,其下就是各自应用的组策略。
在这里插入图片描述
在这里插入图片描述

ACL访问控制列表

ACL可以控制某个进程是否可以对某个对象进行“增删改查”,也就是控制了某个进程对访问权限。windows会给没个进程创建访问令牌(access token),而被访问对对象在被创建对时候windows会给它一个安全描述符(security descriptor),ACL控制访问权限主要跟这两个参数有关。
ACL相当于是一种计算机内进程想要访问数据的时候都要遵守的约定。每当一个进程想要操作一个对象的时候,操作系统就查询这个对象的安全描述符,然后再记录下这个进程的访问令牌。现在操作系统就有两种数据,一个安全描述符,一个访问令牌。这时候安全描述符就相当于是一个手册,访问令牌就相当于是程序的身份证,操作系统会在安全描述符里面查询当前程序的访问令牌具有何种操作权限,ACL工作原理大概如此。

访问令牌(access token)

当用户登陆成功时,系统将为该用户创建访问令牌,每一个以该用户权限运行的进程都会使用该访问令牌的副本。访问令牌中包含有Security Identifiers(SID),这个sid代表用户的身份。操作系统根据进程的访问令牌来确定此进程是否有进行某项操作的权限。
根据维基百科的解释,访问令牌的内容如下:

1.用户帐户的安全标识符(SID)
2.用户帐户所属的用户群的SIDs
3.一个logon SID,标识当前登录会话
4.用户或用户群的特权清单
5.所有者的SID
6.基本群的SID
7.当用户创建可安全对象(securable object)且没有给出安全描述符时,系统使用的缺省的自主访问控制列表(DACL)
8.访问令牌资源
9.是否为primary或impersonation token
10.限制性SIDs的可选列表
11.当前impersonation级别
12.其他统计

安全标识符SID

SID分为两种:

内置SID
自动分配SID

一般只需要了解内置SID即可,内置SID有:
格式:S-[修订级别]-[权值]-[标识符]

S-1-5-18 (LocalSystem)
S-1-5-19 (LocalService)
S-1-5-20 (NetworkService)
S-1-5-32-544 (Administrators)
S-1-5-32-545 (Users)
S-1-5-32-550 (PrintOperators)

相对标识符RID

一般指的是sid的最后一部分,也就是500,501等,不同的RID代表不同的身份。举例如下:
格式:S-[修订级别]-[权值]-[标识符]-[相对标识符]

S-1-5-21-xxxx-xxx-500 (Administrator) 本地管理员
S-1-5-21-xxxx-xxx-501 (Guest) 本地来宾用户
S-1-5-21-xxxx-xxx-1004 (Workstaion) 本地工作站、
在这里插入图片描述

安全描述符

安全描述符里存储着对应访问令牌所具有的权限信息,说得简单点就是有点类似于一个字典,不同的安全令牌对应着不同的权限,这些是一一对应的且都存储在安全描述符内,而这个安全描述符在对象被创建的时候就生成了。
安全描述符大概有四个部分:
1.对象所有者 (SID) 的安全标识符
2.对象的默认组的 SID(一般没啥用)
3.SACL 指定如果进程对此对象执行了某个操作会记录何种日志。
4.DACL 指出了允许和拒绝某用户或用户组对对象的某种操作。如果一个对象没有DACL,那么就是说这个对象是任何人都可以拥有完全的访问权限。


附录:
gpedit.msc 打开本地组策略
gpupdate /force 同步组策略
gpmc.msc 打开域内组策略(只能在域控上执行)

猜你喜欢

转载自blog.csdn.net/qq_41874930/article/details/108152568