Windows 事件转发到 SQL 数据库

矫情吗;* 2023-09-28 18:23 68阅读 0赞

事件转发允许您从 Windows 事件日志中收集各种信息并将其存储在中央 SQL 数据库中。然后,您可以使用各种工具(例如 SQL 报告服务、Power BI 或 Excel)访问事件数据。

当我讲事件转发时,听众中经常有人提到数据过载问题。但是,通过事件转发,我们可以准确地选择我们想要收集的事件。在我的示例中,每当 AppLocker 阻止客户端上的文件时,我都会转发事件。

本指南将遵循五个步骤:

  1. 在服务器上配置事件服务
  2. 配置事件订阅
  3. 配置事件转发订阅组策略
  4. 在事件查看器中查看转发的事件
  5. 使用 PowerShell 将转发的事件写入 SQL 数据库

在 Server 2016 上配置事件服务^

在开始之前,我们需要配置 WinRM。要显示可用的侦听器,请运行以下命令:

winrm e winrm/config/listener

您需要测试 WinRM 是否配置正确。最简单的方法是运行以下命令。您需要为 WinRM 可以使用的服务器准备好证书。

winrm 快速配置-传输:https

打开事件查看器,然后单击订阅。将出现一个提示,询问您是否要启动 Windows 事件收集器服务。

注意:如果您使用 HTTP,则事件转发使用端口 5985;如果使用 HTTPS(您应该这样做!),则使用端口 5986。

663d185b65205883d48026da212f1a42.png

启动事件收集器服务

配置事件订阅^

现在我们已经运行了 Windows 事件收集器服务,我们可以创建一个可以应用于客户端的订阅。我们首先创建一个新的Subscription

20dde8713d7cc308f94b5bf8cc7e1cbe.png

创建新订阅

我们给它一个名字,然后选择Source computer started

8b4d123ae8e19ff36b36920b106b8a50.png

Applocker 事件

然后,您选择应该在事件中发送的 Active Directory (AD) 组。在此示例中,我使用Domain Computers

d1630f43eae676eea5c895ca477fbc55.png

添加域计算机

然后我们选择我们要转发的事件:

5de61015bf1cc78ae078929063a71473.png

选择事件

这里我们只过滤关键错误事件。在By log部分,我们选择所有AppLocker日志:

ce6362df09971f92c9e296c4cfb2a57a.png

查询过滤器

然后我们返回并配置高级订阅设置,我们可以在其中选择 HTTP 或 HTTPS。您还必须选择希望客户端发送事件的时间间隔。

  • 正常:每 15 分钟
  • 最小化带宽:每 6 小时
  • 最小化延迟:每 30 秒

69a12fefb783b851641b5f852994c77e.png

高级订阅设置

现在我们准备开始收集事件。

配置事件转发订阅组策略^

我们现在可以配置分配给服务器和客户端的组策略,以便它们从服务器读取订阅并发送订阅中包含的事件。

相应的组策略是:计算机配置 > 策略 > 管理模板 > Windows 组件 > 事件转发 > 配置目标订阅管理器

830279c5f8d31a3ed0dc37c64ec495d7.png

事件转发 GPO

我们可以配置一个服务器列表来读取订阅。要添加服务器地址,您只需键入 Server= ,如下面的屏幕截图所示。如果只使用 HTTPS,则需要改用以下语法。

HTTPS://<收集器的 FQDN>/wsman/SubscriptionManager/WEC,Refresh=,IssuerCA=<客户端认证证书的指纹>

9eed9fc8154fd9ce747d8cda56268bf2.png

事件转发服务器

在事件查看器中显示转发的事件^

现在我们已经将组策略应用于客户端,我们将开始将事件转发到服务器。在事件查看器中,我们可以看到有多少客户端已读取订阅并正在发送事件。

c74fe00b9875fa6978781f577ec7db58.png

活动订阅计数

上面的屏幕截图显示了从 AppLocker 转发的事件。

bbb1b386e7e89bd298a28504723055ad.png

AppLocker 事件

在上面的示例中,我们可以看到 AppLocker 阻止了 chromesetup.exe。但是,事件查看器并不是观看转发事件的最佳工具。

使用 PowerShell 将转发的事件写入 SQL 数据库^

我正在使用此处记录的解决方案来创建 SQL 数据库,然后将数据写入其中。该解决方案包括两部分。首先,PowerShell 脚本最初会导入Forwarded Events中的所有事件。之后,计划任务仅在一小时前增量导入事件。

然后,您可以从 Excel、Power BI 和 SQL Reporting Services 等工具访问这些信息。以下是 Reporting Services 中的示例报告。

27d00fa2f3c7b75b5cfc167a869720c5.png

Reporting Services 中的示例报表

发表评论

表情:
评论列表 (有 0 条评论,68人围观)

还没有评论,来说两句吧...

相关阅读