Share via


使用 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 虛擬機,它必須安裝 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 精靈 (rsyslogsyslog-ng) 以在 TLS 中通訊。 如需詳細資訊,請參閱

設定數據連接器

透過 AMA 或一般事件格式 (CEF) 透過 AMA 資料連接器的 Syslog 安裝程式包含下列步驟:

  1. 安裝 Azure 監視器代理程式,並使用下列任一方法建立數據收集規則 (DCR):
  2. 如果您要使用記錄轉寄站從其他計算機收集記錄, 請在記錄轉寄站上執行「安裝」腳本 ,以設定 Syslog 精靈接聽來自其他電腦的訊息,並開啟必要的本機埠。

選取適當的索引標籤以取得指示。

建立資料收集規則

若要開始使用,請在 Microsoft Sentinel 中開啟數據連接器,並建立數據連接器規則。

  1. 針對 Azure 入口網站 中的 Microsoft Sentinel,在 [組態] 底下,選取 [數據連接器]。
    針對 Defender 入口網站中的 Microsoft Sentinel,選取 [Microsoft Sentinel>組態>數據連接器]。

  2. 針對 syslog,在 [搜尋] 方塊中輸入 Syslog。 從結果中,選取透過 AMA 連接器的 Syslog。
    針對 CEF,在 [搜尋] 方塊中輸入 CEF。 從結果中,選取透過 AMA 連接器的通用事件格式 (CEF)。

  3. 選取詳細資料窗格上的 [ 開啟連接器] 頁面

  4. 在 [ 設定 ] 區域中,選取 [+建立數據收集規則]。

    顯示 [透過 AMA 連接器] 頁面的 Syslog 螢幕快照。

    顯示透過 AMA 連接器頁面 CEF 的螢幕快照。

  5. 在 [基本] 索引 標籤 中:

    • 輸入 DCR 名稱。
    • 選取您的訂用帳戶。
    • 選取您想要找出 DCR 的資源群組。

    顯示 [基本] 索引標籤中 DCR 詳細資料的螢幕快照。

  6. 選取 [下一步:資源 >]。

定義 VM 資源

在 [ 資源] 索引標籤中,選取您要安裝 AMA 的機器,在此案例中為記錄轉寄站電腦。 如果您的記錄轉寄站未出現在清單中,它可能不會安裝 Azure 連線 計算機代理程式。

  1. 使用可用的篩選或搜尋方塊來尋找您的記錄轉寄站 VM。 展開清單中的訂用帳戶以查看其資源群組,以及查看其 VM 的資源群組。

  2. 選取您要安裝 AMA 的記錄轉寄站 VM。 當您將滑鼠停留在 VM 名稱上方時,複選框會出現在 VM 名稱旁邊。

    顯示如何在設定 DCR 時選取資源的螢幕快照。

  3. 檢閱您的變更,然後選取 [ 下一步:收集 >]。

選取設施與嚴重性

請注意,針對 Syslog 和 CEF 訊息使用相同的設施可能會導致數據擷取重複。 如需詳細資訊,請參閱 數據擷取重複避免

  1. 在 [收集] 索引標籤中,選取每個設施的最低記錄層級。 當您選取記錄層級時,Microsoft Sentinel 會收集所選層級的記錄,以及其他具有較高嚴重性層級的記錄。 例如,如果您選取LOG_ERR,Microsoft Sentinel 會收集LOG_ERRLOG_CRIT、LOG_ALERTLOG_EMERG層級的記錄

    顯示如何在設定 DCR 時選取記錄層級的螢幕快照。

  2. 檢閱您的選取專案,然後選取 [ 下一步:檢閱 + 建立]。

檢閱並建立規則

完成所有索引標籤之後,請檢閱您輸入的內容並建立數據收集規則。

  1. 在 [ 檢閱和建立] 索引標籤中,選取 [ 建立]。

    顯示如何檢閱 DCR 設定並建立它的螢幕快照。

    連接器會在您建立 DCR 時選取的機器上安裝 Azure 監視器代理程式。

  2. 檢查 Azure 入口網站 或 Microsoft Defender 入口網站中的通知,以查看 DCR 何時建立並安裝代理程式。

  3. 選取 連接器頁面上的 [重新 整理],以查看清單中顯示的 DCR。

執行「安裝」腳本

如果您使用記錄轉寄站,請將 Syslog 精靈設定為接聽來自其他電腦的訊息,並開啟必要的本機埠。

  1. 從連接器頁面,複製出現在 [執行下列命令] 底下的 命令行,以安裝並套用 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
    
  2. 登入您剛安裝 AMA 的記錄轉寄站機器。

  3. 貼上您在最後一個步驟中複製的命令,以啟動安裝腳本。
    腳本會將 rsyslogsyslog-ng 精靈設定為使用必要的通訊協定,並重新啟動精靈。 腳本會開啟埠 514,以接聽 UDP 和 TCP 通訊協定中的傳入訊息。 若要變更此設定,請根據計算機上執行的精靈類型,參考 Syslog 精靈組態檔:

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    注意

    若要避免 代理程式無法運作的完整磁碟案例 ,建議您設定 syslog-ngrsyslog 組態不要儲存不必要的記錄。 完整磁碟案例會中斷已安裝 AMA 的功能。 如需詳細資訊,請參閱 RSyslogSyslog-ng

測試連接器

確認記錄來自Linux電腦或安全性裝置和設備的訊息已內嵌至 Microsoft Sentinel。

  1. 若要驗證 syslog 精靈是否在 UDP 連接埠上執行,且 AMA 正在接聽,請執行此命令:

    netstat -lnptv
    

    您應該會在埠 514 上看到 rsyslogsyslog-ng 精靈接聽。

  2. 若要擷取從記錄器或連線裝置傳送的訊息,請在背景中執行此命令:

    tcpdump -i any port 514 -A -vv &
    
  3. 完成驗證之後,建議您停止 tcpdump:輸入 fg ,然後選取 Ctrl+C

  4. 若要傳送示範訊息,請完成下列步驟:

    • 使用 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"
      
  5. 若要確認連接器是否已正確安裝,請使用下列其中一個命令執行疑難解答文稿:

    • 針對 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