Active Directory 林恢复 - 执行初始恢复
此部分包括下列步骤:
还原每个域中的第一个可写域控制器
从林根域中的可写 DC 开始,完成本部分中的步骤以还原第一个 DC。 林根域非常重要,因为它可存储架构管理员组和企业管理员组。 它还有助于维护林中的信任层次结构。 此外,林根域通常保存林的 DNS 命名空间的 DNS 根服务器。 因此,该域的已集成 Active Directory 的 DNS 区域包含林中所有其他 DC 的别名 (CNAME) 资源记录(复制需要这些记录)和全局编录 DNS 资源记录。
恢复林根域后,重复相同的步骤以恢复林中的剩余域。 可以同时恢复多个域;但请始终在恢复子域之前恢复父域,以防止信任层次结构或 DNS 名称解析中出现任何中断。
对于恢复的每个域,均从备份还原一个可写 DC。 这是恢复中最重要的部分,因为 DC 必须有一个数据库,该数据库不受导致林失败的任何因素的影响。 在将受信任备份引入生产环境之前,必须对其进行全面测试,这一点很重要。
然后,执行以下步骤。 有关执行某些步骤的过程,请参阅 AD 林恢复 - 过程。
如果计划还原物理服务器,请确保目标 DC 的网络电缆未连接,因此未连接到生产网络。 对于虚拟机,可以删除网络适配器或使用连接到另一个网络的网络适配器,在与生产网络隔离时,可以在其中测试恢复过程。
由于这是域中的第一个可写 DC,因此必须执行 AD DS 的非权威还原和 SYSVOL 的权威还原。 必须使用 Active Directory 感知的备份和还原应用程序(例如,推荐的“Windows Server 备份”)完成还原操作。 如果主机上支持 Hyper-Vistor 代系 ID,则还可以使用 VM 快照执行非权威恢复。
第一个恢复的 DC 需要 SYSVOL 的权威恢复,因为在从灾难中恢复后,必须使用新实例重启 SYSVOL 文件夹的复制。 在域中添加的所有后续 DC 都必须将其 SYSVOL 文件夹与已选择成为权威的文件夹副本重新同步。
警告
仅对林根域中要还原的第一个 DC 执行 SYSVOL 的权威(或主)还原操作。 对其他 DC 错误地执行 SYSVOL 的主还原操作会导致 SYSVOL 数据产生复制冲突。 执行 AD DS 的非权威还原和 SYSVOL 的权威还原有两个选项:
执行完整服务器恢复,然后强制执行 SYSVOL 的权威同步。 有关详细过程,请参阅执行完整服务器恢复和执行 DFSR 复制的 SYSVOL 的权威同步。
执行完整服务器恢复,然后执行系统状态还原。 此选项要求提前创建两种类型的备份:完整服务器备份和系统状态备份。 有关详细过程,请参阅执行完整的服务器恢复和执行 Active Directory 域服务的非权威还原。
还原并重启可写 DC 后,验证故障没有影响 DC 上的数据。 如果 DC 数据已损坏,请使用其他备份重复步骤 2。
如果还原的域控制器托管操作主机角色,则可能需要添加以下注册表项,以避免 AD DS 在完成可写目录分区复制之前变得不可用:
HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Repl Perform Initial Synchronizations
创建数据类型为 REG_DWORD 且值为 0 的条目。 完全恢复林后,可以将此条目的值重置为 1,这要求重启并持有操作主机角色的域控制器在将自身作为域控制器播发并开始向客户端提供服务之前,通过其已知的副本伙伴成功进行 AD DS 入站和出站复制。 有关初始同步要求的详细信息,请参阅 Active Directory FSMO 角色。
仅在还原并验证数据之后且在将此计算机加入生产网络之前,才继续执行“后续步骤”。
如果怀疑林范围的故障与网络入侵或恶意攻击有关,请重置所有管理帐户的帐户密码,包括企业管理员组、域管理员组、架构管理员组、服务器操作员组、帐户操作员组等的成员。 还需要 krbtgt 帐户完成密码重置过程。 在林恢复的下一阶段安装其他域控制器之前,应先完成管理帐户密码的重置。
在这种情况下,还需替换所有 GMSA 密码,就像管理帐户被接管了一样,攻击者可能已检索了相关信息,从而使他们可以作为 GMSA 进行身份验证。 有关详细信息,请参阅有关黄金 GMSA 攻击的文章。
如果怀疑用户帐户已泄露,则还需要为域中的所有用户规划用户密码重置。
在林根域中第一个还原的 DC 上,捕获所有域范围和林范围的操作主机角色。 需要企业管理员和架构管理员凭据才能根据需要占用林范围的操作主机角色。
在每个子域中,根据需要占用域范围的操作主机角色。 尽管你可能只是暂时保留还原的 DC 上的操作主机角色,但获取这些角色可确保在林恢复过程中此时由哪个 DC 托管这些角色。 在恢复后的过程中,可以根据需要重新分发操作主机角色。 有关获取操作主机角色的详细信息,请参阅获取操作主机角色。 有关在何处放置操作主机角色的建议,请参阅什么是操作主机?。 另请参阅 AD DC 上的灵活单主机操作 (FSMO) 放置和优化。
清理林根域中未从备份还原的所有其他可写 DC 的元数据(域中除第一个 DC 之外的所有可写 DC)。 如果使用 Windows Server 2012 或更高版本或者 Windows 10 或更高版本的 RSAT 随附的“Active Directory 用户和计算机”或“Active Directory 站点和服务”版本,则删除 DC 对象时会自动执行元数据清理。 此外,已删除的 DC 的服务器对象和计算机对象也会被自动删除。 有关详细信息,请参阅清理已删除的可写 DC 的元数据和清理 AD DS 服务器元数据。
如果 AD DS 安装在其他站点的 DC 上,清理元数据可防止产生可能重复的 NTDS 设置对象。 这样做还可能会避免知识一致性检查 (KCC) 在 DC 本身可能不存在时创建复制链接的过程。 此外,元数据清理的一环是,从 DNS 中删除域中所有其他 DC 的 DC 定位符 DNS 资源记录。
在删除域中所有其他 DC 的元数据之前,如果此 DC 在恢复之前是 RID 主机,则不会承担 RID 主机角色,因此无法发出新的 RID。 在事件查看器的系统日志中可能会看到事件 ID 16650,这表示失败,但在清理元数据后,应看到事件 ID 16648,这表示成功。
如果 AD DS 中存储了 DNS 区域,请确保在已还原的 DC 上安装并运行本地 DNS 服务器服务。 如果此 DC 在林失败之前不是 DNS 服务器,则必须在 DC 上安装和配置 DNS 服务器角色,或者需要在还原环境中提供 DNS 服务器。
在林根域中,配置已还原的 DC,将其自己的 IP 地址作为其首选 DNS 服务器。 可以在局域网 (LAN) 适配器的 TCP/IP 属性中配置此设置。 这是林中的第一个 DNS 服务器。 有关详细信息,请参阅对域名系统 (DNS) 客户端设置的建议。
在每个子域中,将使用林根域中第一个 DNS 服务器的 IP 地址的已还原 DC 配置为其首选 DNS 服务器。 可以在 LAN 适配器的 TCP/IP 属性中配置此设置。 有关详细信息,请参阅对域名系统 (DNS) 客户端设置的建议。
在 _msdcs 和域 DNS 区域中,删除元数据清理后不再存在的 DC 的 NS 记录。 检查是否已删除已清理 DC 的 SRV 记录。 若要帮助加快删除 DNS SRV 记录的速度,请运行:
nltest.exe /dsderegdns:server.domain.tld
将可用 RID 池的值提高 100,000。 有关详细信息,请参阅提高可用 RID 池的值。 如果你有理由认为将 RID 池增加 100,000 不足以满足你的特定情形,则应考虑到你的环境的平均 RID 消耗量,确定仍可安全使用的最低增量。 RID 是一种有限的资源,非必要不应用完。
如果在用于还原的备份时间之后在域中创建了新的安全主体,则这些安全主体可能对某些对象具有访问权限。 这些安全主体在恢复后不再存在,因为恢复已还原为备份状态;但是,他们的访问权限可能仍然存在。 如果在还原后未增加可用的 RID 池,则林恢复后创建的新用户对象可能会获得相同的安全 ID (SID),并且可能有权访问这些对象,这与最初预期相反。
例如,可能有了一个新员工。 该用户对象在还原操作后不再存在,因为它是在用于还原域的备份之后创建的。 但是,在还原操作后,分配给该用户对象的任何访问权限都可能会保留。 如果在还原操作后将该用户对象的 SID 重新分配给新对象,则新对象将获取这些访问权限。
使当前 RID 池无效。 当前 RID 池在系统状态还原后无效。 但是,如果未执行系统状态还原,则需要使当前 RID 池无效,以防止还原的 DC 从创建备份时分配的 RID 池重新发出 RID。 有关详细信息,请参阅使当前 RID 池无效。
注意
使 RID 池无效后,首次尝试创建具有 SID 的对象时,将收到错误。 尝试创建对象会触发对新 RID 池的请求。 重试操作成功,因为将分配新的 RID 池。
重置此 DC 的计算机帐户密码两次。 有关详细信息,请参阅重置域控制器的计算机帐户密码。
重置 krbtgt 密码两次。 有关详细信息,请参阅重置 krbtgt 密码。 由于 krbtgt 密码历史记录是两个密码,因此请重置密码两次,以从密码历史记录中删除原始(失败前的)密码。
注意
如果林恢复是为了应对安全漏洞,则还可以重置信任密码。 有关详细信息,请参阅在信任的一端重置信任密码。
如果林具有多个域,并且还原的 DC 在发生故障之前是全局编录服务器,请清除 NTDS 设置属性中的“全局编录”复选框,以从 DC 中删除全局编录。 此规则的例外情况是仅包含一个域的林的常见情况。 在这种情况下,不需要删除全局编录。 有关详细信息,请参阅删除全局编录。
从比用于还原其他域中 DC 的其他备份更新的备份还原全局编录,可能会引入延迟对象。 请考虑以下示例。 在域 A 中,DC1 从在时间 T1 创建的备份还原。 在域 B 中,DC2 从在时间 T2 创建的全局编录备份还原。 假设 T2 比 T1 更新,并且某些对象是在 T1 和 T2 之间创建的。 还原这些 DC 后,DC2(全局编录)保存域 A 的部分副本的数据比域 A 本身保留的数据更新。 在本例中,DC2 保留延迟对象,因为这些对象不存在于 DC1 上。
存在延迟对象可能会导致问题。 例如,电子邮件消息可能不会传递到其用户对象在域之间移动的用户。 将过时 DC 或全局编录服务器重新联机后,用户对象的两个实例都将显示在全局编录中。 这两个对象有相同的电子邮件地址,因此无法传递电子邮件消息。
另一个问题是,不再存在的用户帐户可能仍出现在全局地址列表中。
此外,不再存在的通用组可能仍出现在用户的访问令牌中。
如果还原了作为全局编录的 DC(不论是无意为之还是因为该 DC 是受信任的单独备份),建议在还原操作完成后立即禁用全局编录,防止出现延迟对象。 禁用全局编录标志将导致计算机丢失其所有部分副本(分区),并将自身降级到常规 DC 状态。
如果使用 gMSA 帐户,则可能需要重新创建这些帐户,因为密码生成详细信息可能会暴露给攻击者,请参阅:
如何从黄金 gMSA 攻击中恢复有关如何替换 gMSA 并确保使用安全密钥材料的步骤,请参阅 AD 林恢复 - 恢复多域林中的单个域。
配置 Windows 时间服务。 在林根域中,将 PDC 模拟器配置为从外部时间源同步时间。 有关详细信息,请参阅在目录林根级域中的 PDC 仿真器上配置 Windows 时间服务。
将每个已还原的可写域控制器重新连接到公用网络
在此阶段,应在林根域和其余每个域中还原一个 DC(并执行恢复步骤)。 将这些 DC 加入与环境其余部分隔离的公用网络,并完成以下步骤以验证林运行状况和复制状况。
注意
将物理 DC 加入隔离网络时,可能需要更改其 IP 地址。 因此,DNS 记录的 IP 地址将不正确。 由于全局编录服务器不可用,DNS 的安全动态更新将失败。 在这种情况下,虚拟 DC 更有利,因为它们可以加入新的虚拟网络,而无需更改其 IP 地址。 这是建议将虚拟 DC 作为在林恢复期间还原的第一个域控制器的原因之一。
验证林复制运行状况
验证后,将 DC 加入生产网络,并完成验证林复制运行状况的步骤。
- 若要修复名称解析,请根据需要创建 DNS 委派记录并配置 DNS 转发和根目录提示。
- 运行
repadmin /replsum
来检查 DC 之间的复制状况。 - 如果还原的 DC 不是直接复制伙伴,则可通过在它们之间创建临时连接对象来大大加快复制恢复速度。
- 若要验证元数据清理状况,请运行
Repadmin /viewlist \*
以获取林中所有 DC 的列表。 运行Nltest /DCList:***\<domain\>*
以获取域中所有 DC 的列表。 - 若要检查 DC 和 DNS 运行状况,请运行
DCDiag /v
以报告林中所有 DC 的错误。
将全局编录添加到林根域中的域控制器
出于以下原因和其他原因,需要全局编录:
- 为用户启用登录。
- 启用在每个子域中的 DC 上运行的 Net Logon 服务,以在根域中的 DNS 服务器上注册和删除记录。
尽管最好将林根 DC 设为全局编录,但通常建议将所有 DC 设为全局编录。
注意
在完成林中所有目录分区的完全同步之前,DC 不会作为全局编录服务器播发。 因此,应强制 DC 与林中每个还原的 DC 一起复制。
在事件查看器中监视目录服务事件日志中是否有事件 ID 1119,这表示此 DC 是全局编录服务器,或验证以下注册表项的值是否为 1:
**HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Global Catalog
Promotion Complete**
有关详细信息,请参阅添加全局编录。
在此阶段,应有一个稳定的林,每个域都有一个 DC,并且林中具有一个全局编录。 应对刚刚还原的每个 DC 进行新的备份。 现在,可以通过安装 AD DS 并配置其他全局编录服务器,开始重新部署林中的其他 DC。