有效的 Windows 事件收集器設置和配置

在所有的Windows环境中,事件日志管理是一项关键的技能。Windows事件日志每秒记录一次活动,它不仅是一个安全工具,也是一个重要的故障排除辅助工具。通过一个名为Windows事件转发(WEF)的功能,Windows可以将事件从远程机器发送到Windows事件收集器。

Windows事件日志转发概述

WEF是一项服务,允许您将多台Windows服务器上的事件转发到一个位置进行收集。该服务有两个主要组件:转发器和收集器。收集器是在Windows服务器上运行的一个服务,它从事件日志转发器接收到的所有事件进行收集。

转发服务器和收集器之间的”链接”被称为订阅。

收集器作为订阅管理器,接受事件并允许您指定要从终端节点收集哪些事件日志警报。

WEF项目概述

这是一个项目文章,我们将介绍如何构建一个项目或实施一个解决方案。以下各部分将逐步构建在前面的步骤之上。

對於這個專案,您將學習如何設置基本的WEF實施。您將學習如何設置收集器以及如何通過訂閱將事件轉發到收集器。

您將學習以下內容:

  1. 在Windows Server實例上設置和配置事件日誌收集器。這將是所有事件日誌轉發器發送事件的Windows Server。
  2. 創建一個GPO,在應用時,將適用的Windows Server實例指向收集器以發送事件。
  3. 配置要發送到收集器的事件類型。

您將學習如何在本文的其餘部分中逐步進行每一步。

環境和知識要求

在進一步操作之前,讓我們首先確保我的環境與您的環境相同。在開始之前,請確保已經準備好以下項目:

  • (2)個Windows Server實例-您可以使用任何2012 R2或更高版本的Windows Server實例。在本文中,我將使用Windows Server 2016。
  • Active Directory
  • GPO-需要熟悉組策略對象。
  • WinRM-所有客戶端上都需要運行WinRM。不需配置,只需運行。

配置Windows事件收集器

執行的第一個任務是將其中一個Windows Server實例配置為收集器。請記住,收集器是接收來自轉發器的事件日誌的部分。

啟用Windows事件收集器上的WinRM

將事件轉發到收集器的Windows Server實例是通過PowerShell Remoting或WinRM進行的。您首先需要確保收集器上可用WinRM。如果收集器運行的是Windows Server 2012 R2及更高版本,則WinRM默認已啟用,但Windows防火牆可能會干擾。

在收集器上運行Enable-PSRemoting PowerShell cmdlet,不帶參數。即使PowerShell Remoting已經啟用,它也會跳過必要的步驟。

為確保,您還可以從遠程計算機運行Invoke-Command -ComputerName <COLLECTORHOSTNAME> -ScriptBlock {1}。如果未收到錯誤,則表示PowerShell Remoting正在工作。

啟動訂閱收集器服務

現在,PowerShell Remoting已經啟用並侦听,請啟動訂閱收集器服務。訂閱收集器服務還需要在Windows Server啟動時自動啟動。

在收集器上,打开事件查看器,点击订阅。第一次打开订阅选项时,Windows会询问是否要启动Windows事件日志收集器服务并配置为自动启动。点击接受。

您可以在下面看到一条消息的示例。

Windows Event Collector Service

恭喜!您现在已经配置了一个收集器。现在是时候设置一个GPO,指示Windows服务器实例将事件转发到收集器。

设置转发器的GPO

下一步是配置一个或多个Windows服务器开始将事件日志转发到收集器。最简单的方法是创建一个GPO。然后,可以将此GPO应用于包含要发送事件的服务器的一个或多个OU。

在本项目文章中,您将学习如何设置GPO中必要的设置的基础知识。但是,如果您想了解所有可用选项的完整概述,请查看Microsoft文档

允许网络服务读取事件日志

WEF使用网络服务帐户从转发器读取和发送事件到收集器。默认情况下,网络服务帐户没有此权限。您首先需要设置此ACL以允许它。

注意:Windows Server中的許多事件日誌已經將Network Service帳戶授予對應用程式和系統等常見事件日誌的訪問權限。但是該帳戶未被授予對安全事件日誌和其他自定義事件日誌的訪問權限。

要允許Network Service帳戶讀取事件日誌轉發器上的事件日誌,請使用GPO。在本文中,您將學習如何允許Network Service帳戶訪問安全事件日誌。其他事件日誌將遵循相同的過程。

1. 首先,在命令提示字元中運行wevtutil gl security。這將提供有關安全事件日誌的各種信息。但要注意的是channelAccess SDDL部分。

您可以在下面看到一個安全事件日誌所需的SDDL示例。 channelAccess行代表事件日誌上設置的權限。複製下面突出顯示的SDDL,並將其保存在稍後添加到GPO中的地方。

channelAccess SDDL

2. 通過群組策略管理控制台創建一個GPO。在GPO內部,導航到計算機配置策略管理範本Windows元件事件轉發配置目標訂閱管理器

3. 將目標訂閱管理員的值設定為收集器上的WinRM終端點。您將設定Server為以下格式:

Server=http://<收集器的FQDN>:5985/wsman/SubscriptionManager/WEC,Refresh=60

請注意收集器終端點末尾的刷新間隔。刷新間隔指示客戶端應該多久檢查是否有新的訂閱可用。

4. 接下來,找到之前從運行wevtutil gl security複製的SDDL,並將其粘貼到設置計算機組態策略管理範本Windows元件事件日誌服務安全性配置日誌訪問權限中。

請注意,此SDDL將優先於為事件日誌配置的所有其他權限。

您可以在下面看到安全事件日誌的GPO示例。

Configure log access GPO setting

5. 創建GPO後,您可以將此GPO鏈接到包含要從中發送事件日誌的Windows伺服器的現有OU,或者創建新的OU並鏈接GPO。將AD計算機帳戶添加到此OU中後,將設置一個對收集器的訂閱。

設置訂閱

儘管配置WEF以收集Active Directory域中所有Windows伺服器的所有事件可能聽起來是個好主意,但實際上並非如此。您必須有選擇性地僅轉發對您重要的事件。過濾掉不重要的噪音是WEF展示其真正價值的地方。

讓我們一起設置安全事件日誌的訂閱。

由於您已經創建了群組策略並將其鏈接到包含要從中發送事件的Windows服務器的Active Directory OU中,因此事件來源已經設置好了。

  1. 在收集器上,打開Windows事件檢視器,右鍵點擊訂閱,然後創建訂閱
Creating an event log subscription

2. 如下所示,選擇源計算機發起選項,然後點擊選擇計算機群組。這是您選擇要從中轉發事件的計算機的地方。

Setting an event log source

專業提示:選擇AD群組。例如:“域控制器”將自動填充該組中的任何計算機。在添加新服務器時無需每次選擇單個計算機。

3. 接下來,選擇要轉發的事件。如下所示,打開查詢過濾器,選擇要從安全事件日誌轉發事件到收集器的安全事件。

Selecting Windows events to forward

4. 選擇安全日誌後,您可以進一步過濾,輸入事件ID、關鍵字、用戶和計算機,如下所示。

Filtering Windows events

5. 點擊確定退出查詢過濾器

6. 在訂閱屬性窗口中點擊高級。現在選擇最小化延遲。此設置將確保收集器盡快接收事件,並在落後時幫助其迎頭趕上。

Setting Minimize Latency

驗證WEF配置

設置WEF後,您應該檢查轉發器是否實際檢查了主訂閱頁面上的源計算機列。

Event Log subscriptions

你還可以在客戶端的應用程式和服務下檢查事件轉發插件的操作日誌,以確保一切正常運作。如果Kerberos或防火牆出現問題,你將在這裡看到詳細的錯誤信息。

EventLog-ForwardingPlugin event

現在只剩下找到一個價值較低的客戶端,清除安全日誌,看看是否會收到警報。

你的收獲

在這個項目中,你學到了如何設置基本的WEF訂閱。你:

  • 設置了事件收集器
  • 創建了一個GPO,在各種Windows Server轉發器上創建了一個訂閱
  • 配置了一個WEF訂閱,只發送特定的事件
  • 確保WEF訂閱盡可能快速地發送事件

WEF的初始配置可能有些棘手,但一旦設置成功,你應該很少遇到問題,並且維護工作量也很少。

Source:
https://adamtheautomator.com/windows-event-collector/