離線安全性情報更新的運作方式
本文說明如何在 Linux 上的適用於端點的 Defender 中設定離線安全性情報更新。 此功能可讓您更新安全情報 (也稱為 定義 或 簽章 ,) 在有限或沒有暴露於網際網路的 Linux 裝置上。 使用此設定時,您會使用本機裝載伺服器,稱為 鏡像伺服器,該伺服器會連線到 Microsoft 雲端,以下載安全性情報更新。 其他 Linux 裝置會以預先定義的間隔從鏡像伺服器提取這些更新。
使用離線安全性情報更新的優點
主要優點包括:
- 您的安全團隊可以控制和管理本機伺服器上簽章下載的頻率,以及端點從本機伺服器提取簽章的頻率。
- 您擁有額外的保護和控制層,因為下載的簽章可以在傳播到整個機群之前在測試裝置上進行測試。
- 您需要較少的網路頻寬,因為只有一部本機伺服器會代表整個機群從 Microsoft 雲端取得最新更新。
- 您的鏡像伺服器可以執行 Windows、Mac 或 Linux,而且您不需要在該伺服器上安裝適用於端點的 Defender。
- 您可以獲得最新的防病毒保護,因為簽名始終與最新的兼容防病毒引擎一起下載。
- 舊版簽章 (
n-1) 會在每次反覆專案中移至鏡像伺服器上的備份資料夾。 如果最新更新有問題,您可以n-1將簽名版本從備份資料夾提取到您的裝置。 - 在極少數情況下,離線更新失敗,您可以設定後援選項,以從 Microsoft 雲端取得線上更新。
離線安全性情報更新的運作方式
- 您設定鏡像伺服器,這是 Microsoft 雲端可連線的本機 Web 或 NFS 伺服器。
- 簽章是透過在本機伺服器上使用 cron 作業或工作排程器執行指令碼,從此鏡像伺服器上的 Microsoft 雲端下載。
- 執行適用於端點的 Defender 的 Linux 端點會以預先定義的時間間隔從鏡像伺服器提取下載的簽章。
- 從本機伺服器提取到 Linux 裝置的簽章在載入防毒引擎之前會先進行驗證。
- 若要開始和設定更新程序,您可以更新 Linux 裝置上的受管理組態 json 檔案。
- 您可以在 mdatp CLI 中檢視更新的狀態。
圖 1:鏡像伺服器上下載安全情報更新的流程圖
圖 2:Linux 端點上安全情報更新的流程圖
鏡像伺服器可以執行下列任何作業系統:
- Linux (任何風格)
- Windows (任何版本)
- Mac (任何版本)
必要條件
適用於端點的 Defender 版本
101.24022.0001或更新版本必須安裝在 Linux 端點上。Linux 端點必須連線到鏡像伺服器。
Linux 端點必須執行任何適用於端點的 Defender 支援的發行版本。 (請參閱 支援的 Linux 發行版本 ) 。
鏡像伺服器可以是 HTTP/HTTPS 伺服器或網路共用伺服器,例如 NFS 伺服器。
鏡像伺服器必須能夠存取下列 URL:
https://github.com/microsoft/mdatp-xplat.githttps://go.microsoft.com/fwlink/?linkid=2144709
鏡像伺服器應該支援 bash 或 PowerShell。
鏡像伺服器需要下列最低系統規格:
CPU核心 RAM 可用磁碟 交易 2 個核心 (首選的 4 核心) 最低 1 GB (首選 4 GB) 2 GB 系統相依 注意事項
此配置可能會因所服務的要求數目及每部伺服器必須處理的負載而有所不同。
設定鏡像伺服器
注意事項
- 鏡像伺服器的管理和擁有權完全由客戶負責,因為它位於客戶的專用環境中。
- 鏡像伺服器不需要安裝適用於端點的 Defender。
取得離線安全性情報下載器腳本
Microsoft 在此 GitHub 存放庫上裝載離線安全性情報下載器腳本。
執行以下步驟以獲取下載器腳本:
選項 1:將存放庫複製 (慣用)
在鏡像伺服器上安裝git。
導覽至您要複製存放庫的目錄。
執行下列命令:
git clone https://github.com/microsoft/mdatp-xplat.git
選項 2:下載壓縮檔案
複製存放庫或下載壓縮檔案後的本機目錄結構
複製儲存庫或下載壓縮檔案後,本機目錄結構應如下:
user@vm:~/mdatp-xplat$ tree linux/definition_downloader/
linux/definition_downloader/
├── README.md
├── settings.json
├── settings.ps1
├── xplat_offline_updates_download.ps1
└── xplat_offline_updates_download.sh
0 directories, 5 files
注意事項
瀏覽 README.md 檔案以詳細瞭解如何使用腳本。
該 settings.json 檔案包含一些變數,使用者可以配置這些變數來決定腳本執行的輸出。
| 欄位名稱 | 值 | 描述 |
|---|---|---|
downloadFolder |
字串 | 對應至指令碼下載檔案的位置。 |
downloadLinuxUpdates |
bool | 當設定為 true時,指令碼會將 Linux 特定更新下載至 downloadFolder. |
logFilePath |
字串 | 在指定的資料夾中設定診斷記錄。 如果有任何問題,可以與 Microsoft 共用此檔案,以偵錯腳本。 |
downloadMacUpdates |
bool | 指令碼會將 Mac 特定的更新下載至 downloadFolder. |
downloadPreviewUpdates |
bool | 下載適用於特定作業系統的更新預覽版。 |
backupPreviousUpdates |
bool | 允許指令碼複製資料夾中的 _back 先前更新,並將新更新下載到 downloadFolder。 |
執行離線安全情報下載器指令碼
若要手動執行下載器指令碼,請根據上一節中的說明設定檔案中的 settings.json 參數,並根據鏡像伺服器的作業系統使用下列其中一個命令:
猛擊:
./xplat_offline_updates_download.shPowerShell:
./xplat_offline_updates_download.ps1
注意事項
排程 cron 作業 以執行此指令碼,以定期在鏡像伺服器中下載最新的安全性情報更新。
在鏡像伺服器上裝載離線安全性情報更新
執行指令碼後,最新的簽章會下載到檔案 (updates.zip) 中settings.json設定的資料夾。
下載簽名 zip 後,可以使用鏡像伺服器來託管它。 鏡像伺服器可以使用任何 HTTP/HTTPS/網路共用伺服器或本機/遠端掛接點來裝載。
託管後,複製託管伺服器的絕對路徑 (,但不包括 arch_* 目錄) 。
注意事項
例如,如果下載器腳本是使用 downloadFolder=/tmp/wdav-update執行的,而 HTTP 伺服器 (www.example.server.com:8000) 託管 /tmp/wdav-update 了該路徑,則對應的 URI 為: www.example.server.com:8000/linux/production/ (驗證目錄內是否有 arch_* 目錄) 。
您也可以使用目錄的絕對路徑 (本端/遠端裝載點) 。 例如,如果指令碼將檔案下載到目錄 /tmp/wdav-update中,則對應的 URI 為:/tmp/wdav-update/linux/production。
設定鏡像伺服器之後,您必須將此 URI 傳播至 Linux 端點,作為受管理組態中的 , offlineDefinitionUpdateUrl 如下一節所述。
設定端點
使用下列範例 mdatp_managed.json ,並根據組態更新參數,並將檔案複製到位置 /etc/opt/microsoft/mdatp/managed/mdatp_managed.json。
{
"cloudService": {
"automaticDefinitionUpdateEnabled": true,
"definitionUpdatesInterval": 1202
},
"antivirusEngine": {
"offlineDefinitionUpdateUrl": "http://172.22.199.67:8000/linux/production/",
"offlineDefinitionUpdateFallbackToCloud":false,
"offlineDefinitionUpdate": "enabled"
},
"features": {
"offlineDefinitionUpdateVerifySig": "enabled"
}
}
| 欄位名稱 | 值 | Comments |
|---|---|---|
automaticDefinitionUpdateEnabled |
True/False |
判斷適用於端點的 Defender 嘗試自動執行更新的行為,分別開啟或關閉。 |
definitionUpdatesInterval |
數值 | 每次自動更新簽章之間的間隔時間 (以秒) 為單位。 |
offlineDefinitionUpdateUrl |
字串 | 作為鏡像伺服器設定的一部分所產生的 URL 值。 這可以是遠端伺服器 URL 或本機/遠端掛載點) (目錄。 如需如何指定此路徑的相關資訊,請參閱上一節。 |
offlineDefinitionUpdate |
enabled/disabled |
設定為 enabled時,會啟用離線安全情報更新功能,反之亦然。 |
offlineDefinitionUpdateFallbackToCloud |
True/False |
當離線鏡像伺服器無法提供更新要求時,判斷適用於端點的 Defender 安全性情報更新方法。 如果設定為 true,則會在離線安全性情報更新失敗時,透過 Microsoft 雲端重試更新;否則,反之亦然。 |
offlineDefinitionUpdateVerifySig |
enabled/disabled |
當設定為 enabled時,下載的定義會在端點上進行驗證;否則,反之亦然。 |
注意事項
目前,離線安全性情報更新只能透過受控 json 在 Linux 端點上設定。 與適用於端點的 Defender 入口網站中的 Microsoft Defender 安全性設定管理整合在藍圖上,但尚未提供。
驗證組態
若要測試設定是否正確套用在 Linux 端點上,請執行下列命令:
mdatp health --details definitions
範例輸出看起來像以下程式碼片段:
user@vm:~$ mdatp health --details definitions
automatic_definition_update_enabled : true [managed]
definitions_updated : Mar 14, 2024 at 12:13:17 PM
definitions_updated_minutes_ago : 2
definitions_version : "1.407.417.0"
definitions_status : "up_to_date"
definitions_update_source_uri : "https://go.microsoft.com/fwlink/?linkid=2144709"
definitions_update_fail_reason : ""
offline_definition_url_configured : "http://172.XX.XXX.XX:8000/linux/production/" [managed]
offline_definition_update : "enabled" [managed]
offline_definition_update_verify_sig : "enabled"
offline_definition_update_fallback_to_cloud : false[managed]
觸發離線安全情報更新
自動更新
- 如果防毒引擎的強制執行層級設定為
real_time,且受管理 jsontrue中的欄位automaticDefinitionUpdateEnabled和offline_definition_update設定為 ,則會定期自動觸發離線安全情報更新。 - 依預設,此週期性間隔為 8 小時。 但可以透過在受控 json 中設定
definitionUpdatesInterval參數來設定它。
手動更新
若要手動觸發離線安全性情報更新,以從 Linux 端點上的鏡像伺服器下載簽章,請執行下列命令:
mdatp definitions update
檢查更新狀態
使用自動或手動方法觸發離線安全性情報更新之後,請執行命令
mdatp health --details --definitions來確認更新成功:。驗證下列欄位:
user@vm:~$ mdatp health --details definitions ... definitions_status : "up_to_date" ... definitions_update_fail_reason : "" ...
疑難排解和診斷
如果更新失敗、停滯或無法啟動,請遵循下列步驟進行疑難排解:
使用下列命令檢查離線安全性情報更新的狀態:
mdatp health --details definitions在該
definitions_update_fail_reason部分中查找信息。確保
offline_definition_update和offline_definition_update_verify_sig已啟用。請確定 等
definitions_update_source_uri於offline_definition_url_configured。-
definitions_update_source_uri是下載簽名的來源。 -
offline_definition_url_configured是應從中下載簽章的來源,即受管理設定檔中提到的來源。
-
嘗試執行連線測試,以檢查鏡像伺服器是否可從主機連線:
mdatp connectivity test嘗試使用下列命令起始手動更新:
mdatp definitions update