ixe*_*013 6 windows-server-2008 active-directory replication ad-lds
我在同一个子网上有两个 LDS 服务器。他们复制得很好。如果我更改属性,它会在 15 秒后复制。
LDS 配置为遵守密码策略。当用户多次尝试错误密码时,他的帐户将被锁定,并lockoutTime相应地设置该用户的属性。
但lockoutTime没有复制那么紧迫。事实上,它不会被复制,除非目录中的某处有另一个更改。锁定时间属性将被复制。
这是(已编辑的 Wireshark)跟踪。它显示正常的复制流量
No. Time Protocol Length Info
133 16:23:02 DRSUAPI 562 DsGetNCChanges request
134 16:23:02 DRSUAPI 3042 DsGetNCChanges response
152 16:23:17 DRSUAPI 562 DsGetNCChanges request
157 16:23:17 DRSUAPI 242 DsGetNCChanges response
230 16:24:57 DRSUAPI 562 DsGetNCChanges request
231 16:24:57 DRSUAPI 2930 DsGetNCChanges response
246 16:25:12 DRSUAPI 562 DsGetNCChanges request
Run Code Online (Sandbox Code Playgroud)
在那之后,我锁定了用户(使用FOR循环和ldifde)。什么也没发生,直到我放弃并更改description用户的属性,然后大约 15 秒后我看到复制通过。
1984 16:31:05 DRSUAPI 562 DsGetNCChanges request
1985 16:31:05 DRSUAPI 2930 DsGetNCChanges response
Run Code Online (Sandbox Code Playgroud)
复制锁定时间和描述。如此处所述,如果我设置lockoutTime=0,则在 15 秒后进行常规复制!
我已启用复制诊断。实例的日志中没有显示任何内容,因为没有复制。当复制触发时,我看到一堆事件 1239 为最新属性,两个 1240 事件。一个用于属性lockoutTime,一个用于 description(我曾经触发复制)。
我启用了站点之间的更改通知,重新启动了两个服务,但没有任何区别。可能是因为两台服务器在同一个子网上。
在Active Directory的技术规范明确列出lockoutTime作为紧急属性复制之一。
什么会阻止lockoutTime属性的紧急复制?
(通过向 Microsoft 拨打支持电话的结果回答我自己的问题)
这是 AD-LDS 中的一个错误(错误检查 ID 354126)。它影响Windows Server 2008,我不知道Server 2012。
问题是没有通知发送到副本(既不紧急也不正常)。当帐户锁定存储在DB中时,LDS不会更新全局通知列表。因此,只有在计划的复制启动后才会发生复制。
解决方法是创建一个调用的计划任务
repadmin /syncall localhost:389
Run Code Online (Sandbox Code Playgroud)
如果没有任何内容可复制,此调用将生成大约 42k 的网络流量。
解决这个问题的另一种方法是……什么也不做。该错误使攻击者猜测密码的机会加倍。由于用户通常不直接调用LDS,因此很难被利用。即使他们这样做了,这个错误也只会增加他们的机会。