在我们的网络中,某个 ldap 客户端正在查询我们的 AD 服务器,但没有正确的 CA 信息。这会在域控制器的事件日志中引发(在我看来毫无用处的)系统严重(来源:schannel)事件 ID 36887:
收到以下致命警报:46。
我如何找到配置错误的客户端?
答案1
答案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 错误,则表示您没有证书,因此您不应该关闭您正在使用的任何东西。