共用方式為


進階記錄收集器管理

本文說明如何為 適用於雲端的 Defender Apps 雲端探索記錄收集器設定進階選項。

適用於雲端的 Defender Apps 雲端探索會持續專注於基底防火牆格式。 在防火牆層級轉送的記錄變更可能無法繼續運作,或可能會導致剖析問題。 如果您發現這類錯誤,建議您繼續使用基底防火牆格式,或搭配自定義記錄收集器使用選項。 如需詳細資訊,請參閱使用自訂記錄檔剖析器

本文說明如何修改 適用於雲端的 Defender Apps 雲端探索 Docker 的組態。

修改記錄收集器 FTP 組態

使用下列各節中的這些步驟來修改 適用於雲端的 Defender Apps 雲端探索 Docker 的組態。

確認記錄收集器版本

若要確認系統上目前安裝的記錄收集器版本,請連線到記錄收集器主機並執行:

cat /var/adallom/versions | grep columbus-

變更 FTP 密碼

此程式描述如何變更用來存取記錄收集器檔案的密碼:

  1. 線上到記錄收集器主機並執行:

    docker exec -it <collector name> pure-pw passwd <ftp user>
    
  2. 輸入您的新密碼,然後再次輸入以確認。

  3. 執行下列命令以套用變更:

    docker exec -it <collector name> pure-pw mkdb
    

您應該能夠檢視下列內容:

  • run_logs
  • ssl_update
  • config.json

自訂憑證檔

此程式描述如何自定義用於安全連線到雲端探索 Docker 實例的憑證檔案。

  1. 開啟 FTP 用戶端並連線到記錄收集器主機。

  2. 瀏覽至 ssl_update 目錄並上傳新的憑證檔案,包括下列檔案:

    接收者類型 必要的檔案
    FTP - pure-ftpd.pem:包含密鑰和憑證數據
    Syslog - ca.pem:用來簽署客戶端憑證的證書頒發機構單位憑證。
    - server-key.pemserver-cert.pem:記錄收集器的憑證和密鑰

    Syslog 訊息會透過 TLS 傳送至記錄收集器,這需要相互 TLS 驗證,包括驗證客戶端和伺服器憑證。

    檔名是必要專案。 如果遺漏任何檔案,更新就會失敗。

  3. 在終端機視窗中,執行:

    docker exec -t <collector name> update_certs
    

    輸出看起來應該類似下列程式代碼:

    root@DockerPlayground:~# docker exec -t columbus update_certs
    rsyslog: stopped
    rsyslog: started
    ftpd: stopped
    ftpd: started
    root@DockerPlayground:~#
    
  4. 在終端機視窗中,執行:

    docker exec <collector name> chmod -R 700 /etc/ssl/private/
    

在 Proxy 後方啟用記錄收集器

如果您在 Proxy 後方執行,記錄收集器可能會有傳送數據至 適用於雲端的 Defender Apps 的問題。 例如,這可能是因為記錄收集器不信任 Proxy 的跟證書授權單位,而且無法連線到 適用於雲端的 Microsoft Defender Apps 來擷取其組態或上傳已接收的記錄。

下列程序說明如何啟用 Proxy 後方的記錄收集器。

提示

您也可以變更 Syslog 或 FTP 記錄收集器所使用的憑證,或將防火牆和 Proxy 的連線問題解析為記錄收集器。 如需詳細資訊,請參閱 修改記錄收集器 FTP 組態

在 Proxy 後方設定記錄收集器

請確定您已執行在 Windows 或 Linux 電腦上執行 Docker 的必要步驟,並已成功將 適用於雲端的 Defender Apps Docker 映像下載到主電腦上。

如需詳細資訊,請參閱針對連續報告設定自動記錄上傳

驗證 Docker 記錄收集器容器建立

確認容器已建立並正在執行。 在殼層中,執行:

docker ps

您應該會看到類似下面的輸出:

執行 Docker 容器的螢幕快照。

將 Proxy 根 CA 憑證複製到容器

從虛擬機將 CA 憑證複製到 適用於雲端的 Defender Apps 容器。 在下列範例中,容器的名稱是 Ubuntu-LogCollector 而 CA 憑證的名稱是 Proxy-CA.crt

下列命令會將憑證複製到執行中容器中的資料夾。 在 Ubuntu 主機上執行 命令:

docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery

設定組態以搭配 CA 憑證使用

  1. 進入容器。 執行下列命令以在記錄收集器容器中開啟 bash:

    docker exec -it Ubuntu-LogCollector /bin/bash
    
  2. 從容器內的 bash 視窗中,移至 Java jre 資料夾。 若要避免版本相關的路徑錯誤,請使用下列命令:

    cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)"
    cd bin
    
  3. 將您稍早複製的跟證書,從 探索 資料夾匯入 Java KeyStore 並定義密碼。

    預設密碼為 changeit。 如需詳細資訊,請參閱 變更 Java KeyStore 密碼

    ./keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
    
  4. 確認憑證已正確匯入 CA 金鑰存放區。 執行下列命令來搜尋您在匯入期間提供的別名 (SelfSignedCert):

    ./keytool --list --keystore ../lib/security/cacerts | grep self
    

隨即會顯示匯入的 Proxy CA 憑證。

限制將 syslog 訊息傳送至 Linux 上的記錄收集器的 IP 位址

若要保護 Docker 映射,並確保只允許一個 IP 位址將 syslog 訊息傳送至記錄收集器,請在主電腦上建立 IP 數據表規則,以允許輸入流量,並卸除來自特定埠的流量,例如 TCP/601 或 UDP/514,視部署而定。

下列命令示範如何建立可新增至主計算機的IP數據表規則範例。 下表規則可讓IP位址'1.2.3.4'透過 TCP 連接埠 601 連線到記錄收集器容器,並卸除來自相同埠之其他 IP 位址的所有其他連線。

iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP

將記錄收集器設定為使用新的設定執行

容器現在已就緒。

使用您在建立記錄收集器期間所使用的 API 令牌執行 collector_config 命令。 例如:

[建立記錄收集器] 對話框的螢幕快照。

當您執行命令時,請指定自己的 API 令牌,例如 collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}

例如:

組態更新範例的螢幕快照。

記錄收集器現在能夠與 適用於雲端的 Defender Apps 通訊。 將數據傳送至 適用於雲端的 Defender Apps 之後,記錄收集器的狀態會從 [狀況良好] 變更為 [已連線]。 例如:

上傳狀態的螢幕快照。

注意

若您必須更新收集器的設定 (例如,為了要新增或移除資料來源),您一般必須刪除容器並重新執行前面的步驟。

若要避免這種情況,您可以使用 適用於雲端的 Defender Apps 入口網站中產生的新 API 令牌,重新執行 collector_config 工具。

變更 Java KeyStore 密碼

  1. 停止 Java KeyStore 伺服器。

  2. 開啟容器內的Bash殼層,然後移至 appdata/conf 資料夾。

  3. 若要變更伺服器 KeyStore 密碼,請執行:

    keytool -storepasswd -new newStorePassword -keystore server.keystore
    -storepass changeit
    

    預設伺服器密碼為 changeit

  4. 若要變更憑證密碼,請執行:

    keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePassword
    

    預設伺服器別名為 伺服器

  5. 在文本編輯器中 ,開啟 server-install\conf\server\secured-installed.properties 檔案。 新增下列幾行程式代碼,然後儲存變更:

    1. 指定伺服器的新 Java KeyStore 密碼: server.keystore.password=newStorePassword
    2. 指定伺服器的新憑證密碼: server.key.password=newKeyPassword
  6. 啟動伺服器。

將記錄收集器移至Linux上的不同資料分割

許多公司都要求將數據移至個別的數據分割。 此程序說明如何將 適用於雲端的 Defender Apps Docker 記錄收集器映射移至 Linux 主機上的數據分割區。

此程式描述將數據移至名為 數據存放區 的數據分割,並假設您已經掛接分割區。 例如:

Linux 磁碟分區的清單。

在Linux主機上新增和設定新的分割區不在本指南的範圍內。

若要將記錄收集器移至不同的分割區:

  1. 停止 Docker 服務。 請執行:

    service docker stop
    
  2. 將記錄收集器數據移至新的分割區。 請執行:

    mv /var/lib/docker /datastore/docker
    
  3. 拿掉舊的 Docker 記憶體目錄 (/var/lib/docker),並建立新目錄 (/datastore/docker) 的符號連結。 請執行:

    rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
    
  4. 啟動 Docker 服務。 請執行:

    service docker start
    
  5. 選擇性地確認記錄收集器的狀態。 請執行:

    docker ps
    

檢查 Linux 上的記錄收集器磁碟使用量

此程式描述如何檢閱記錄收集器磁碟使用量和位置。

  1. 識別記錄收集器數據儲存所在的目錄路徑。 請執行:

    docker inspect <collector_name> | grep WorkDir
    

    例如:

    如何識別記錄收集器目錄的螢幕快照。

  2. 使用沒有 「/work」 後綴的已識別路徑,取得記錄收集器磁碟上的大小。 請執行:

    du -sh /var/lib/docker/overlay2/<log_collector_id>/
    

    如何識別磁碟上記錄收集器大小的螢幕快照。

    注意

    如果您只需要知道磁碟上的大小,您可以改用下列命令: docker ps -s

將記錄收集器移至可存取的主機

在受管制的環境中,可能會封鎖裝載記錄收集器映像的 Docker 中樞。 這可防止 適用於雲端的 Defender Apps 從記錄收集器匯入數據,並可解析我的記錄收集器映像移至可存取的主機。

此程式描述如何使用可存取 Docker Hub 的電腦下載記錄收集器映像,並將其匯入目的地主機。

下載的映像可以匯入私人存放庫中,或直接在您的主機上匯入。 此程式說明如何將記錄收集器映射下載到 Windows 計算機,然後使用 WinSCP 將記錄收集器移至您的目的地主機。

必要條件

  1. 請確定您已在主機上安裝 Docker。 例如,使用下列其中一項下載:

  2. 下載之後,請使用 Docker 的 離線安裝指南 來安裝您的作業系統。

    匯出 記錄收集器映像 ,然後將 映射匯入目的地主機,以啟動程式。

從 Docker Hub 匯出記錄收集器映像

下列程序說明如何使用 Linux 或 Windows 匯出記錄收集器映像。

匯出Linux上的映像

  1. 在可存取 Docker Hub 的 Linux 電腦上,執行下列命令來安裝 Docker 並下載記錄收集器映像。

    curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
    
  2. 匯出記錄收集器映像。 請執行:

    docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector
    chmod +r /tmp/mcasLC.tar
    

    重要

    請務必使用 輸出 參數來寫入檔案, 而不是 STDOUT

  3. 使用 WinSCP 將記錄收集器映射下載到 Windows 電腦 C:\mcasLogCollector\ 。 例如:

    將記錄收集器下載到 Windows 電腦的螢幕快照。

在 Windows 上匯出映像

  1. 在可存取 Docker Hub 的 Windows 10 計算機上,安裝 Docker Desktop

  2. 下載記錄收集器映像。 請執行:

    docker login -u caslogcollector -p C0llector3nthusiast
    docker pull mcr.microsoft.com/mcas/logcollector
    
  3. 匯出記錄收集器映像。 請執行:

    docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollector
    

    重要

    請務必使用 輸出 參數來寫入檔案, 而不是 STDOUT

將記錄收集器映像匯入並載入目的地主機

此程式描述如何將導出的映像傳輸至目的地主機。

  1. 將記錄收集器映像上傳至 您的目的地主機。。/tmp/ 例如:

    將記錄收集器上傳至目的地主機的螢幕快照。

  2. 在目的地主機上,將記錄收集器映射匯入 Docker 映像存放庫。 請執行:

    docker load --input /tmp/mcasLC.tar
    

    例如:

    將記錄收集器映像匯入 Docker 存放庫的螢幕快照。

  3. 選擇性地確認匯入已順利完成。 請執行:

    docker image ls
    

    例如:

    確認記錄收集器匯入成功之螢幕快照。

    您現在可以繼續使用來自目的地主機的映像來 建立記錄收集器

為 Linux 上的記錄收集器定義 Syslog 和 FTP 接收器的自定義埠

某些組織需要定義 Syslog 和 FTP 服務的自定義埠。

當您新增數據源時,適用於雲端的 Defender Apps 記錄收集器會使用特定的埠號碼來接聽來自一或多個數據源的流量記錄。

下表列出接收者的預設接聽埠:

接收者類型 連接埠
Syslog * UDP/514 - UDP/51x
* TCP/601 - TCP/60x
FTP * TCP/21

使用下列步驟來定義自訂埠:

  1. 在 Microsoft Defender 入口網站中,選取 [ 設定]。 然後選擇 [ 雲端應用程式]。

  2. 在 [Cloud Discovery] 底下,選取 [自動記錄上傳]。 然後選取 [ 記錄收集器] 索引標籤

  3. 在 [ 記錄收集器] 索引 標籤上,新增或編輯記錄收集器,並在更新數據源之後,從對話框複製執行命令。 例如:

    從記錄收集器精靈複製執行命令。

    如果使用所提供的 ,則精靈提供的命令會將記錄收集器設定為使用埠 514/udp 和 515/udp。 例如:

    (echo <credentials>) | docker run --name LogCollector1 -p 514:514/udp -p 515:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    例如:

    從記錄收集器精靈執行命令的螢幕快照。

  4. 在主電腦上使用 命令之前,請先修改 命令以使用您的自定義埠。 例如,若要將記錄收集器設定為使用UDP埠414和415,請變更 命令,如下所示:

    (echo <credentials>) | docker run --name LogCollector1 -p 414:514/udp -p 415:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    例如:

    自訂執行命令的螢幕快照。

    注意

    只會修改 Docker 對應。 內部指派的埠不會變更,因此您可以選擇主機上的任何接聽埠。

驗證 Linux 上記錄收集器收到的流量和記錄格式

有時候,您可能需要調查下列問題:

  • 記錄收集器正在接收數據:驗證記錄收集器是否接收來自您設備的 Syslog 訊息,而且不會遭到防火牆封鎖。
  • 收到的數據格式正確:驗證記錄格式,以協助您藉由比較 適用於雲端的 Defender Apps 所預期的記錄格式,以及設備所傳送的錯誤,來針對剖析錯誤進行疑難解答。

使用下列步驟來確認記錄收集器已收到流量:

  1. 登入裝載 Docker 容器的伺服器。

  2. 使用下列任何方法驗證記錄收集器是否接收 Syslog 訊息:

    • 使用 tcpdump 或類似的命令來分析連接埠 514 上的網路流量:

      tcpdump -Als0 port 514
      

      如果一切都已正確設定,您應該會看到來自您設備的網路流量。 例如:

      透過 tcpdump 分析網路流量的螢幕快照。

    • 使用 netcat 或類似的命令來分析主計算機上的網路流量:

      1. 安裝 netcatwget

      2. 從 Microsoft Defender 全面偵測回應 下載範例記錄檔。 如有需要,請解壓縮記錄檔。

        1. 在 [Microsoft Defender 全面偵測回應] 的 [Cloud Apps] 下,選取 [Cloud Discovery>Actions>建立 Cloud Discovery 快照集報告]。

        2. 選取您要上傳記錄檔的 [資料來源]

        3. 選取 [ 檢視],然後以 滑鼠右鍵按兩下 [下載範例記錄] ,然後複製URL位址連結。

        4. 選取 [關閉>取消]。

      3. 請執行:

        wget <URL_address_to_sample_log>
        
      4. 執行 netcat 以將數據串流至記錄收集器。

        cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
        

      如果已正確設定收集器,記錄數據會出現在訊息檔案中,並在之後不久上傳至 適用於雲端的 Defender Apps 入口網站。

    • 檢查 適用於雲端的 Defender Apps Docker 容器內的相關檔案:

      1. 登入容器。 請執行:

        docker exec -it <Container Name> bash
        
      2. 判斷 Syslog 訊息是否正在寫入訊息檔案。 請執行:

        cat /var/adallom/syslog/<your_log_collector_port>/messages
        

      如果一切都已正確設定,您應該會看到來自您設備的網路流量。 例如:

      使用 cat 命令分析流量的螢幕快照。

      注意

      此檔案會繼續寫入,直到達到大小為 40 KB 為止。 例如:

  3. 檢閱上傳至 目錄中 適用於雲端的 Defender Apps 的/var/adallom/discoverylogsbackup記錄。 例如:

    檢閱上傳的記錄檔。

  4. 藉由比較儲存在 /var/adallom/discoverylogsbackup 適用於雲端的 Defender Apps 建立記錄收集器精靈中提供的範例記錄格式,驗證記錄收集器所收到的記錄格式。

將訊息檔案的輸出寫入本機檔案

如果您想要使用自己的範例記錄檔,但無法存取設備,請使用下列命令將位於記錄收集器 syslog 目錄的訊息檔案輸出寫入主機上的本機檔案:

docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log

比較輸出檔案 (/tmp/log.log) 與儲存在目錄中的 /var/adallom/discoverylogsbackup 訊息。

更新記錄收集器版本

更新記錄收集器時:

  • 安裝新版本之前,請務必停止記錄收集器並移除目前的映像。
  • 安裝新版本之後, 請更新您的憑證檔案

下一步

如果您遇到任何問題,我們會在這裡提供説明。 若要取得產品問題的協助或支援,請 開啟支援票證