共用方式為


使用 Syslog 從 Linux 型來源收集資料

警告

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

注意

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

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

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

了解如何使用 Azure 監視器代理程式 (部分機器翻譯) 收集 Syslog,包括如何設定 Syslog 和建立 DCR。

重要

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

如需使用 Azure 監視器代理程式部署 Syslog 和/或 CEF 記錄的相關資訊,請檢閱透過 CEF 和 Syslog 格式將記錄串流到 Microsoft Sentinel 的選項 (部分機器翻譯)。

架構

Log Analytics 代理程式會安裝在您的虛擬機器或設備上之後,安裝指令碼會設定本地 Syslog 精靈,以將訊息轉送至 UDP 通訊埠 25224 上的代理程式。 收到訊息之後,代理程式會透過 HTTPS 將訊息傳送至 Log Analytics 工作區,系統會在這些工作區中將訊息擷取到 [Microsoft Sentinel] > [記錄] 中的 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 (CEF) 通用事件格式,則會收集更完整的資料集,並在收集時剖析資料。 您應該選擇此選項,並遵循將 CEF 格式記錄從裝置或設備獲取到 Microsoft Sentinel 中的指示。

  • Log Analytics 支援收集由 rsyslogsyslog-ng 精靈所傳送的訊息,預設為 rsyslog。 Red Hat Enterprise Linux (RHEL) 第 5 版、CentOS 和 Oracle Linux 版本 (sysklog) 不支援預設 syslog 精靈,進行 syslog 事件收集。 若要從此版的這些散發套件收集 syslog 資料,rsyslog 精靈應該安裝和設定為取代 sysklog。

設定 Syslog 集合有三個步驟:

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

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

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

必要條件

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

設定 Linux 機器或設備

  1. 從 Microsoft Sentinel 導覽功能表中,選取 [資料連接器]

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

    如果您的裝置類型列在 Microsoft Sentinel 資料連接器資源庫中,請選擇裝置的連接器,而不是一般 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 登入偵測,請新增 authauthpriv。 如需其他詳細資料,請參閱下一節

  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 登入偵測。 您可以從 [Analytics] > [規則範本] > [(預覽) 異常 SSH 登入偵測]

下一步

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