使用ELK分析Windows事件日誌
- 2019 年 11 月 14 日
- 筆記
這是ELK入門到實踐系列的第三篇文章,分享如何使用ELK分析Windows事件日誌。
Windows系統日誌是記錄系統中硬體、軟體和系統問題的資訊,同時還可以監視系統中發生的事件。用戶可以通過它來檢查錯誤發生的原因,或者尋找受到攻擊時攻擊者留下的痕迹。
在本文,通過ELK 安全分析的視角,我們將能夠檢測異常的登錄行為和不常見的可疑進程。
本系列文章前文欣賞:
(1):通過rsyslog搭建集中日誌伺服器
(2):使用ELK實時分析SSH暴力破解
Winlogbeat
使用Winlogbeat將Windows事件日誌流傳輸到Elasticsearch。Winlogbeat 通過標準的 windows API 獲取 windows 系統日誌,常見的有 Application,Security 、System三個核心日誌文件。winlogbeat 配置如下:
步驟一:安裝Winlogbeat
1、下載並解壓縮Winlogbeat
下載地址:https://artifacts.elastic.co/downloads/beats/winlogbeat/winlogbeat-7.4.2-windows-x86_64.zip

2、安裝Winlogbeat服務
以管理員身份打開PowerShell,在PowerShell提示符下,運行以下命令以安裝服務。
cd "C:Program Files(x86)Winlogbeat".install-service-winlogbeat.ps1
如果在系統上禁用了腳本執行,則需要為當前會話設置執行策略以允許腳本運行。例如:
PowerShell.exe -ExecutionPolicy UnRestricted -File .install-service-winlogbeat.ps1。

步驟二:配置Winlogbeat
修改 C:Program FilesWinlogbeatwinlogbeat.yml
以設置連接資訊:
#-------------------------- Elasticsearch output ------------------------------ output.elasticsearch: # Array of hosts to connect to. hosts: ["localhost:9200"] # Optional protocol and basic auth credentials. #protocol: "https" #username: "elastic" #password: "changeme"
填寫要輸出到es的地址,保存配置文件後,使用以下命令檢查配置文件的正確性:
winlogbeat.exe test config -winlogbeat.yml -e
步驟三:啟動 Winlogbeat
使用以下命令啟動Winlogbeat服務
Start-Service winlogbeat
使用以下命令停止Winlogbeat服務:
Stop-Service winlogbeat
安裝部署ES
1、安裝
yum -y install elasticsearch
2、配置
cd /etc/elasticsearch/vi elasticsearch.yml network.host: 0.0.0.0 http.port: 9200
3、啟動ES
/bin/systemctl daemon-reloadsystemctl start elasticsearch
基於ELK的SIEM
Kibana中的SIEM應用程式為安全分析提供了一個互動式工作區,可以分析主機相關和網路相關的安全事件。
創建索引,在SIEM介面,可以查到通過Winlogbeat從Windows事件日誌提取主機事件。

點擊查看主機,在主機介面,可以查看安全分析得到的結果,共包含五部分資訊。
第一部分,接入日誌的主機數量,用戶身份驗證情況,用戶訪問IP等匯總資訊。

第二部分,接入日誌的所有主機,包含主機名、最後看到事件、OS類型及版本。

第三部分,顯示登錄成功和失敗的用戶名、次數、登錄時間等資訊。

第四部分,顯示不常見的進行,包含進程名,主機數目,命令及用戶等資訊。

第五部分,顯示所有的安全事件,包含時間戳、主機名、日誌類型、用戶、源、消息等資訊。

結語
在本文,基於Elastic Stack的SIEM,展現了強大的安全事件分析的能力,通過Winlogbeat收集Windows事件日誌,以Elasticsearch的速度進行安全分析,使用Kibana中的SIEM應用程式瀏覽安全數據,以快速檢測和響應安全事件。
當然,不只是Windows事件日誌,藉助Beats可以從任何你想要的地方提取數據,如審核事件、認證日誌、DNS流量、網路流等。這只是初步的探索,如何更好的使用Elastic SIEM去發現並解決安全問題,才是我們接下來要深究的方向。在學習,也一直在路上,加油!