创建只读域控制器 (RODC) 帐户时,会显示 Active Directory 域服务安装向导中的“指定密码复制策略”向导页,但前提是您在该向导的“欢迎使用 Active Directory 域服务安装向导”页中选中了“使用高级模式安装”复选框。

密码复制策略的工作原理

密码复制策略 (PRP) 决定了 RODC 如何执行凭据缓存。凭据缓存指用户或计算机凭据的存储。

默认情况下,当由 RODC 提供服务的站点中的用户或计算机尝试进行身份验证以访问域时,RODC 无法验证它们的凭据。RODC 会将此身份验证请求转发给可写域控制器。但是,可能有一组安全主体需要能够在由 RODC 提供服务的站点中进行身份验证,即便在它们无法连接到可写域控制器的情况下也是如此。

例如,您可能要对某个分支机构中的一组用户和计算机进行身份验证,即便无法在该分支机构和包含可写域控制器的站点之间建立连接,您仍希望能够执行此操作。要解决此问题,您可以为该 RODC 配置 PRP,以允许在 RODC 上缓存这些用户的密码。如果在 RODC 上缓存帐户密码,当无法连接到可写域控制器时,RODC 可以对这些帐户进行身份验证。

PRP 相当于一个访问控制列表 (ACL)。它决定了是否允许 RODC 缓存帐户的凭据。RODC 收到用户或计算机登录请求后,会尝试从运行 Windows Server 2008 或 Windows Server 2008 R2 的可写域控制器复制该帐户的凭据。可写入域控制器会参考 PRP 以确定是否应缓存该帐户的凭据。如果 PRP 允许缓存该帐户,可写域控制器会将该帐户的凭据复制到 RODC,然后 RODC 对它们进行缓存。此后,该帐户再进行登录时,RODC 可以参考缓存的凭据对其进行身份验证。RODC 不需要联系可写入域控制器。

操作中的 PRP

PRP 是由两个包含安全主体(用户、计算机和组)的多值 Active Directory 属性定义的。每个 RODC 计算机帐户都有以下两个属性:

  • msDS-Reveal-OnDemandGroup,也称为“允许列表”

  • msDS-NeverRevealGroup,也称为“拒绝列表”

为了帮助管理 PRP,还为每个 RODC 维护了另外两个与 PRP 相关的属性。

  • msDS-RevealedList,也称为“显示列表”

  • msDS-AuthenticatedToAccountList,也称为“身份验证列表”

msDS-Reveal-OnDemandGroup 属性指定可以在 RODC 上缓存哪些安全主体的密码。默认情况下,此属性有一个值,即Allowed RODC Password Replication Group。由于此域本地组中默认没有任何成员,因此默认情况下不能在 RODC 上缓存任何帐户密码。

本部分介绍如何使用“允许列表”、“拒绝列表”、“显示列表”和“身份验证列表”属性。

当 RODC 请求复制用户密码时,该 RODC 联系的可写 Windows Server 2008 域控制器允许或拒绝该请求。为了允许或拒绝请求,该可写域控制器会检查发出请求的 RODC 的“允许列表”和“拒绝列表”的值。

如果 RODC 所请求密码的帐户位于该 RODC 的“允许列表”(而不是“拒绝列表”)中,则允许该请求。

下图显示了此操作的过程。

用于应用密码复制策略的过程

“拒绝列表”优先于“允许列表”。

例如,假设有一个组织的管理员安全组名称为 Admins。该组织有一个名为 S1 的站点和一个名为 Emp_S1 的安全组,且 Emp_S1 安全组包含 S1 站点中的员工。该组织有另外一个名为 S2 的站点和一个名为 Emp_S2 的安全组,且 Emp_S2 安全组包含 S2 站点中的员工。

站点 S2 只有一个 RODC。Bob 是在站点 S2 工作的管理员。因此,他同时属于 Emp_S2 和 Admins 组。安装站点 S2 中的 RODC 时,会将下表中列出的安全组添加到 PRP 中。

安全组 PRP 设置

Admins

拒绝

Emp_S2

允许

根据指定的策略,只有属于 Emp_S2 组而且不属于 Admins 组成员的凭据才能在站点 S2 的 RODC 上缓存。同时属于 Emp_S1 组和 Admins 组成员的凭据将无法在该 RODC 上缓存。Emp_S2 组成员的凭据可能能够在该 RODC 上缓存。Bob 的凭据无法在该 RODC 上缓存。

默认 PRP 设置

每个 RODC 都有一个 PRP,它定义了哪些帐户的密码可以被复制到 RODC,哪些帐户的密码被明确拒绝复制到 RODC。默认策略指定下表中的组和设置。

组名 PRP 设置

Administrators

拒绝

服务器操作员

拒绝

备份操作员

拒绝

帐户操作员

拒绝

拒绝的 RODC 密码复制组

拒绝

允许的 RODC 密码复制组

允许

“拒绝的 RODC 密码复制组”默认包含以下域帐户成员:

  • 证书发行者

  • Domain Admins

  • Enterprise Admins

  • 企业域控制器

  • 企业只读域控制器

  • 组策略创建者所有者

  • krbtgt

  • Schema Admins

“允许的 RODC 密码复制组”默认不包含任何成员。

默认 PRP 通过确保默认不存储任何帐户密码以及明确拒绝在 RODC 上存储安全敏感帐户(例如 Domain Admins 组成员)的密码,提高了 RODC 安装的安全性。

修改默认 PRP

在创建 RODC 帐户时或者在创建 RODC 帐户之后,都可以修改默认 PRP。若要在创建 RODC 帐户之后修改默认 PRP,请在“Active Directory 用户和计算机”管理单元的“域控制器”组织单位 (OU) 中右键单击该 RODC 帐户,单击“属性”,然后单击“密码复制策略”选项卡。(若要打开“Active Directory 用户和计算机”管理单元,请单击“开始”,指向“管理工具”,然后单击“Active Directory 用户和计算机”。)

若要在创建 RODC 帐户时向默认 PRP 中添加帐户,请单击“指定密码复制策略”向导页上的“添加”,然后指定是允许还是拒绝将帐户的密码存储在 RODC 上。然后,使用“选择用户、计算机或组”对话框选择要添加的帐户。

必须在 PRP 中包括相应的用户、计算机和服务帐户,RODC 才能在本地满足身份验证和服务票证请求。如果未将分支机构用户将用于登录网络的计算机帐户包括在“允许列表”中,RODC 将无法在本地满足服务票证请求,并且它将依赖访问可写域控制器来满足这些请求。如果广域网 (WAN) 脱机,这可能会导致服务中断。

“拒绝”设置优先于“允许”设置。不管是通过直接方式还是间接方式(因为该用户是指定安全组的成员或嵌套在指定安全组内)为给定用户指定这两种设置,均不能将该用户的密码存储在 RODC 上。但是,需要注意的是,如果指向可写域控制器的 WAN 连接可用,不能在 RODC 上存储密码的用户仍能使用该 RODC 进行登录。尽管用户的密码没有复制到 RODC,但可写域控制器可以通过 WAN 对用户进行身份验证,从而允许其登录。

下表介绍了三种 PRP 配置示例的优点和缺点。

示例 优点 缺点

不缓存任何帐户(默认)。

最安全 - 通过可写域控制器对用户进行身份验证,并且用户从 RODC 获取其组策略以实现快速的策略处理。

任何人不可脱机访问 - 必须使用 WAN 登录。

缓存大多数帐户。

易于进行密码管理 - 该配置适合于更为关注提高 RODC 的可管理性而不是更为关注安全性的组织。

更多密码可能会暴露给 RODC。

缓存少数帐户。

为需要进行脱机访问的用户启用此功能,但与缓存大多数帐户相比,该配置提供了更高的安全性。

此方法需要进行更多的管理。您可能必须将用户和计算机映射到具有 RODC 的每个分支机构。您可能还需使用工具(如 repadmin /prp)将已通过 RODC 身份验证的帐户移动到“允许列表”中的某个组,或者需使用 Identity Lifecycle Manager (ILM) 自动完成此过程。

以下部分详细介绍了这些示例。

不缓存任何帐户

此示例提供了最安全的配置。除 RODC 计算机帐户及其特殊 krbtgt 帐户外,没有密码复制到 RODC。但是,用户和计算机身份验证需依赖于 WAN 的可用性。此示例的优点是只需对默认设置进行很少(或不需要)额外的管理配置。

您可以选择将自己的安全敏感用户组添加到“拒绝列表”中。虽然默认情况下不会缓存任何帐户,但将自己的安全敏感用户组添加到“拒绝列表”,可防止这些组被意外添加到“允许列表”中,进而防止之后在 RODC 上缓存其密码。

请注意,委派的 RODC 管理员帐户不会自动添加到“允许列表”中。作为最佳实践,请将委派的 RODC 管理员帐户添加到“允许列表”中,从而确保无论指向可写域控制器的 WAN 连接是否可用,委派的管理员均可登录到 RODC。

缓存大多数帐户

此示例为最简单的管理模式,它使用户和计算机身份验证不再依赖于 WAN 的可用性。在本示例中,您将用代表大部分用户和计算机群体的组来填充所有 RODC 的“允许列表”。“拒绝列表”不允许缓存安全敏感用户组(如 Domain Admins)的密码。但是,大多数其他用户都可以根据需要缓存其密码。您可以选择将自己的安全敏感用户组添加到“拒绝列表”中。

此配置最适合于 RODC 的物理安全没有危险的环境。例如,您可以用这种方式为部署在安全位置的 RODC 配置 PRP,着重利用其较低的复制和管理要求这一优势。

重要

您还必须将用户的计算机帐户添加到“允许列表”中,以便在 WAN 脱机时这些用户可以在分支机构登录。

缓存少数帐户

此示例限制可以缓存的帐户。通常,您需要分别针对每个 RODC 进行定义,即每个 RODC 都有其允许缓存的一组不同的用户和计算机帐户。此示例通常针对在特定物理位置工作的一组用户。

此示例的优势在于,在 WAN 脱机时,只有一组用户能够登录网络,并由分支机构中的 RODC 对其进行身份验证。同时,密码泄露的范围也得到了限制,因为只有少量用户的密码可以被缓存。

在此示例中,有一项与填充“允许列表”和“拒绝列表”关联的管理开销。没有默认的自动方法可从已通过给定 RODC 身份验证的已知安全主体列表中读取帐户,也没有默认的方法可以使用这些帐户填充“允许列表”。您可以使用 repadmin /prp move 命令将这些帐户移动到“允许列表”中的组,或者使用脚本或应用程序(如 ILM)构建一个过程。

虽然您可以将用户或计算机帐户直接添加到“允许列表”中,但最好为每个 RODC 创建一个安全组,将其添加到“允许列表”中,然后再将用户和计算机帐户添加到该安全组中。这样,便可以使用标准组管理工具(如“Active Directory 用户和计算机”管理单元)或命令行工具(DsaddDsmod)来管理可在 RODC 上缓存哪些帐户。

repadmin /prp move 命令要求您指定安全组。如果指定的安全组不存在,此命令将创建该组并将其添加到“允许列表”中。

与上一个示例相同,还必须将适当的计算机帐户添加到“允许列表”中。


目录