Active Directory

AdminSDHolder、受保护组和 SDPROP

John Policelli

 

概览:

  • 受保护的组和 SDPROP AdminSDHolder,概述
  • 控制受 AdminSDHolder 组
  • 安全描述符传播程序

内容

AdminSDHolder 对象
默认 ACL
受保护的组
控制受 AdminSDHolder 组
确定是否安全主体受 AdminSDHolder
孤立的 AdminSDHolder 对象
安全描述符传播程序
修改 SDPROP 运行的频率
若要运行的强制 SDPROP
总结

活动目录域服务使用 AdminSDHolder,受保护的组和传播安全描述符程序 (SD 传播程序或 SDPROP 短的) 的安全特权的用户和组从意外修改。inaugural 版本的 Windows 2000 Server 中的 Active Directory 中引入此功能,它相当已知。但是,几乎所有的 IT 管理员已通过此的功能被负面影响,并且,将继续,除非他们完全了解 AdminSDHolder、 受保护的组和 SDPROP 的工作方式。

每个 Active Directory 域有称为 AdminSDHolder,驻留的域系统容器中一个对象。AdminSDHolder 对象具有一个唯一访问控制列表 (ACL),用于进行控制的安全原则特权 (我想要什么调用"受保护"的内置 Active Directory 组的成员的权限组)。每小时,称为 SDPROP 后台进程运行域控制器充当 PDC 模拟器操作主机角色。它比较上所有安全主体 (用户、 组和计算机帐户) 属于 ACL AdminSDHolder 对象上对受保护组的 ACL。如果 ACL 列表不相同,安全主体上的 ACL 是覆盖从 Admin–SDHolder 对象 ACL。鍙 ﹀ 的方式  继承被禁用该安全主体上。

您可以看到多个安全层合并到此功能。首先,应用到属于受保护组的用户权限是更严格,比默认权限应用到其他用户帐户。下一步中,该功能禁用确保受保护的而不考虑它们所在的位置的对象不继承在父级别应用权限这些特权帐户上的继承。最后,运行每 60 分钟 SDPROP 进程标识手动修改 ACL,并反转它们以便与 ACL 匹配的 ACL AdminSDHolder 对象上。

请参阅边栏"的常见的示例 AdminSDHolder、 受保护的组和 SDPROP 的影响"获取此功能在现实世界外观。

AdminSDHolder 对象

所述,每个 Active Directory 域将包含 AdminSDHolder 对象驻留在域的系统分区中。AdminSDHolder 对象的可分辨的名称是"CN = AdminSDHolder,CN = 系统,DC = 域,DC = com,"在 DC = 域,DC = com 是域的可分辨的名称。图 1 显示 TechNet Magazine R2 域 AdminSDHolder 对象。

policellifigure1_hi.gif

图 1 的 AdminSDHolder 对象 (单击图像可查看大图)

默认 ACL

因为 AdminSDHolder 对象用于在过程中安全特权的帐户,ACL AdminSDHolder 对象上的默认值是比其他对象,如域、 OU 和容器 ACL 更严格的。

在默认的 ACL AdminSDHolder,默认值所有者为是很不常见,域管理员组。大多数 Active Directory 对象默认所有者具有该管理员组。这是因为的所有者可以控制对象的和重置权限的有效。

另一个重要设计因素 AdminSDHolder 对象是继承被禁用,从而保证的没有父级别的权限继承。

最后,管理员组、 域管理员和企业管理员组是对属性写入权 AdminSDHolder,这是更严格,比默认权限应用于其他 Active Directory 对象组。

受保护的组

为以前记录,AdminSDHolder 权限应用于属于受保护组的安全主体。受保护组的列表已扩展后 inaugural 发布的 Active Directory TechNet Magazine 服务器中。图 2 显示默认的保护组和用户从 TechNet Magazine 服务器以 Windows Server 2008 R2。

图 2 受保护的默认组
TechNet Magazine 服务器 RTM
使用 SP1 TechNet Magazine 服务器
带有 SP2 的 TechNet Magazine 服务器
TechNet Magazine SP3 的服务器
带 SP4 的 Windows 2000 Server
Windows Server 2003 RTM
Windows Server 2003 SP1
TechNet Magazine SP2
Windows Server 2008 RTM
TechNet Magazine r2
Administrators 帐户操作员 帐户操作员 帐户操作员
域管理员 Administrator Administrator Administrator
企业管理员 Administrators Administrators Administrators
架构管理员 备份操作员 备份操作员 备份操作员
  发行者证书 域管理员 域管理员
  域管理员 域控制器 域控制器
  域控制器 企业管理员 企业管理员
  企业管理员 Krbtgt Krbtgt
  Krbtgt 打印操作员 打印操作员
  打印操作员 Replicator 只读域控制器
  Replicator 架构管理员 Replicator
  架构管理员 服务器操作员 架构管理员
  服务器操作员   服务器操作员

一种常见的受保护的组和 SDPROP AdminSDHolder,影响的

大多数的 Active Directory 管理员识别 AdminSDHolder,保护组和 SDPROP 通过类似这样一个方案:

您委派权限在上一个部门 (OU)。您以后通知您的权限是否为最 — 而不是全部) 在 OU 中的用户帐户。您确定受影响的帐户上 ACL 是不同于您的委派和继承不启用了,以便可以继承瑕佽 В 鍐虫  闂   锛岃)。最初,这似乎工作,但 resurfaces 问题的更高版本。您重新确定的 ACL 不同,且继承被禁用。

我看到个人反复经过此 seeming 无限循环。

这种情况实际发生设计,但是。它被由于 AdminSDHolder,受保护的组和 SDPROP。

受此问题的帐户属于受保护组。鍥犳  ACL 上这些帐户继承来从 AdminSDHolder 对象,域中的并且继承被禁用。这就是为什么您委派的权限不会应用到受影响的用户帐户。时您手动启用这些帐户上的继承,委派的权限添加到 ACL。

但是,时 SDPROP 过程运行在域控制器充当 PDC 模拟器操作主机角色上 — 默认,每 60 分钟 ACL 将被覆盖以匹配 ACL AdminSDHolder 对象上的,且继承被禁用。

受保护组的列表包含 TechNet Magazine 服务器 RTM 中的四个安全组。在 TechNet Magazine 服务器 SP4 和 Windows Server 2003 添加几个其他组,包括管理员和 Krbtgt 帐户。在 TechNet Magazine SP1 和更高版本中,Microsoft 证书发布组从中删除受保护的默认组。在 TechNet Magazine,Microsoft 展开此列表中包括的只读域控制器组。受保护组的列表没有更改 TechNet Magazine R2 的预发布版本生成中。

控制受 AdminSDHolder 组

在我的经验中这些默认设置的一个子集受保护组 AdminSDHolder 导致问题。渚嬪的方式  许多组织使用打印操作员组中,为打印服务管理而不是 Active Directory 管理。但是,打印操作员组是受保护的组,因为它具有在域控制器上默认情况下提升权限。一种最佳做法是删除此组具有在域控制器上的提升的权限。如果您执行遵循此最佳做法 (和您应该 !),您可能不需要保护 AdminSDHolder 具有此组。

您可以排除默认值的一个子集从该 AdminSDHolder 过程中保护组包括:

  • 帐户操作员
  • 服务器操作员
  • 打印操作员
  • 备份操作员

这种能力受 AdminSDHolder 控件组通过 Windows 2000 Server 和 Windows Server 2003 的 RTM 版本的修补程序推出,包含在最新 Service Pack 中提供 Windows Server 2003 和 Windows Server 2008 的 Windows Server 2008 R2 在 RTM 版本中。此修补程序的详细信息,请访问 Delegated 权限不可用,继承是自动禁用的

通过修改 dsHeuristic 标志启用能够受 AdminSDHolder 控件组。这是其中的每个字符包含一个全域性设置值的 Unicode 字符串。字符位置 16 解释为十六进制值的最左侧的字符处于位置 1。因此,仅有效值为"0"通过"f"。图 3 的中所示,每个操作员组将有一个特定的位。

图 3 dsHeuristic 运算符位
若要排除的组 二进制值 十六进制值
0 帐户操作员 0001 1
1 服务器操作员 0010 2
2 打印操作员 0100 4
3 备份操作员 1000 8

时可以将多个组排除 AdminSDHolder,尤其是因为您可以排除多个组合这种情况变得更复杂渚嬪的方式  帐户操作员和服务器的运算符或帐户操作员和备份操作员。若要处理此问题,只需添加的每个组的二进制值,然后将结果转换为十六进制值。例如,要排除在打印操作员和备份操作员组,采用二进制值,打印操作员组 (0100) 并将其添加为该备份操作员的二进制值组 (1000),这等于 1100年。然后将二进制之和 (1100) 转换为十六进制值 (C)。

为了便于此任务有点,图 4 列出二进制和十六进制格式中的所有可能组合。

图 4 dsHeuristic 值不包括组的组合
若要排除的组 二进制值 十六进制值
无 (默认) 0 0
帐户操作员 1 1
服务器操作员 10 2
帐户操作员
服务器操作员
0001 + 0010 = 0011 3
打印操作员 100 4
帐户操作员
打印操作员
0001 + 0100 = 0101 5
服务器操作员
打印操作员
0010 + 0100 = 0110 6
帐户操作员
服务器操作员
打印操作员
0001 + 0010 + 0100 = 0111 7
备份操作员 1000 8
帐户操作员
备份操作员
0001 + 1000 = 1001 9
服务器操作员
备份操作员
0010 + 1000 = 1010 一个
帐户操作员服务器操作员
备份操作员
0001 + 0010 + 1000 = 1011 B
打印操作员
备份操作员
0100 + 1000 = 1100 C
帐户操作员
打印操作员
备份操作员
0001 + 0100 + 1000 = 1101 D
服务器操作员
打印操作员
备份操作员
0010 + 0100 + 1000 = 1110 E
帐户操作员
服务器操作员
打印操作员备份操作员
0001 + 0010 + 0100 + 1000 = 1111 F

在决定您想要排除哪些的组后您可以修改 dsHeuristics 属性。请详细的过程参阅侧栏的"如何 dsHeuristics 属性用于排除组从 AdminSDHolder。"

确定是否安全主体受 AdminSDHolder

受 AdminSDHolder 非常大量的默认用户和组。要记住的一点是用户受 AdminSDHolder 如果安全或分发组中有直接的或可传递成员身份。通讯组是包含的因为可以将通讯组转换为一个安全组。

假设一个用户属于称为加拿大 IT 通讯组列表。加拿大 IT DL 是 ; 北美 IT 安全组的成员北美 IT 安全组是在管理员组的成员。因为用户的可传递组成员身份包括在管理员组 (by virtue of 组嵌套)、 AdminSDHolder 受用户的帐户。

还有很容易的方法来确定哪些用户和组 AdminSDHolder 保护您的域中。您可以查询 adminCount 属性以确定由 AdminSDHolder 对象是否受保护的对象。下面的示例使用 ADFind.exe 为工具可以从 joeware 下载。网络。

  • 若要查找的 AdminSDHolder 受保护的域中的所有对象,键入:
Adfind.exe -b DC=domain,DC=com -f "adminCount=1" DN
  • 若要查找的 AdminSDHolder 受保护的域中的所有用户对象,键入:
Adfind.exe -b DC=domain,DC=com -f "(&(objectcategory=person)(objectclass=user)(admincount=1))" DN
  • 若要查找受 AdminSDHolder 域中的所有组,键入:
Adfind.exe -b DC=domain,DC=com -f "(&(objectclass=group)(admincount=1))" DN

注意:在前面的示例中替换 DC = 域,DC = com 域的可分辨名称。

孤立的 AdminSDHolder 对象

当从受保护组中删除用户 adminCount 属性的用户帐户被变为 0。 但是,继承不重新启用用户帐户上。 鍥犳  用户帐户不再接收从该 AdminSDHolder 对象的 ACL 但它也不继承任何权限从父对象。 此问题的常见术语是"孤立的 AdminSDHolder 对象"。没有自动的机制的对象不再属于受保护组 ; 修复继承您必须手动处理孤立 AdminSDHolder 对象。 Microsoft 已开发并可供 TechNet Magazine 脚本将帮助您在以前的受保护组成员的用户帐户上 re-enabling 继承的。 若要到 VB 脚本转到 Delegated 权限不可用,继承是自动禁用的

安全描述符传播程序

SDPROP 是在域控制器充当 PDC 模拟器操作主机角色运行一个背景过程。 默认情况下, SDPROP 运行每 60 分钟。 SDPROP 用于比较的用户和组的受保护组成员的 ACL。 如果 ACL 相同,SDPROP 不会按 ACL。 但是,不同 ACL 时它的覆盖从 AdminSDHolder 对象 ACL。

修改 SDPROP 运行的频率

如果运行 SDPROP 的 60 分钟的默认频率不足够,您可以更改它创建或修改在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters 子项 AdminSDProtectFrequency 项。

如果不存在此注册表项,则使用默认频率 (60 分钟)。

您可以配置到任意一分钟之间和两个的时间频率。 您必须输入的秒数创建或修改注册表项时。 下面的命令将配置运行每 10 分钟 (600 秒),SDPROP:

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /V AdminSDProtectFrequency /T REG_DWORD /F /D 600

注意: 修改该子项不推荐,因为这样做可以提高 LSA (本地安全机构) 的处理开销。

若要运行的强制 SDPROP

您也可以强制 SDPROP 中您正在测试的更改或您不能等待所配置的间隔的情况下运行。 强制运行 SDPROP 涉及手动初始化 SDPROP 线程计算在 Active Directory 中的对象的继承的权限。 可以通过执行以下步骤在域控制器充当 PDC 模拟器操作主机角色上的实现此过程:

  1. 请转到开始。 单击运行。 键入 LDP.exe。 单击“确定”。
  2. 在 LDP 控制台中连接菜单上单击连接。
  3. 在连接对话框键入您希望连接到服务器字段,并确保在端口字段列出了 389 服务器名称。 单击“确定”。
  4. 在连接菜单上单击绑定。
  5. 在绑定窗口中选择与当前登录的用户选项的在绑定或选择该绑定使用凭据选项。 如果选择后者输入想要将绑定的凭据。 单击“确定”。
  6. 在浏览菜单中上, 选择修改。
  7. 在修改对话框中,将 DN 字段保留为空。 在属性字段中的类型 FixUpInheritance。 键入是到值的字段。 选择在添加操作然后单击输入。 图 5 显示修改窗口中应。
  8. 在修改对话框框中,单击运行。 详细信息窗格将类似于图 6 中突出显示文本。

policellinewfigure5_hi.gif

图 5 的更改窗口。当强制 SDPROP 以运行更改对话框中,单击运行。详细信息窗格将类似于图 6 中突出显示的文本。 (单击图像可查看大图)

policellinewfigure6_hi.gif

图 6 呼叫修改 LDP.exe 中的操作。(单击图像可查看大图)

姝 ゆ 椂 SDPROP 应初始化。 在 SDPROP 过程所需的时间量取决于 Active Directory 环境中的大小。 越大环境,在更长时间需要运行该过程。 您可以监视计数器在 NTDS 性能对象来确定何时 SDPROP 完成由计数器值为 0 的 DS 安全传播事件。

总结

在 AdminSDHolder 是一种重要的安全功能,在 Active Directory 中。 AdminSDHolder,受保护的组和安全描述符传播程序帮助安全用户帐户包含提升的 Active Directory 权限。 从 Windows 2000 Server 发展 AdminSDHolder 功能 TechNet Magazine。 在此从演变而来种 Microsoft 已扩展都 AdminSDHolder 受保护,引入了能够在 Admin–SDHolder 中排除特定的组并添加能够控制 SDPROP 频率运行对象的数目。

大多数的 Active Directory 管理员已 AdminSDHolder,将介绍,有意或无意中。 已试图为您提供 AdminSDHolder 是什么,它的工作原理与哪些清理需从一些有用的调整一起等受保护组中删除用户时很好的了解。 希望将此信息有助于防止您正在捕获关闭保护 AdminSDHolder 功能在下次您委托或 Active Directory 权限中删除。

如何使用组排除 AdminSDHolder dsHeuristics 属性

dsHeuristics 属性可用于从保护的 AdminSDHolder 排除特定的组。 下面的说明大纲修改 Windows Server 2008 R2 dsHeuristics 属性的步骤:

  1. 登录到域控制器或具有在远程服务器管理员工具 (RSAT) 安装的成员计算机上。

  2. 请转到开始。 单击运行。 键入 adsiedit.msc,然后单击确定。

  3. 在 ADSI 编辑控制台右键单击 ADSI 在控制台树中。 选择连接到。

  4. 在连接设置窗口中从选择一个公认的命名上下文下拉列表中选择配置。 单击“确定”。

  5. 该控制台树中展开配置,展开服务,,展开 Windows NT。 右键单击在目录服务节点,然后选择属性。

  6. 在 CN =,选择 dsHeuristics 目录服务属性窗口。 单击编辑。

  7. 在字符串属性编辑器窗口中,如果它设置复制 dsHeuristics 为现有的值。

  8. 在字符串属性编辑器窗口中将 dsHeuristics 值替换您希望如何设置,如 000000000100000f 帐户操作员、 服务器操作员、 打印的运算符和备份操作员组中排除。 图 A 显示在字符串属性编辑器窗口。

    注意: 替换为将零值的第一部分是您可能已经在 dsHeuristics。 确保您具有正确的数字向上"f"的计数或者,要设置任何位。

  9. 单击确定在字符串属性编辑器窗口中。 单击确定 CN = 目录服务属性窗口。

policellifigurea_hi.gif

图 A 字符串属性编辑器窗口(Click the image for a larger view)

John Policelli,目录服务、 MCTS、 MCSA、 ITSM、 iNet +,网络 + 和 A + Microsoft MVP 是专门针对解决方案的 IT 顾问与多个十组合体系结构、 安全、 战略规划和灾难恢复规划成功。 在过去九年他重点一直身份和访问管理和提供的加拿大的最大的安装,Active Directory 的一些认为领导。 操作 Active Directory 域服务 2008年方法 (Sams 发布,2009年) 的作者 Policelli。