在 Linux 上排解 適用於端點的 Microsoft Defender 雲端連線問題

執行連接測試

為了測試適用於端點的 Microsoft Defender on Linux是否能用目前的網路設定與雲端通訊,請從命令列執行連線測試:

mdatp connectivity test

預期產出:

Testing connection with https://cdn.x.cp.wd.microsoft.com/ping ... [OK]
Testing connection with https://eu-cdn.x.cp.wd.microsoft.com/ping ... [OK]
Testing connection with https://wu-cdn.x.cp.wd.microsoft.com/ping ... [OK]
Testing connection with https://x.cp.wd.microsoft.com/api/report ... [OK]
Testing connection with https://winatp-gw-cus.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-eus.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-weu.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-neu.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-ukw.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-uks.microsoft.com/test ... [OK]
Testing connection with https://eu-v20.events.data.microsoft.com/ping ... [OK]
Testing connection with https://us-v20.events.data.microsoft.com/ping ... [OK]
Testing connection with https://uk-v20.events.data.microsoft.com/ping ... [OK]
Testing connection with https://v20.events.data.microsoft.com/ping ... [OK]

如果連線測試失敗,請檢查裝置是否有網路連線。 也要檢查代理或防火牆是否會阻擋網路連線。 欲了解更多資訊,請參閱 「驗證裝置可連接 Defender for Endpoint 雲端服務」。

檢查連線是否處於 SSL 或 HTTPS 檢查狀態。 如果是,請將 適用於端點的 Microsoft Defender 加入允許清單。

捲度錯誤 35 或 60 的失敗通常表示憑證釘對拒絕,原因為 TLS/SSL 檢查。 關於診斷步驟與解決方法,請參見 TLS/SSL 檢查

TLS/SSL 檢查

適用於端點的 Microsoft Defender on Linux 不支援 TLS/SSL 檢查。

症狀或錯誤 其指示 必要行動
curl error 60 憑證驗證失敗。 TLS/SSL 檢查是啟用的。 設定繞過系統。
CERTIFICATE_VERIFY_FAILED 證書鏈已被更換。 TLS/SSL 檢查是啟用的。 設定繞過系統。
HTTP 502 Bad Gateway TLS 會話被代理或防火牆干擾。 TLS/SSL 檢查是啟用的。 設定繞過系統。

要確認是否啟用 TLS/SSL 檢查,請執行以下指令:

curl -v https://winatp-gw-weu.microsoft.com 2>&1 | grep "issuer"
curl -v https://packages.microsoft.com 2>&1 | grep "issuer"

請在輸出中查看憑證發行者。 發行人必須是Microsoft,而不是你的代理證書授權機構 (加州) 。 如果它反映的是你組織的代理或防火牆憑證授權機構 (CA) ,那麼 TLS/SSL 檢查是啟動的,會破壞適用於端點的 Microsoft Defender連線。

務必豁免所有 適用於端點的 Microsoft Defender 服務域,免除代理或防火牆的 TLS/SSL 檢查。 套用變更後,執行:

sudo systemctl restart mdatp
mdatp connectivity test

無代理伺服器或透明代理環境的故障排除步驟

為了測試在沒有代理或透明代理的環境中連線是否被阻塞,請在終端機執行以下指令:

curl -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'https://cdn.x.cp.wd.microsoft.com/ping'

此指令的輸出應該類似於:

OK https://x.cp.wd.microsoft.com/api/report
OK https://cdn.x.cp.wd.microsoft.com/ping

靜態代理環境的故障排除步驟

警告

PAC、WPAD 和認證代理都不支援。 請確保你只使用靜態代理或透明代理。

出於安全考量,不支援 SSL 檢查和攔截代理。 設定一個 SSL 檢查的例外,並讓代理伺服器直接將 Defender for Endpoint 在 Linux 上的資料傳送到相關網址,且不會被攔截。 將攔截憑證加入全球商店並不允許攔截。

若需要靜態代理,請在上述指令中加入代理參數,其中 proxy_address:port 對應代理位址與埠口:

curl -x http://proxy_address:port -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'https://cdn.x.cp.wd.microsoft.com/ping'

使用檔案中 /lib/system/system/mdatp.service 設定的相同代理位址和埠口。 如果前面的指令有錯誤,請檢查你的代理設定。

要設定 mdatp 的代理,請使用以下指令:

mdatp config proxy set --value http://address:port 

如果指令成功,請再從命令列進行一次連線測試:

mdatp connectivity test

如果問題持續,請聯絡客服。

資源

欲了解更多如何配置產品以使用靜態代理的資訊,請參閱「配置 適用於端點的 Microsoft Defender」以偵測靜態代理