我们目前正在开展一个所谓的分拆项目,即大公司 OLDCO 的一部分被单独出售,新实体建立了一个新的 Active Directory 域 NEWCO。在过渡阶段,OLDCO 域控制器和 NEWCO 域控制器以及客户端共享 IP 地址空间。NEWCO 域暂时信任 OLDCO 域,因此例如可以使用 OLDCO 用户帐户对 NEWCO 客户端机器进行身份验证。
显然,到过渡阶段结束时,OLDCO AD 将消失,可能是通过仅在某个遥远的未来发生的网络分离。
我们现在正在寻找一种方法来确保我们可以测试应用程序对 OLDCO 的依赖性。即,如果我们已将应用程序 X 移动到作为 NEWCO 域成员的新服务器,我们如何确保我们不再使用任何 OLDCO 资源而不可能注意到。
我们考虑实施一些可以轻松打开和关闭的防火墙规则,这将暂时阻止任何迁移的应用程序服务器对 OLDCO 域控制器的任何访问,作为“不再存在”的最佳模拟,但这会是一个有效的测试吗?
不太确定 AD 内部结构,例如,我不知道 NEWCO 域控制器是否可能缓存来自 OLDCO 域的任何数据,只要信任存在并且该缓存可能在 OLDCO DC 将到期的时间点过期已经消失了,在看起来很成功的测试之后,问题会困扰我们很长时间。
以前有没有人成功地完成过这样的项目,并且可能有任何其他想法如何模拟,例如在 AD 森林中进行分割?
这是一个复杂的举动。
在您的 OLDCO 域控制器中激活成功的帐户登录审核。在安全日志中,您将看到之后针对 DC 进行的所有登录尝试,因此最后您将看到是否仍有针对它的身份验证,因为凭据未从您的 NEWCO 域控制器缓存。
请注意,它可以创建大量日志。确保有一个大 C 或将日志移动到其他地方。
对于这样的举动,您也有很多事情要考虑;
如果您使用 Exchange,您最终可能会使用链接邮箱进行迁移。开始为此做好准备。
如果您使用 Windows 身份验证,则需要测试 SQL 实例,因为日志记录的所有用户信息都不适合 newco 域。要测试该部分,可以更轻松地在 newco 上使另一个 sql server 联机并迁移数据以测试您的应用程序在生产之外是否仍然可以正常工作。
对于文件资源,您必须检查每个文件夹的安全组才能复制它。当 oldco 域失效时,定义到共享中的旧安全组将不再起作用。
您使用的是半径还是证书服务器?ETC...
如您所见,要正确计划您的搬迁,您需要做很多文件。
标准的非只读域控制器不包含您担心的缓存。只有存在于复制拓扑中的正确集成的域控制器才能缓存彼此相关的信息,例如最新向量 (UTDV) 和其他 NTDS 细节,可以使用
ntdsutil
.如果您正在测试的是南北流量(内部-外部)流量,我会考虑使用防火墙规则进行测试,以模拟与相关资源的断开连接。
如果您正在测试的是东西向流量(内部-内部)流量,我会考虑使用组策略对象 (GPO) 在域控制器上启用高级审核策略。您最感兴趣的是
Audit account logon events
和Audit logon events
下可用的设置Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Audit Policy
。您的 GPO 应与针对 BUILTIN 域控制器组的安全筛选相关联。然后,您可以收集以下 ID 的事件查看器事件:
我提供了一个 PowerShell 片段,您可以在相关域控制器上本地(以管理员身份)运行过去十二 (12) 小时内的所有匹配事件:
Get-EventLog -LogName Security -After ((Get-Date).AddHours(-12)) | Where-Object { $_.EventId -in 4624, 4625, 4648, 4634, 4647, 4672, 4678, 4679, 4770, 4771, 4774, 4776, 4778 } | Select TimeWritten, Source, EventID, InstancedId, Message | Sort TimeWritten -Descending | Format-Table Auto