当我讲事件转发时,听众中经常有人提到数据过载问题。但是,通过事件转发,我们可以准确地选择我们想要收集的事件。在我的示例中,每当 AppLocker 阻止客户端上的文件时,我都会转发事件。
本指南将遵循五个步骤:
- 在服务器上配置事件服务
- 配置事件订阅
- 配置事件转发订阅组策略
- 在事件查看器中查看转发的事件
- 使用 PowerShell 将转发的事件写入 SQL 数据库
在 Server 2016 上配置事件服务^
在开始之前,我们需要配置 WinRM。要显示可用的侦听器,请运行以下命令:
您需要测试 WinRM 是否配置正确。最简单的方法是运行以下命令。您需要为 WinRM 可以使用的服务器准备好证书。
打开事件查看器,然后单击订阅。将出现一个提示,询问您是否要启动 Windows 事件收集器服务。
注意:如果您使用 HTTP,则事件转发使用端口 5985;如果使用 HTTPS(您应该这样做!),则使用端口 5986。
启动事件收集器服务
配置事件订阅^
现在我们已经运行了 Windows 事件收集器服务,我们可以创建一个可以应用于客户端的订阅。我们首先创建一个新的Subscription:
创建新订阅
我们给它一个名字,然后选择Source computer started。
Applocker 事件
然后,您选择应该在事件中发送的 Active Directory (AD) 组。在此示例中,我使用Domain Computers。
添加域计算机
然后我们选择我们要转发的事件:
选择事件
这里我们只过滤关键和错误事件。在By log部分,我们选择所有AppLocker日志:
查询过滤器
然后我们返回并配置高级订阅设置,我们可以在其中选择 HTTP 或 HTTPS。您还必须选择希望客户端发送事件的时间间隔。
- 正常:每 15 分钟
- 最小化带宽:每 6 小时
- 最小化延迟:每 30 秒
高级订阅设置
现在我们准备开始收集事件。
配置事件转发订阅组策略^
我们现在可以配置分配给服务器和客户端的组策略,以便它们从服务器读取订阅并发送订阅中包含的事件。
相应的组策略是:计算机配置 > 策略 > 管理模板 > Windows 组件 > 事件转发 > 配置目标订阅管理器。
事件转发 GPO
我们可以配置一个服务器列表来读取订阅。要添加服务器地址,您只需键入 Server= <FQDN of the collector>,如下面的屏幕截图所示。如果只使用 HTTPS,则需要改用以下语法。
HTTPS://<收集器的 FQDN>/wsman/SubscriptionManager/WEC,Refresh=<Refresh interval in seconds>,IssuerCA=<客户端认证证书的指纹>
事件转发服务器
在事件查看器中显示转发的事件^
现在我们已经将组策略应用于客户端,我们将开始将事件转发到服务器。在事件查看器中,我们可以看到有多少客户端已读取订阅并正在发送事件。
活动订阅计数
上面的屏幕截图显示了从 AppLocker 转发的事件。
AppLocker 事件
在上面的示例中,我们可以看到 AppLocker 阻止了 chromesetup.exe。但是,事件查看器并不是观看转发事件的最佳工具。
使用 PowerShell 将转发的事件写入 SQL 数据库^
我正在使用此处记录的解决方案来创建 SQL 数据库,然后将数据写入其中。该解决方案包括两部分。首先,PowerShell 脚本最初会导入Forwarded Events中的所有事件。之后,计划任务仅在一小时前增量导入事件。
然后,您可以从 Excel、Power BI 和 SQL Reporting Services 等工具访问这些信息。以下是 Reporting Services 中的示例报告。
Reporting Services 中的示例报表