使用 Azure 監視器代理程式將 Syslog 和 CEF 訊息內嵌至 Microsoft Sentinel
本文說明如何使用 Syslog 透過 AMA 和一般事件格式 (CEF) 透過 AMA 連接器來快速篩選和內嵌 Syslog 訊息,包括來自 Linux 計算機和網路和安全性裝置和設備中的訊息,包括通用事件格式 (CEF) 的訊息。 若要深入瞭解這些數據連接器,請參閱 透過適用於 Microsoft Sentinel 的 AMA 連接器的 Syslog 和 Common Event Format (CEF)。
必要條件
開始之前,您必須設定資源,以及本節所述的適當許可權。
Microsoft Sentinel 必要條件
針對 Microsoft Sentinel,請安裝適當的解決方案,並確定您有權完成本文中的步驟。
安裝適當的解決方案—Microsoft Sentinel 中來自內容中樞的 Syslog 和/或一般事件格式。 如需詳細資訊,請參閱 探索及管理現用的 Microsoft Sentinel 內容。
您的 Azure 帳戶必須具有下列 Azure 角色型存取控制 (Azure RBAC) 角色:
內建角色 範圍 原因 - 虛擬機器參與者
- Azure 連線 機器
資源 管理員 istrator- 虛擬機器 (VM)
- 虛擬機器擴展集
- 已啟用 Azure Arc 的伺服器 (英文)
若要部署代理程式 包含動作的任何角色
Microsoft.Resources/deployments/*- 訂用帳戶
- 資源群組
- 現有的數據收集規則
部署 Azure Resource Manager 範本 監視參與者 - 訂用帳戶
- 資源群組
- 現有的數據收集規則
建立或編輯數據收集規則
記錄轉寄站必要條件
如果您要從記錄轉寄站收集訊息,則適用下列必要條件:
您必須將指定的 Linux VM 指定為記錄轉寄站,才能收集記錄。
- 在 Azure 入口網站 中建立Linux VM。
- Azure 監視器代理程序支援的Linux作業系統。
如果您的記錄轉寄站不是 Azure 虛擬機,它必須安裝 Azure Arc 連線 電腦代理程式。
Linux 記錄轉寄站 VM 必須安裝 Python 2.7 或 3。
python --version
使用或python3 --version
命令來檢查。 如果您使用 Python 3,請確定它已設定為電腦上的預設命令,或使用 『python3』 命令執行腳本,而不是 『python』。記錄轉寄站必須
syslog-ng
啟用 或rsyslog
精靈。如需記錄轉寄站的空間需求,請參閱 Azure 監視器代理程式效能效能評定。 您也可以檢閱 此部落格文章,其中包含可調整擷取的設計。
您的記錄來源、安全性裝置和設備必須設定為將其記錄訊息傳送至記錄轉寄站的 Syslog 精靈,而不是傳送至其本機 Syslog 精靈。
機器安全性必要條件
根據組織的安全策略設定計算機的安全性。 例如,將您的網路設定為符合公司網路安全策略,並變更精靈中的埠和通訊協定,以符合您的需求。 若要改善機器安全性設定, 請在 Azure 中保護您的 VM,或檢閱這些 網路安全的最佳做法。
如果您的裝置透過 TLS 傳送 Syslog 和 CEF 記錄,因為例如,您的記錄轉寄站位於雲端中,您必須設定 Syslog 精靈 (rsyslog
或 syslog-ng
) 以在 TLS 中通訊。 如需詳細資訊,請參閱
設定數據連接器
透過 AMA 或一般事件格式 (CEF) 透過 AMA 資料連接器的 Syslog 安裝程式包含下列步驟:
- 安裝 Azure 監視器代理程式,並使用下列任一方法建立數據收集規則 (DCR):
- 如果您要使用記錄轉寄站從其他計算機收集記錄, 請在記錄轉寄站上執行「安裝」腳本 ,以設定 Syslog 精靈接聽來自其他電腦的訊息,並開啟必要的本機埠。
選取適當的索引標籤以取得指示。
建立資料收集規則
若要開始使用,請在 Microsoft Sentinel 中開啟數據連接器,並建立數據連接器規則。
針對 Azure 入口網站 中的 Microsoft Sentinel,在 [組態] 底下,選取 [數據連接器]。
針對 Defender 入口網站中的 Microsoft Sentinel,選取 [Microsoft Sentinel>組態>數據連接器]。針對 syslog,在 [搜尋] 方塊中輸入 Syslog。 從結果中,選取透過 AMA 連接器的 Syslog。
針對 CEF,在 [搜尋] 方塊中輸入 CEF。 從結果中,選取透過 AMA 連接器的通用事件格式 (CEF)。選取詳細資料窗格上的 [ 開啟連接器] 頁面 。
在 [ 設定 ] 區域中,選取 [+建立數據收集規則]。
在 [基本] 索引 標籤 中:
- 輸入 DCR 名稱。
- 選取您的訂用帳戶。
- 選取您想要找出 DCR 的資源群組。
選取 [下一步:資源 >]。
定義 VM 資源
在 [ 資源] 索引標籤中,選取您要安裝 AMA 的機器,在此案例中為記錄轉寄站電腦。 如果您的記錄轉寄站未出現在清單中,它可能不會安裝 Azure 連線 計算機代理程式。
使用可用的篩選或搜尋方塊來尋找您的記錄轉寄站 VM。 展開清單中的訂用帳戶以查看其資源群組,以及查看其 VM 的資源群組。
選取您要安裝 AMA 的記錄轉寄站 VM。 當您將滑鼠停留在 VM 名稱上方時,複選框會出現在 VM 名稱旁邊。
檢閱您的變更,然後選取 [ 下一步:收集 >]。
選取設施與嚴重性
請注意,針對 Syslog 和 CEF 訊息使用相同的設施可能會導致數據擷取重複。 如需詳細資訊,請參閱 數據擷取重複避免。
在 [收集] 索引標籤中,選取每個設施的最低記錄層級。 當您選取記錄層級時,Microsoft Sentinel 會收集所選層級的記錄,以及其他具有較高嚴重性層級的記錄。 例如,如果您選取LOG_ERR,Microsoft Sentinel 會收集LOG_ERR、LOG_CRIT、LOG_ALERT和LOG_EMERG層級的記錄。
檢閱您的選取專案,然後選取 [ 下一步:檢閱 + 建立]。
檢閱並建立規則
完成所有索引標籤之後,請檢閱您輸入的內容並建立數據收集規則。
在 [ 檢閱和建立] 索引標籤中,選取 [ 建立]。
連接器會在您建立 DCR 時選取的機器上安裝 Azure 監視器代理程式。
檢查 Azure 入口網站 或 Microsoft Defender 入口網站中的通知,以查看 DCR 何時建立並安裝代理程式。
選取 連接器頁面上的 [重新 整理],以查看清單中顯示的 DCR。
執行「安裝」腳本
如果您使用記錄轉寄站,請將 Syslog 精靈設定為接聽來自其他電腦的訊息,並開啟必要的本機埠。
從連接器頁面,複製出現在 [執行下列命令] 底下的 命令行,以安裝並套用 CEF 收集器:
或從這裡複製:
sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
登入您剛安裝 AMA 的記錄轉寄站機器。
貼上您在最後一個步驟中複製的命令,以啟動安裝腳本。
腳本會將rsyslog
或syslog-ng
精靈設定為使用必要的通訊協定,並重新啟動精靈。 腳本會開啟埠 514,以接聽 UDP 和 TCP 通訊協定中的傳入訊息。 若要變更此設定,請根據計算機上執行的精靈類型,參考 Syslog 精靈組態檔:- Rsyslog:
/etc/rsyslog.conf
- Syslog-ng:
/etc/syslog-ng/syslog-ng.conf
注意
若要避免 代理程式無法運作的完整磁碟案例 ,建議您設定
syslog-ng
或rsyslog
組態不要儲存不必要的記錄。 完整磁碟案例會中斷已安裝 AMA 的功能。 如需詳細資訊,請參閱 RSyslog 或 Syslog-ng。- Rsyslog:
測試連接器
確認記錄來自Linux電腦或安全性裝置和設備的訊息已內嵌至 Microsoft Sentinel。
若要驗證 syslog 精靈是否在 UDP 連接埠上執行,且 AMA 正在接聽,請執行此命令:
netstat -lnptv
您應該會在埠 514 上看到
rsyslog
或syslog-ng
精靈接聽。若要擷取從記錄器或連線裝置傳送的訊息,請在背景中執行此命令:
tcpdump -i any port 514 -A -vv &
完成驗證之後,建議您停止
tcpdump
:輸入fg
,然後選取 Ctrl+C。若要傳送示範訊息,請完成下列步驟:
使用 netcat 公用程式。 在此範例中,公用程式會讀取透過
echo
命令張貼的數據,並關閉換行符。 然後,公用程式會將數據寫入localhost上的UDP埠514
,且沒有逾時。 若要執行 netcat 公用程式,您可能需要安裝另一個套件。echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
使用記錄器。 此範例會以 CEF RFC 格式,將訊息
local 4
寫入設施,在嚴重性層級Warning
寫入至本機主機上的埠514
。-t
和--rfc3164
旗標是用來符合預期的 RFC 格式。logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time"
若要確認連接器是否已正確安裝,請使用下列其中一個命令執行疑難解答文稿:
針對 CEF 記錄,請執行:
sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --cef
針對 Cisco Adaptive Security Appliance (ASA) 記錄,請執行:
sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --asa
針對 Cisco Firepower Threat Defense (FTD) 記錄,請執行:
sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --ftd