在 Windows 上使用本地 Docker 設定自動日誌上傳

你可以在 Microsoft Defender for Cloud Apps 中,透過本地 Windows 伺服器上的 Docker 容器,設定自動上傳日誌以持續報告。 本文將引導你如何在 Microsoft Defender 入口網站中設定資料來源、部署基於 Docker 的日誌收集器、配置網路設備以轉發日誌,以及驗證部署過程。

必要條件

  • 防火牆日誌轉發必須設定為將日誌傳送至日誌收集主機。

  • 架構規範

    規格 描述
    作業系統 Windows 10 (秋季創作者更新)
    磁碟空間 250 GB
    CPU 核心 2
    CPU 架構 Intel 64 與 AMD 64
    RAM 4 GB

    有關支援的 Docker 架構清單,請參閱 Docker 安裝文件

  • 根據需要設定防火牆。 欲了解更多資訊,請參閱 網路需求

  • 作業系統上的虛擬化必須透過 Hyper-V 啟用。

重要事項

  • 擁有超過 250 名用戶或年營收超過 1,000 萬美元的企業用戶,需付費訂閱才能使用 Windows 版 Docker Desktop。 欲了解更多資訊,請參閱 Docker 訂閱概覽
  • 使用者必須登入才能使用 Docker 才能收集日誌。 我們建議你的 Docker 使用者在未登出的情況下斷開連線。
  • Windows Docker 在 VMWare 虛擬化場景中並不被官方支援。
  • Docker for Windows 在巢狀虛擬化場景中並未獲得官方支援。 如果你仍打算使用巢狀虛擬化,請參考 《在巢狀虛擬化場景中運行 Docker 桌面》。
  • 關於 Docker for Windows 的額外設定與實作考量,請參閱 「Windows 安裝 Docker 桌面」。

移除現有的記錄收集器

如果你已有原木收集器,想在再次部署前先移除它,或只是想先移除,請使用以下步驟:

  1. 停止日誌收集器:

    docker stop <collector_name>
    
  2. 移除記錄收集器:

    docker rm <collector_name>
    

日誌收集器效能

日誌收集器每小時可處理高達 50 GB 的日誌資料量。 日誌收集過程中的主要瓶頸有:

  • 網路頻寬 - 你的網路頻寬決定日誌上傳速度。

  • 虛擬機的 I/O 效能 - 決定日誌寫入日誌收集器磁碟的速度。 日誌收集器內建安全機制,監控日誌抵達的速度,並與上傳速率進行比較。 在塞塞情況下,日誌收集器會開始丟棄日誌檔案。 如果你的設定通常超過 50 GB 每小時,建議將流量分配給多個日誌收集器。

步驟 1 – 網頁入口設定

請依照以下步驟定義你的資料來源,並將其連結到日誌收集器。 單一日誌收集器可處理多個資料來源。

  1. 在 Microsoft Defender 入口網站中,選擇設定>、雲端應用程式>、雲端發現>、自動日誌、上傳>資料來源標籤。

  2. 對於你想上傳日誌的每個防火牆或代理,建立一個相符的資料來源:

    1. 選取 +新增資料來源

      Data sources 標籤頁的截圖,顯示 Cloud Discovery 設定中新增資料來源按鈕。

    2. 為你的代理或防火牆命名

      新增資料來源對話框的截圖

    3. 來源 清單中選擇該家電。 如果你選擇自訂 日誌格式 來支援未列出的網路設備,請參考「 使用自訂日誌解析器 」一節的設定說明。

    4. 將你的日誌與預期日誌格式的樣本比較。 如果你的日誌檔格式與此樣本不符,你應該將資料來源新增為 其他

    5. 接收器類型設為 FTPFTPSSyslog – UDPSyslog – TCP,或 Syslog – TLS。

      注意事項

      整合安全傳輸協定 (FTPS和Syslog–TLS) 通常需要對防火牆/代理伺服器進行額外設定。

    6. 請對每個防火牆和代理伺服器重複這些資料來源設定步驟,這些日誌可以用來偵測網路流量。 我們建議您為每個網路裝置設置專用資料來源,以協助您:

      • 分別監控每個裝置的狀態,以便調查。
      • 如果每個裝置是由不同的使用者區隔所使用,請依裝置查看 Shadow IT 探索結果。
  3. 在頁面頂端,選擇 「Log collectors 」標籤,然後選擇 「新增log collector」。

  4. 建立日誌收集器 對話框中:

    1. 名稱 欄位輸入一個有意義的日誌收集器名稱。

    2. 給日誌收集器一個 名稱 ,並輸入主機 IP 位址 (你用來部署 Docker 的機器) 的私有 IP 位址。 如果有 DNS 伺服器 (或等效的) 能解析主機名稱,主機 IP 位址可以被機器名稱取代。

    3. 選擇所有你想連接到收集器的資料 來源 ,然後選擇 更新 來儲存設定。

      更多部署資訊會出現在對話框的 「下一步步驟 」區塊,包括你稍後會在步驟 2 – 機器本地部署 時會用到的指令,用來匯入收集器設定。 如果你選擇了 Syslog,這些資訊也會包含 Syslog 監聽器正在監聽哪個埠的資料。

    4. 使用 「複製到剪貼簿」的圖示。複製 按鈕可以把指令複製到剪貼簿,然後儲存到另一個位置。

    5. 請使用 「匯出預期資料來源設定」圖示。匯出 按鈕可匯出預期的資料來源設定。 這個設定說明了你應該如何在家電中設定日誌匯出。

對於首次透過 FTP 傳送日誌資料的使用者,我們建議更改該 FTP 使用者的密碼。 欲了解更多資訊,請參閱 「更改 FTP 密碼」。

步驟 2 – 機器的本地部署

以下步驟描述 Windows 中的部署方式。 其他平台的部署步驟略有不同。

  1. 以管理員身份在你的 Windows 電腦上開啟 PowerShell 終端機。

  2. 執行以下指令下載 Windows Docker 安裝程式的 PowerShell 腳本檔:

    Invoke-WebRequest https://discoveryresources-cdn-prod.cloudappsecurity.com/prod1/public-files/LogCollectorInstaller.ps1 -OutFile (Join-Path $Env:Temp LogCollectorInstaller.ps1) 
    

    要驗證安裝程式是否由 Microsoft 簽署,請參見 「驗證安裝程式簽章」。

  3. 要啟用 PowerShell 腳本執行,請執行:

    Set-ExecutionPolicy RemoteSigned`
    
  4. 要在您的機器上安裝 Docker 用戶端,請執行:

    & (Join-Path $Env:Temp LogCollectorInstaller.ps1)`
    

    執行指令後,機器會自動重啟。

  5. 當機器重新啟動並運作時,再執行一次相同的指令:

    & (Join-Path $Env:Temp LogCollectorInstaller.ps1)`
    
  6. 執行 Docker 安裝程式,選擇使用 WSL 2 取代 Hyper-V。

    安裝完成後,機器會自動重新啟動。

  7. 重新啟動完成後,打開 Docker 用戶端並接受 Docker 訂閱協議。

  8. 如果 WSL2 安裝尚未完成,會顯示訊息表示 WSL 2 Linux 核心已使用獨立的 MSI 更新套件安裝。

  9. 下載套件後完成安裝。 欲了解更多資訊,請參閱 下載 Linux 核心更新套件

  10. 再打開 Docker Desktop 用戶端,確認它已經啟動。

  11. 以管理員身份開啟命令提示字元,並在 步驟 1 – 網頁入口網站設定中輸入你從入口網站複製的執行指令。

    如果你需要設定代理,請加上代理IP位址和埠號。 例如,如果你的代理資料是 172.31.255.255:8080,那麼你更新的執行指令是:

    (echo db3a7c73eb7e91a0db53566c50bab7ed3a755607d90bb348c875825a7d1b2fce) | docker run --name MyLogCollector -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.255.255.255'" -e "PROXY=172.31.255.255:8080" -e "CONSOLE=mod244533.us.portal.cloudappsecurity.com" -e "COLLECTOR=MyLogCollector" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    
  12. 為了驗證集電器是否正常運作,請執行:

    docker logs <collector_name>
    

    你應該看到訊息: 成功完成! 例如:

    docker 日誌輸出截圖顯示「完成成功」訊息,確認日誌收集器正在執行。

步驟 3 - 網路設備的本地配置

請根據 建立記錄收集器 對話方塊中的指示,設定您的網路防火牆和代理伺服器,定期將記錄匯出至 FTP 目錄的專用 Syslog 連接埠。 例如:

BlueCoat_HQ - Destination path: \<<machine_name>>\BlueCoat_HQ\

步驟 4 - 在入口網站確認部署成功

請檢查 日誌收集 器表中的收集器狀態,確保狀態為 已連接。 如果狀態是 Created,則可能是與日誌收集器的連線和剖析程序尚未完成。

確認收集器狀態為已連接。

你也可以進入 治理日誌 ,確認日誌是否定期上傳到入口網站。

或者,你也可以在 docker 容器內使用以下指令檢查日誌收集器的狀態:

  1. 登入容器:

    docker exec -it <Container Name> bash
    
  2. 確認日誌收集器的狀態:

    collector_status -p
    

如果您在部署過程中遇到問題,請參閱 「雲端發現故障排除」。

可選 - 建立自訂連續報告

確認日誌有上傳到 Defender for Cloud Apps,並且有產生報告。 驗證後,建立自訂報告。 你可以根據 Microsoft Entra 使用者群組建立自訂的發現報告。 舉例來說,如果你想看到行銷部門的雲端使用情況,可以用匯入使用者群組功能匯入行銷群組。 接著為這個群組建立自訂報告。 你也可以根據 IP 位址標籤或 IP 位址範圍自訂報告。

  1. 在 Microsoft Defender 入口網站中,選擇設定>雲端應用>雲端發現>持續報告

  2. 選擇 「建立報告 」按鈕並填寫欄位。

  3. 篩選 器中,你可以依資料來源、 匯入使用者群組,或 IP 位址標籤和範圍來篩選資料。

    注意事項

    在連續報告中套用篩選器時,選擇會被包含在內,而非排除。 例如,如果你對某個使用者群組套用篩選器,報告中只會包含該使用者群組。

    自訂連續報告設定頁面的截圖,並附有篩選選項。

可選 - 驗證安裝程式簽章

為了確保 Docker 安裝程式是由 Microsoft 簽署的:

  1. 右鍵點擊檔案並選擇 屬性

  2. 選擇 「數位簽章 」,並確保顯示「 此數位簽章可行」。

  3. 請確保在 簽署人姓名 下,Microsoft Corporation 列為唯一項目。

    顯示 Microsoft 公司有效數位簽章的截圖。

    如果數位簽章無效,系統會顯示 「此數位簽章無效

    顯示數位簽章驗證結果無效的截圖。

後續步驟

如果你遇到任何問題,我們隨時準備協助。 若要獲得產品問題的協助或支援,請 開啟客服單