查找导致 schannel ldap 错误的客户端

查找导致 schannel ldap 错误的客户端

在我们的网络中,某个 ldap 客户端正在查询我们的 AD 服务器,但没有正确的 CA 信息。这会在域控制器的事件日志中引发(在我看来毫无用处的)系统严重(来源:schannel)事件 ID 36887:

收到以下致命警报:46。

我如何找到配置错误的客户端?

答案1

内置的您无法轻易找到消息的来源。

您需要使用 tcpdump、Microsoft Network Monitor 或 wireshark 来查找导致错误的机器。(许多帖子都提到了同样的事情,那里那里或者那里(参见评论中对 George 关于 tcpdump 的回答))

答案2

如果您能够捕获流向 DC 的流量进行分析,那么您可以使用 Wireshark 的数据包搜索来查找所呈现的证书。

这个 wireshark 过滤器会查找证书交换并过滤掉“LDAP SSL 测试”颁发的任何内容,这将允许您找到不是由您的域颁发的证书。

(ssl.handshake.type == 11) && !(x509sat.uTF8String == "LDAP SSL test")

我没有可用的 AD 示例,因此使用来自 wireshark 示例页面的标准 LDAP over TLS pcap。

答案3

我对 Windows/AD 管理经验很少,但我对 Linux 很熟悉。我想在类似的 Linux 情况下进行跟踪和/或数据包捕获、以调试模式运行程序等……所以我找到了这个:

如何跟踪/调试针对 Active Directory 的 LDAP 连接?

和这个:

https://technet.microsoft.com/en-us/library/cc961809.aspx

增加级别会增加消息的详细程度和发出的消息数量。将 Diagnostics 子项中的条目值设置为大于 3 会降低服务器性能,因此不建议这样做。增加日志记录级别后,应用程序事件日志会很快填满。

这可能是:

https://msdn.microsoft.com/en-us/library/windows/desktop/dd815339(v=vs.85).aspx

跟踪使用 Windows 事件跟踪 (ETW)。要利用 Windows Server 2008 R2 提供的跟踪工具,请从 MSDN 下载站点安装 Microsoft Windows SDK。

谷歌搜索也显示有关在 Windows 服务上执行跟踪等操作的结果,但同样,我对这些都不熟悉。我认为单独观察网络流量可能非常困难,因为你只能看到流量,可能不知道要查找什么,而且你并没有真正看到服务内部发生了什么。

我不知道对 ldap 执行跟踪或使用任何提到的工具/方法会产生什么样的输出,但似乎值得一试。

祝你好运

答案4

怎么样?打开 Windows 防火墙丢弃数据包日志记录。创建一条规则以丢弃端口 636。您的日志将告诉您所有尝试连接到 ldaps 的操作。如果您收到 schannel 错误,则表示您没有证书,因此您不应该关闭您正在使用的任何东西。

相关内容