我第一次在我们的域中构建了 Windows 事件收集器。收集器服务器是 Windows Server 2022。转发到它的所有系统都是 Server 2019。订阅专门用于 AppLocker 日志(我计划将来扩展它,但这是我开始的地方)。收集是由源发起的。我有 11 个系统显示在订阅下的源计算机中,当我运行“wecutil gr <subscription_name>”时确认有 11 个系统。我有两台电脑不是我认为应该有的。在 server1 上,我登录并在 Eventlog-ForwardingPlugin 日志中显示事件 104 - 转发器已成功连接...但 server1 未在 wecutil 输出中列出。Server1 确实有应该转发的最近 AppLocker 事件。Server1 上的 Windows 远程管理日志中也没有最近的错误。不确定为什么它没有列出。
第二台服务器是运行 WEC 的服务器。我希望它还将其 AppLocker 日志放在转发事件中(这样我就可以在一个地方查询所有 AppLocker 事件)。在此服务器的 Eventlog-ForwardingPlugin 日志中,它显示事件 105,错误代码为 2150859027。搜索此日志显示需要对 WSMAN URL ACL 进行更改,我已经进行了两次更改。如果这仍然是一个问题,我认为其他系统都无法正常连接。
任何帮助是极大的赞赏。
答案1
您将需要在 WEF 客户端的 Eventlog-forwardingPlugin/Operational 日志中验证您是否看到一个事件,表明客户端已成功创建订阅(事件 ID 100),并且没有其他事件 ID 103 取消订阅事件。如果使用组策略部署了事件转发目标订阅管理器,则在 WEF 客户端上运行 gpupdate /force 将导致系统重新评估事件订阅,并且您应该会看到 Eventlog-forwardingPlugin/Operational 日志中出现新事件。这对于验证您所做的更改非常方便,而无需等待正常的签入周期启动。
您还需要确认 NETWORK SERVICE 帐户位于客户端的本地事件日志读取器组中。最好使用组策略首选项将其部署到您的 WEF 客户端。对于域控制器,需要将 NETWORK SERVICE 帐户添加到“内置/事件日志读取器”域组。这是用于读取事件并将其发送到 Windows 事件收集器服务器的帐户。另一个故障排除步骤是使用 wevtutil.exe 实用程序来确认网络服务帐户具有您要收集的日志的通道访问权限(例如 wevtutil get-log security)。
客户端将连接到 WEC 服务器,然后应用您授予其访问权限的任何订阅。验证订阅权限是否包括此客户端或客户端所属的组。如果客户端最近添加到此组,则重新启动它以刷新其 Kerberos 令牌。我见过客户端在某些情况下无法保持订阅,并且他们会毫无理由地立即取消订阅。删除 WEC 服务器上的客户端书签注册表项解决了这个问题。该密钥可以在 WEC 服务器上的“HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\EventCollector\Subscriptions<subscription name>\EventSources”中找到。
本页涵盖了设置事件转发的整个过程,并提供了在将事件转发提升到新水平时可以使用的更多信息:
这是另一个很好的资源,其中提供了有关设置源计算机启动的订阅的分步说明。
https://adamtheautomator.com/windows-event-collector/
关于您提到的 WEC 服务器不自行转发事件的第二个问题,palantir GitHub 存储库中发布了一个未解决的问题:
https://github.com/palantir/windows-event-forwarding/issues/37