第9章 AD的守护神与Active Directory委托

发布时间 2023-07-19 12:05:21作者: Evan-whc

第9章 AD的守护神与Active Directory委托

9.1 Group Policy基本概念

GPO由以下两部分组成。

  • Computer Configuration 计算机配置策略管理与机器相关的设置,如磁盘配额、安全审核以及Event Log管理。
  • User Configuration 用户配置策略应用与用户相关的设置,如应用程序配置、Start菜单管理以及文件夹重定向。

9.1.2 策略是可继承和累积的

9.1.3 组策略刷新间隔

  策略每隔90分钟在后台应用一次,而且有高达30分钟的“随机”时间,从而保证域中的数百台甚至数千台计算机能够同时访问域控制器。DC与普通计算机不同,它们每隔5分钟刷新一次组策略。

9.2 Group Policy基本知识

9.2.1 Group Policy的复制是内置的

9.2.2 删除时GPO自我撤销

9.2.3 应用GPO设置不需要登录

9.3 本地策略和Group Policy对象

  当打开Group Policy工具(gpedit.msc)时,该工具自动将焦点设置在本地机器GPO上。管理员可以使用该工具来配置帐户设置(如最小密码长度以及帐户锁定之前尝试登录的失败次数)、建立审核以及指定其他杂项设置。但是,基于域的策略编辑器(Group Policy Management Editor)包括大量对本地策略不可用的设置(包括软件安装和文件夹重定向)。

9.4 创建GPO

  将使用GPMC管理所有基于域的GPO,对于Windows Server 2012 R2来说,需要使用Server Manager安装GPMC。
  在GPMC安装之后,GPMC就出现在Start | Administrator Tools菜单中。一旦从Administrative Tools列表中选择了GPMC,就会打开GPMC工具,并且显示管理计算机拥有成员身份的域。
  在域中创建一个GPO,需要展开GPMC结构,从而可以看到域中已有的所有节点。
在域中创建一个GPO,请遵循下面的操作步骤:
(1)右击Group Policy Objects节点,然后从弹出的菜单中选择New命令。
(2) 在New GPO对话框中,输入GPO的名称(在本示例中为Desktop Security)。然后单击OK按钮。
这样会创建一个称为Desktop Security的空白GPO,但是这个GPO还没有链接到域中的任何容器。此时需要对GPO设置进行配置,然后将GPO链接到站点、域或者OU。为了将GPO链接到Active Directory中的节点,请遵循下面的操作步骤:
(1)右击期望的节点,在本示例中是Desktop OU。
(2) 选择Link an Existing GPO menu选项。
(3) 在Select GPO对话框中,选择Desktop Security GPO,然后单击OK按钮。
注意,Desktop OU已经拥有了一个相关联的链接GPO。如果希望创建一个GPO并将这个GPO链接到OU,那么完全可以一步完成操作。通过右击OU(就此而言可以是域或站点),在弹出菜单中选择Create a GPO in this domain,and link it here选项,这样将在一个单独的操作中执行前面两个操作步骤。
(4) 现在,单击GPO,在本示例中Desktop Security。
  注意,在GPMC右边窗格中有一些与这个GPO关联的选项卡和属性。每个GPO都关联4个选项卡,分别是Scope,Details,Settings和Delegation。
  Scope选项卡帮助GPO的众多方面,其中最重要的细节包括GPO在Active Directory的何处链接至最上面命名为Links的区域和中间命名为Security Filtering的区域。Links区域相当明显,用来列举GPO当前链接的站点、域和OU。Security Filtering区域清楚地指示哪些组和用户拥有应用这个GPO中设置的权限。前面已经引用过这种筛选,当时它们用来控制域中的哪些用户拥有已应用的GPO中的设置,也就是在这个选项卡中添加或者删除它们。该选项卡的最后一个区域是WMI Filtering,列举了GPO链接的WMI筛选器(如果存在的话)。WMI筛选器允许GPO(将计算机帐户作为目标的GPO)依赖于运行WMI查询时计算机的状态。
  Details选项卡帮助记录与GPO创建和状态关联的GPO信息。在这个选项卡中能够记录与GPO相关的GUID、创建日期、版本等信息,还可以配置是启用还是禁用GPO的全部或者部分(计算机和/或用户)。
  Setting选项卡包含与在GPO中配置的设置相关的动态数据,这个选项卡以HTML形式显示设置报告。
  最后一个选项卡是Delegation选项卡,显示GPO管理的当前安全控制。这个选项卡上提供了3种不同级别的GPO管理。其中有两种级别可以编辑GPO,有一种级别只能读取GPO的设置。
  接下来查看并修改这个新建的GPO。返回到GPMC中的Group Policy Objects节点下,右击这个GPO,然后从弹出的菜单中选择Edit命令。这将在一个单独的容器中打开GPME,而且策略对象名称位于命名空间的根部,在本示例中是Desktop Security [HOST.BIGFIRM.COM]Policy,这样可以指示正在查看和编辑的策略。记住,HOST1是BigFirm.com域的域控制器。
  正如前面所讨论,GPME中有两种主要类型的设置。Computer Configuration设置在启动和后台刷新间隔期间应用于计算机帐户;User Configuration设置在用户登录和后台刷新间隔期间应用于用户帐户。
  配置Group Policy设置后,即可关闭GPME窗口。GPME中没有Save或Save Changes选项,当在特定设置上单击OK或Apply按钮时,更改就会写入到GPO中,尽管在策略刷新之前,用户或计算机实际上并不能看到更改。

9.5 修改Group Policy默认行为

  就其本身而言,Group Policy比较神奇,但是你有可能希望调整和控制Group Policy的某些行为。看上去好像是一个循环,但是确实有GPO设置用来控制Group Policy的行为以及Group Policy的一些设置。组策略中的大部分设置都不必进行配置,但是当需要进行一些微小调整时,知道这些设置的话更方便。

Group Policy的策略
  User Configuration节点和Computer Configuration节点中的Administrative Templates(Policies\Administrative Templates\System\Group Policy)下都有控制组策略的GPO设置。Computer Configuration节点中包含许多即将讨论的策略。下面各段将分别概述最重要的配置选项。
用户/计算机/域控制器的组策略刷新间隔(Group Policy refresh intervals for users/computers/domain controllers)这几个单独的策略决定在用户和计算机工作过程中,GPO在后台多久刷新一次。这些参数允许更改默认后台刷新间隔以及调整偏移时间。
  关闭组策略后台刷新(Turn off background refresh of Group Policy)如果启用这个设置,那么策略仅在系统启动和用户登录时刷新。对于分支机构来说,出于性能方面的考虑该设置可能非常有用,因为1500台计算机每90分钟刷新一次的策略可能会导致WAN拥塞。

9.6 Group Policy应用

9.6.1 如何应用Group Policy

在GUI中由下而上执行策略:
GPO冲突方案的基本规则:
规则1 听从最后一个收到的策略
规则2 根据策略在GUI中的出现顺序,自下而上执行策略

9.6.2 使用访问控制列表筛选Group Policy

  到这里还没有接近尾声。尽管看上去好像系统应用了许多策略,但是实际上只应用了一小部分策略,原因是GPO拥有ACL。
  在GPMC中单击任意GPO(在本示例中是Desktop Security GPO),然后查看右边窗格中的Scope选项卡。在Security Filtering区域中,可以看到GPO的ACL。
  正如前面所指出的,Domain Admins和Enterprise Admins拥有Read和Modify权限,而Authenticated Users拥有Read和Apply Group Policy权限。但是,注意,列表中只列举了Authenticated Users。为什么这样呀?因为这只是一个拥有应用这个GPO设置权限的用户、计算机和组的列表。为了查看完整的ACL,必须首先选择Delegation选项卡,然后单击Advanced按钮,显示相当古老的Security Settings对话框。
  有可能碰巧创建了一个GPO来限制桌面,但是又不希望这个GPO应用至特定的用户组。Authenticated Users组包括每个人(用户帐户和计算机帐户),但是不包括来宾,因此这个GPO默认将应用于除来宾之外的每个人,这意味着甚至Domain Admins和Enterprise Admins也将接收该策略设置。为了防止Domian Admins和Enterprise Admins接收这个策略,必须选择Apply Group Policy边上的Deny复选框。这两个组中的成员只需要为其中一个组选择Deny复选框,但是如果Domain Admins和Enterprise Admins的成员并不相同,就需要为两个组都选择Deny复选框。为了防止其他人接收这个策略,可将它们都放入一个安全组中,然后将这个组添加到这个列表中。取消选择Read和Apply Group Policy的Allow的复选框还不够,特殊安全组中的用户还是Authenticated Users中的成员,因此实际上还需要为准许Authenticated Users中的所有成员选择Deny选项。Deny选项优先于Allow选项。Deny选项优先于Allow选项。
  另外,还可以从Scope选项卡的Security Filtering部分删除Authenticated Users组,将所有需要拥有该设置的用户添加到一个安全组中,然后将这个安全组添加到Scope选项卡的Security Filtering部分。
通过这种方式,没有什么可以阻止将个人用户添加到GPO的权限列表中。但是,这样做会产生可怕的安全和管理问题,因为不可能跟踪ACL中整个企业的个人用户。然而,我们强调策略筛选是一个非常强大的功能——你可能说它是一个工具,允许抑制个人或组。但是,在现实世界中,向策略添加ACL可能是一个噩梦,因为没有人能够在两年后推断出为什么这个策略要附加到域中,但是又没有应用至域中的广大用户。

9.6.3 强制和阻止继承

  就像安全筛选可以遏制地毯式的应用策略一样,Block Inheritance设置也是AD节点(或或OU)中的一个特殊设置,用来防止较高级别GPO渗透到较低级别GPO中去。当启用Block Inheritance设置时,较高级别策略的设置将根本不会应用到较低级别的容器上。例如,如果为一个特定OU(假设Brunswick)设置了一个GPO,并且为Brunswick OU建立了所有必需的设置,然而又希望防止Bigfirm域的GPO影响Brunswick OU,就可以在Brunswick OU上启用Block Inheritance设置,那么唯一应用的GPO将是那些链接到Brunswick OU的GPO。
  阻止继承还有一个对立配置。当为GPO打开Enforce时,Block Inheritance设置就对这个强制继承的GPO失效。另外,后续GPO中的设置不能反转启用Enforce的GPO中的设置。例如,如果域管理员在域级别打开了一组非常有争议的设置,这些设置与Brunswick管理员建立自己的OU时使用的策略设置相抵触,通过选择Block Inheritance设置,Brunswick OU有效地逃脱了有争议的设置。但是如果域管理员变聪明了,并且选择了Enforce设置,那么Brunswick OU就无处可逃了。最终域管理员获胜,Brunswick OU中的用户必须和其他人一样忍受这些限制。Enforce击败了Block Inheritance(就像布包石头)。
  与所有的秘密武器一样,Enforce和Block Inheritance设置最好少用。否则,在进行疑难解答时就很难确定GPO应用到何处了,这可能会对网络管理员的心理健康(可能还有工作安全)产生伤害。
  下面概述一下判定哪个Group Policy对象胜出的因素。

  • 按下列顺序检查策略:首先本地GPO,接着站点GPO,接下来是域GPO,再接下来是OU GPO,然后是子OU GPO等。
  • 在任何AD节点(站点、域或者OU)中按在GUI中出现的顺序自下而上检查策略。
  • 如果策略设置冲突,只需要注意检查最后一个GPO,除非已经看到一个声明Enforce的策略。这意味着无论后面有什么样的冲突策略设置,也应该忽略这些设置,因为这个GPO启用了Enforce。
  • 实际应用GPO之前,检查其ACL。如果目标用户或计算机没有Read和Apply Group Policy权限(通常通过组成员身份),就不能应用这个GPO。

9.7 Group Policy设置可能性

下面列举几个示例:

  • 部署软件
  • 限制用户可以运行的应用程序
  • 控制系统设置
  • 设置登录、注销、启动和关闭脚本
  • 简化和限制程序
  • 常规桌面限制

9.7.3 Group Policy首选项

  Windows Server 2012 R2给人印象最深刻的方面之一(不仅与Group Policy相关,而且与整个新OS相关)是组策略首选项(Group Policy preferences,GPP)。Group Policy首选项是Group Policy扩展,通常称为“GPO中的新设置”。这些新设置向GPO添加了3000多个策略设置,而且其中一些策略设置令人相当惊讶。例如,现在可以在大约90分钟内修改环境中所有桌面计算机上的本地Administrator密码,另外还可以控制所有桌面计算机和服务器上的本地Administrators组的成员身份,而且不会删除每台计算机独有的关键服务帐户和其他域组。
  以公司中所有桌面计算机的本地Administrator密码重设问题为例,我们知道这是一个疯狂的会谈。为了实现该设置,遵循以下步骤:
(1)修改一个针对所有桌面计算机的GPO(最好的做法就是将一个GPO链接到包含所有桌面计算机的OU)。
(2)当为GPO启动GPME时,直接跳到Computer Configuration\Preferences\ControlPanel\Local Users and Groups节点。
(3)右击这个节点,然后从弹出菜单中选择【New | Local User】命令,这将打开【New Local User Properties】对话框。
(4) 在这个对话框中,输入希望控制的用户名称,即Administrator。
(5)然后,输入希望使用的密码,并在对话框明确指示的地方再次输入密码。
  这将重设位于管理范围(Scope of Management)中接收这个GPO的所有桌面计算机上本地Administrator帐户的密码。大约两个小时之后,所有连接到域和网络的桌面计算机都将更新设置。