共用方式為


使用 Syslog 從以 Linux 為基礎的來源收集數據

警告

這篇文章參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

注意

如需美國政府雲端中功能可用性的相關資訊,請參閱美國政府客戶的雲端功能可用性中的 Microsoft Sentinel 資料表。

Syslog 是通用於 Linux 的事件記錄通訊協定。 您可以使用 Linux 裝置和設備內建的 Syslog 精靈來收集您所指定類型的本機事件,並使用適用於 LinuxLog Analytics 代理程式將這些事件傳送至 Microsoft Sentinel(先前稱為 OMS 代理程式)。

本文說明如何使用 Syslog 將數據源連線到 Microsoft Sentinel。 如需此方法所支援連接器的詳細資訊,請參閱 數據連接器參考

瞭解如何 使用 Azure 監視器代理程式收集 Syslog,包括如何設定 Syslog 和建立 DCR。

重要

Log Analytics 代理程式將於 2024 年 8 月 31 日淘汰。 如果您在 Microsoft Sentinel 部署中使用 Log Analytics 代理程式,建議您開始規劃移轉至 AMA。 如需詳細資訊,請參閱 Microsoft Sentinel 的 AMA 移轉。

如需使用 Azure 監視器代理程式部署 Syslog 記錄的相關信息,請檢閱 CEF 和 Syslog 格式串流記錄至 Microsoft Sentinel 的選項。

架構

當您的 VM 或設備上安裝 Log Analytics 代理程式時,安裝腳本會設定本機 Syslog 精靈,以將訊息轉送至 UDP 連接埠 25224 上的代理程式。 收到訊息之後,代理程式會透過 HTTPS 將其傳送至 Log Analytics 工作區,其中會內嵌到 Microsoft Sentinel > Logs 中的 Syslog 數據表。

如需詳細資訊,請參閱 Azure 監視器中的 Syslog 數據源。

此圖顯示從 syslog 來源到 Microsoft Sentinel 工作區的數據流,其中 Log Analytics 代理程式會直接安裝在數據源裝置上。

對於某些不允許本機安裝 Log Analytics 代理程式的裝置類型,代理程式可以改為安裝在專用的 Linux 型記錄轉寄站上。 原始裝置必須設定為將 Syslog 事件傳送至此轉寄站上的 Syslog 精靈,而不是本地精靈。 轉寄站上的 Syslog 精靈會透過 UDP 將事件傳送至 Log Analytics 代理程式。 如果此 Linux 轉寄站預期會收集大量的 Syslog 事件,則其 Syslog 精靈會改為透過 TCP 將事件傳送至代理程式。 不論是哪一種情況,代理程式都會從該處將事件傳送至 Microsoft Sentinel 中的 Log Analytics 工作區。

此圖顯示從 syslog 來源到 Microsoft Sentinel 工作區的數據流,其中 Log Analytics 代理程式會安裝在個別的記錄轉送裝置上。

注意

  • 如果您的設備透過 Syslog 支援 Common Event Format (CEF),則會收集更完整的資料集,並在收集時剖析數據。 您應該選擇此選項,並依照從裝置或設備取得 CEF 格式記錄中的 指示,進入 Microsoft Sentinel

  • Log Analytics 支援收集 rsyslogsyslog-ng 精靈所傳送的訊息,其中 rsyslog 是預設值。 syslog 事件集合不支援 Red Hat Enterprise Linux (RHEL)、CentOS 和 Oracle Linux 版本 (sysklog) 的第 5 版的預設 syslog 精靈。 若要從這個版本的這些散發套件收集 syslog 數據,應該安裝 rsyslog 精靈並設定為取代 sysklog。

設定 Syslog 集合有三個步驟:

  • 設定 Linux 裝置或設備。 這是指將安裝 Log Analytics 代理程式的裝置,無論是源自事件的相同裝置,還是將轉送事件的記錄收集器。

  • 設定應用程式記錄設定 ,以對應至將傳送事件給代理程式的 Syslog 精靈位置。

  • 設定 Log Analytics 代理程式本身。 這會從 Microsoft Sentinel 內完成,並將組態傳送到所有已安裝的代理程式。

必要條件

開始之前,請先從 Microsoft Sentinel 中的內容中樞安裝 Syslog 的解決方案。 如需詳細資訊,請參閱 探索及管理現用的 Microsoft Sentinel 內容

設定 Linux 電腦或設備

  1. 從 Microsoft Sentinel 導覽功能表中,選取 [數據連接器]。

  2. 從連接器資源庫,選取 [Syslog ],然後選取 [ 開啟連接器] 頁面

    如果您的裝置類型列在 Microsoft Sentinel Data 連接器資源庫中,請選擇裝置的連接器,而不是一般 Syslog 連接器。 如果您的裝置類型有額外的或特殊指示,您會在裝置的連接器頁面上看到它們,以及活頁簿和分析規則範本等自定義內容。

  3. 安裝Linux代理程式。 在 [選擇安裝代理程式的位置] 下

    機器類型 指示
    針對 Azure Linux VM 1.展開 在 Azure Linux 虛擬機上安裝代理程式。

    2.選取 [適用於 Azure Linux 虛擬機>下載及安裝代理程式] 連結。

    3.在 [虛擬機] 刀鋒視窗中,選取要安裝代理程式的虛擬機,然後選取 [連線]。 針對您想要連線的每個 VM 重複此步驟。
    任何其他Linux電腦 1.在非 Azure Linux 機器上展開 [安裝代理程式]

    2.選取 [下載及安裝非 Azure Linux 機器 > 的代理程式] 連結。

    3.在 [代理程式管理] 刀鋒視窗中,選取 [Linux 伺服器] 索引卷標,然後複製 [下載並上架 Linux 代理程式] 命令,並在 Linux 計算機上執行。

    如果您想要保留 Linux 代理程式安裝檔案的本機複本,請選取 [下載並上線代理程式] 命令上方的 [ 下載 Linux 代理 程式] 連結。

    注意

    請確定您根據組織的安全策略,為這些裝置設定安全性設定。 例如,您可以設定網路設定以符合您組織的網路安全策略,並變更精靈中的埠和通訊協定,以符合安全性需求。

使用相同的電腦來轉送一般 Syslog CEF 訊息

您也可以使用現有的 CEF 記錄轉寄站電腦 ,從一般 Syslog 來源收集及轉寄記錄。 不過,您必須執行下列步驟,以避免將這兩種格式的事件傳送至 Microsoft Sentinel,因為這樣會導致事件重複。

已經從 CEF 來源設定數據收集,並已設定 Log Analytics 代理程式:

  1. 在每個以 CEF 格式傳送記錄的電腦上,您必須編輯 Syslog 組態檔,以移除用來傳送 CEF 訊息的設施。 如此一來,CEF 中傳送的設施也不會在 Syslog 中傳送。 如需如何執行這項操作的詳細指示,請參閱 在Linux代理程式 上設定Syslog。

  2. 您必須在這些計算機上執行下列命令,才能停用代理程式與 Microsoft Sentinel 中的 Syslog 組態同步處理。 這可確保您在上一個步驟中所做的設定變更不會遭到覆寫。

    sudo -u omsagent python /opt/microsoft/omsconfig/Scripts/OMS_MetaConfigHelper.py --disable
    

設定裝置的記錄設定

許多裝置類型都有自己的數據連接器出現在 數據連接器資源 庫中。 其中有些連接器需要特殊的額外指示,才能在 Microsoft Sentinel 中正確設定記錄收集。 這些指示可以包含以 Kusto 函式為基礎的剖析器實作。

資源庫中所列的所有連接器都會在入口網站的個別連接器頁面上,以及 Microsoft Sentinel 數據連接器參考頁面的區段中顯示任何特定指示。

如果 Microsoft Sentinel 中數據連接器頁面上的指示指出 Kusto 函式已部署為 進階安全性資訊模型 (ASIM) 剖析器,請確定您已將 ASIM 剖析器部署至工作區。

使用數據連接器頁面中的連結來部署剖析器,或遵循 Microsoft Sentinel GitHub 存放庫中指示。

如需詳細資訊,請參閱 進階安全性資訊模型 (ASIM) 剖析器

設定 Log Analytics 代理程式

  1. 在 [Syslog 連接器] 刀鋒視窗底部,選取 [ 開啟工作區代理程序組態 > ] 連結。

  2. 在 [ 舊版代理程式管理 ] 頁面中,新增連接器要收集的設施。 選取 [新增設施] ,然後從設施的下拉式清單中選擇。

    • 新增 syslog 設備在其記錄標頭中所包含的設施。

    • 如果您想要搭配您收集的數據使用異常 SSH 登入偵測,請新增 驗證authpriv。 如需其他詳細數據,請參閱下 一節

  3. 當您新增所有您想要監視的設施時,請清除您不想收集之任何嚴重性複選框。 根據預設,它們全都會標示。

  4. 選取套用

  5. 在您的 VM 或設備上,確定您正在傳送您指定的設施。

尋找資料

  1. 若要在 [記錄] 中查詢 syslog 記錄數據,請在查詢視窗中輸入 Syslog

    (某些使用 Syslog 機制的連接器可能會將其資料儲存在 以外的Syslog資料表中。請參閱 Microsoft Sentinel 數據連接器參考頁面的連接器一節

  2. 您可以使用使用 Azure 監視器記錄查詢中的函式中所述的查詢參數來剖析您的 Syslog 訊息。 然後,您可以將查詢儲存為新的Log Analytics 函式,並將其當做新的資料類型使用。

設定 Syslog 連接器以進行異常 SSH 登入偵測

重要

異常 SSH 登入偵測目前為 預覽狀態。 請參閱 Microsoft Azure Preview 補充使用規定,了解適用於搶鮮版 (Beta)、預覽版或尚未正式發行 Azure 功能的其他法律條款。

Microsoft Sentinel 可以將機器學習服務 (ML) 套用至 syslog 數據,以識別異常的安全殼層 (SSH) 登入活動。 案例包括:

  • 不可能移動 – 當兩個成功登入事件發生在兩個無法到達兩個登入事件的時間範圍內時。

  • 非預期的位置 – 發生成功登入事件的位置可疑。 例如,最近沒有看到位置。

此偵測需要 Syslog 資料連接器的特定設定:

  1. 針對上述設定 Log Analytics 代理程式的步驟 2,請確定已選取 authauthpriv 作為要監視的設施,並選取所有嚴重性。

  2. 允許收集 syslog 資訊有足夠的時間。 然後,流覽至 Microsoft Sentinel - 記錄,然後複製並貼上下列查詢:

    Syslog
    | where Facility in ("authpriv","auth")
    | extend c = extract( "Accepted\\s(publickey|password|keyboard-interactive/pam)\\sfor ([^\\s]+)",1,SyslogMessage)
    | where isnotempty(c)
    | count 
    

    視需要變更 [時間範圍],然後選取 [執行]。

    如果產生的計數為零,請確認連接器的設定,且受監視的計算機在您為查詢指定的時間週期內確實成功登入活動。

    如果產生的計數大於零,您的 syslog 數據就適合用於異常 SSH 登入偵測。 您可以從分析>規則範本>(預覽) 異常 SSH 登入偵測啟用此偵測。

下一步

在本檔中,您已瞭解如何將 Syslog 內部部署設備連線到 Microsoft Sentinel。 若要深入了解 Microsoft Sentinel,請參閱下列文章: