减少 Active Directory 攻击面

本部分重点介绍要实现的可减少 Active Directory 安装的攻击面的技术控制措施。 本部分包含下列信息:

  • 实现最小特权管理模型:侧重于确定日常管理中使用高特权帐户所带来的风险,并提供可实施的建议来减少特权帐户带来的风险。

  • 实现安全管理主机:介绍部署专用安全管理系统的原则,以及一些适用于安全管理主机部署的示例方法。

  • 保护域控制器免受攻击:讨论策略和设置,这些策略和设置尽管与实现安全管理主机的建议类似,但包含一些特定于域控制器的建议,有助于确保域控制器和用于管理它们的系统受到良好保护。

Active Directory 中有权限的帐户和组

本部分提供有关 Active Directory 中特权帐户和组的背景信息,旨在说明 Active Directory 中特权帐户和组之间的共性和差异。 通过了解这些区别,无论你是逐字实现最小特权的管理模型中的建议,还是选择为组织自定义这些建议,你都可以获得适当保护每个组和帐户所需的工具。

内置特权帐户和组

Active Directory 有助于委派管理,并支持分配权利和权限时的最小特权原则。 默认情况下,在域中拥有帐户的“常规”用户能够读取目录中存储的大部分数据,但只能更改目录中非常有限的一组数据。 需要额外特权的用户可以被授予目录中内置的各种“特权”组中的成员身份,以便他们可以执行与其角色相关的特定任务,但无法执行与其职责无关的任务。 组织还可以创建针对特定工作职责定制的组,并为其授予精细的权利和权限,使 IT 人员能够执行日常管理功能,而无需授予超出这些职能所需的权利和权限。

在 Active Directory 中,三个内置组是目录中的最高特权组:Enterprise Admins、Domain Admins 和 Administrators。 以下各部分介绍了其中每个组的默认配置和功能:

Active Directory 中的最高特权组

企业管理员

Enterprise Admins (EA) 是仅存在于林根域中的组,默认情况下,它是林中所有域中的 Administrators 组的成员。 林根域中的内置 Administrator 帐户是 EA 组的唯一默认成员。 EA 可获得权利和权限,使它们可以实施林范围的更改(即影响林中所有域的更改),例如添加或删除域、建立林信任或提高林功能级别。 在经过精心设计并实现的委派模型中,仅当首次构造林或进行某些林范围的更改(例如建立出站林信任)时,才需要 EA 成员身份。 EA 组获得的大部分权利和权限都可以委派给特权较低的用户和组。

域管理员

林中的每个域都有自己的 Domain Admins (DA) 组,该组是该域的 Administrators 组的成员,也是加入域的每台计算机上的本地 Administrators 组的成员。 域的 DA 组的唯一默认成员是该域的内置 Administrator 帐户。 DA 在其域中“无所不能”,而 CA 只具有林范围的特权。 在经过精心设计并实现的委派模型中,只有在紧急情况下(例如,域中的每台计算机上都需要具有较高权限的帐户)才需要 Domain Admins 成员身份。 尽管本机 Active Directory 委派机制允许委派,可以在紧急情况下使用 DA 帐户,但构建有效的委派模型可能很耗时,许多组织利用第三方工具来加快该过程。

管理员

第三个组是内置域本地管理员 (BA) 组,其中嵌套了 DA 和 CA。 此组可获得目录和域控制器上的许多直接权利和权限。 但域的 Administrators 组对成员服务器或工作站没有特权。 本地特权是通过计算机本地管理员组的成员身份授予的。

注意

尽管这些是这些特权组的默认配置,但三个组中的任何一个组的成员都可以操作目录来获取其他任何组中的成员身份。 在某些情况下,获取另一组中的成员身份并不难,而获取其他组中的成员身份则比较困难,但从潜在特权的角度来看,所有三个组都应被视为实际等同。

Schema Admins

第四个特权组 Schema Admins (SA) 仅存在于林根域中,并且只有该域的内置 Administrator 帐户作为默认成员,这类似于 Enterprise Admins 组。 Schema Admins 组仅在需要修改 AD DS 架构时进行填充,此行为是暂时的,且偶尔才会发生。

尽管 SA 组是唯一可以修改 Active Directory 架构的组(即,目录的对象和属性等基础数据结构),但 SA 组的权利和权限范围比前面所述的组更加有限。 人们还经常发现,组织已经制定了适当的做法来管理 SA 组的成员身份,因为组中的成员身份通常很少需要,并且仅在短时间内使用。 从技术上讲,Active Directory 中的 EA、DA 和 BA 组也是如此,但组织为这些组实施与 SA 组类似的做法的情况很少见。

Active Directory 中受保护的帐户和组

在 Active Directory 中,一组默认的特权帐户和组(称为“受保护的”帐户和组)在保护方面不同于目录中的其他对象。 在任何受保护的组中具有直接或可传递成员身份的任何帐户(无论成员身份是派生自安全组还是通讯组)都会继承此受限安全性。

例如,如果用户是通讯组的成员,而该通讯组又是 Active Directory 中受保护的组的成员,则该用户对象将被标记为受保护的帐户。 当帐户被标记为受保护的帐户时,该对象上的 adminCount 属性的值将设置为 1。

注意

尽管受保护的组中的可传递成员身份包括嵌套分发和嵌套安全组,但属于嵌套通讯组成员的帐户在其访问令牌中将收不到受保护的组的 SID。 但是,通讯组可以转换为 Active Directory 中的安全组,这就是通讯组包含在受保护的组成员枚举中的原因。 如果受保护的嵌套通讯组已转换为安全组,则属于前通讯组成员的帐户随后会在下次登录时在其访问令牌中收到父级受保护的组的 SID。

下表按操作系统版本和 Service Pack 级别列出了 Active Directory 中默认受保护的帐户和组。

Active Directory 中默认受保护的帐户和组(按操作系统和 Service Pack (SP) 版本)

Windows 2000 <SP4 Windows 2000 SP4 -Windows Server 2003 Windows Server 2003 SP1+ Windows Server 2008 -Windows Server 2012
Administrators Account Operators Account Operators Account Operators
管理员 管理员 管理员
管理员 管理员 管理员
域管理员 备份操作员 备份操作员 备份操作员
Cert Publishers
域管理员 域管理员 Domain Admins
Enterprise Admins 域控制器 域控制器 域控制器
企业管理员 企业管理员 企业管理员
Krbtgt Krbtgt Krbtgt
打印操作员 打印操作员 打印操作员
只读域控制器
复制程序 复制程序 复制程序
Schema Admins Schema Admins Schema Admins
AdminSDHolder 和 SDProp

在每个 Active Directory 域的系统容器中,将自动创建一个名为 AdminSDHolder 的对象。 AdminSDHolder 对象的用途是确保一致地强制执行受保护的帐户和组的权限,而不考虑受保护的组和帐户在域中的位置。

称为安全描述符传播程序 (SDProp) 的进程在拥有域的 PDC 模拟器角色的域控制器上运行,每 60 分钟一次(默认设置)。 SDProp 将域的 AdminSDHolder 对象的权限与域中受保护的帐户和组的权限进行比较。 如果任何受保护的帐户和组的权限与 AdminSDHolder 对象的权限不匹配,则受保护的帐户和组的权限将重置为与域的 AdminSDHolder 对象的权限匹配。

受保护的组和帐户会禁用权限继承,这意味着,即使该帐户或组移动到目录中的不同位置,它们也不会从其新的父对象继承权限。 AdminSDHolder 对象也会禁用继承,以便对父对象的权限更改不会更改 AdminSDHolder 的权限。

注意

从受保护的组中删除帐户后,不再将其视为受保护的帐户,但如果未手动更改,则其 adminCount 属性仍设置为 1。 此配置的结果是,对象的 ACL 不再由 SDProp 更新,但该对象仍不会从其父对象继承权限。 因此,该对象可能驻留在已向其委派权限的组织单位 (OU),但以前受保护的对象不会继承这些委托的权限。 可在 Microsoft 支持文章 817433 中找到用于在域中查找和重置以前受保护的对象的脚本。

AdminSDHolder 所有权

Active Directory 中的大多数对象都归域的 BA 组所有。 但是,默认情况下,AdminSDHolder 对象归域的 DA 组所有。 (在这种情况下,DA 不会通过该域的 Administrators 组中的成员身份派生其权限。)

在早于 Windows Server 2008 的 Windows 版本中,对象的所有者可以更改对象的权限,包括授予自己最初没有的权限。 因此,域的 AdminSDHolder 对象的默认权限会阻止属于 BA 或 EA 组的成员的用户更改域的 AdminSDHolder 对象的权限。 但是,域的 Administrators 组的成员可以获取对象的所有权并授予自己额外的权限,这意味着这种保护是基本的,只能保护对象免受非域中 DA 组成员的用户的意外修改。 此外,BA 和 EA(如适用)组有权更改的本地域(EA 的根域)中 AdminSDHolder 对象的属性。

注意

AdminSDHolder 对象的属性 dSHeuristics 允许对被视为受保护的组并受 AdminSDHolder 和 SDProp 影响的组进行有限的自定义(删除)。 如果实现了此自定义项,应仔细考虑此自定义,尽管在一些有效情况下,修改 AdminSDHolder 上的 dSHeuristics 很有用。 有关在 AdminSDHolder 对象上修改 dSHeuristics 属性的详细信息,请参阅Microsoft 支持部门文章817433 和附录 C:Active Directory 中的受保护帐户和组。

尽管此处介绍了 Active Directory 中特权最高的组,但还有许多其他组已被授予提升的特权级别。 有关 Active Directory 中的所有默认组和内置组以及分配给每个组的用户权限的详细信息,请参阅附录 B:Active Directory 中的特权帐户和组