使用 Graylog 收集 Windows 和 Active Directory 事件日誌

Jacki

在上一篇文章中,我們介紹瞭如何部署基於Graylog堆棧的集中式日誌收集和管理服務(Graylog+OpenSearch+MongoDB)。現在讓我們介紹如何將事件查看器日誌從 Windows 主機(包括 Active Directory 域控制器事件)發送到 Graylog 收集器。

內容:

前往系統->輸入並添加一個新的 Windows Server 設備收集器,其類型為節拍監聽端口 TCP:5044

然後為 Windows 事件日誌創建單獨的索引。基於新的輸入和索引,創建一個新的 Windows 流(在 Streams 部分下)並運行它。

Winlogbeat:將 Windows 事件日誌發送到 Graylog

要將 Windows 主機上的 EventViewer 日誌發送到 Graylog 服務器,請使用Winlogbeat日誌收集服務。 Winlogbeat 是 ELK 堆棧的開源部分。 Winlogbeat 服務必須安裝在您想要在 Graylog 上查看其事件的每台 Windows 主機上。

  1. 從下載頁面下載 Winlogbeat 存檔(https://www.elastic.co/downloads/beats/winlogbeat
  2. 將存檔解壓到文件夾中C:Program Fileswinlogbeat
  3. 編輯winlogbeat.yml配置文件。

在最簡單的情況下,使用以下配置,其中應用程序、安全和系統事件日誌中的所有事件都將發送到指定的 Graylog 服務器

閱讀更多:如何重置 Active Directory 中忘記的目錄服務恢復模式密碼

請注意,Winlogbeat 的配置文件使用 YAML 語法,因此需要小心空格和縮進。

winlogbeat.event_logs:
  - name: Application
    ignore_older: 72h
  - name: Security
  - name: System
output.logstash:
  hosts: ["192.168.14.146:5044"]

使用更靈活的過濾來僅獲取您需要的事件日誌。例如,使用以下配置來收集具有特定嚴重性級別和 EventID 編號的事件:

---
winlogbeat.event_logs:
  - name: Security
    event_id: 4627, 4703, 4780-4782
    ignore_older: 24h
    level: critical, error
  - name: Microsoft-Windows-TerminalServicesRDPClient/Operational
    event_id: 1102

例子Windows Server 的典型 winlogbeat.yml 配置。

保存 winlogbeat.yml 文件。檢查Winlogbeat配置是否正確,日誌採集服務是否可用:

cd "C:Program Fileswinlogbeat"
./winlogbeat test config
./winlogbeat test output

如果一切正常,安裝並啟動 winlogbeat 服務:

.install-service-winlogbeat.ps1
Start-Service winlogbeat

轉至 Graylog Server Web 界面並檢查來自 Windows 服務器的事件是否已開始出現在相應的流中。

使用 Graylog 收集 Active Directory 域控制器事件日誌

我們來看看如何使用Graylog服務器來搜索和分析Windows事件。我們將使用 Active Directory 域控制器的事件作為示例。

假設 Active Directory 中有多個額外的域控制器。在這種情況下,管理員可能很難找到特定事件,因為他們必須檢查每個 DC 上的日誌。然而,Graylog 上存儲來自所有 DC 的事件的中央日誌收集服務器可以在幾秒鐘內找到任何事件。

例如,您可能需要識別由於密碼不正確而鎖定用戶帳戶的計算機。為此,請打開 Graylog 過濾器提示,選擇所需的流,或在查詢代碼中指定它(streams:xxxxxxxxxxxxx)並運行以下查詢:

winlogbeat_event_code:(4740 OR 4625) AND winlogbeat_event_provider:Microsoft-Windows-Security-Auditing

Graylog 服務器將快速找到您正在尋找的事件。在其屬性下,您將看到鎖定帳戶的計算機。

以下是在 Active Directory 中搜索不同事件的更多示例:

  • 事件ID4767– 找出誰解鎖了 AD 用戶
  • 事件ID4724– 誰/何時重置域用戶的密碼
  • 事件ID4720– 誰以及何時在 AD 中創建了新用戶;4722– 帳戶已啟用,4725– 殘疾人,4726– 用戶已刪除。
  • 跟踪 Active Directory 組成員身份的更改:4727(創建新組​​),4728(用戶添加到組),4729(用戶從組中刪除),4730(安全組已刪除)
  • 事件ID5137(創建新域組策略/GPO),5136(GPO 已更改),5141(GPO 已刪除)
  • 事件ID4624— 成功的域用戶登錄事件(允許快速查看AD用戶的登錄歷史記錄)

確保 Winlogbeat 代理配置為在每個域控制器上發送日誌(使用 Get-ADDomainController cmdlet 列出活動 DC)。必須在默認域控制器策略的審核策略設置中啟用某些 Active Directory 安全事件的收集。

您可以在 Graylog 中創建保存的查詢和儀表板,以快速查找您感興趣的事件。 Gralog 通知可用於提醒管理員 AD 中的關鍵事件。

集中 Windows 主機的事件日誌記錄

Graylog 提供對來自其他 Windows Server 服務的事件的便捷收集、存儲、檢索和分析。以下是管理員可能需要搜索 Windows 事件日誌的不同場景的示例。

  • 審核文件服務器上的文件和文件夾訪問事件
  • 跟踪共享文件夾中文件/文件夾的刪除
  • 審核對 Windows 中的文件和文件夾權限所做的更改
  • 跟踪遠程桌面 (RDP) 連接日誌
  • 檢測 Windows 上的 RDP 暴力攻擊
  • 如何找出誰關閉或重新啟動了計算機:winlogbeat_event_code:1074
  • 對清除事件日誌的響應(可能表明 Windows Server 可能受到損害)
  • 當內置 Windows Defender 防病毒軟件在其中一台 Windows Server 主機上檢測到病毒時收到警報(事件 ID1006,1116)。

快速而簡單的 Graylog 收集器可以輕鬆搜索和過濾 Windows 日誌中的事件。看這篇文章在 Graylog 站點上開始監視 Windows 主機上的關鍵事件 ID。

Windows 和 Active Directory 事件日誌的集中存儲可以輕鬆快速調查和響應信息安全事件、分析基礎設施事件以及解決問題。