适用于:
- 服务器的Microsoft Defender for Endpoint
- 服务器计划 1 或计划 2 的Microsoft Defender
脱机安全智能更新的工作原理
本文介绍如何在 Linux 上的 Defender for Endpoint 中配置脱机安全智能更新。 此功能使你能够更新安全智能 (也称为定义或签名) 在 Linux 设备上,这些设备对 Internet 有限制或没有公开。 通过此配置,可以使用本地托管服务器(称为 镜像 服务器)连接到 Microsoft 云来下载安全智能更新。 其他 Linux 设备以预定义的时间间隔从 镜像 服务器拉取这些更新。
使用脱机安全智能更新的好处
主要的优点包括:
- 安全团队可以控制和管理本地服务器上的签名下载频率,以及终结点从本地服务器拉取签名的频率。
- 你有额外的保护和控制层,因为下载的签名可以在测试设备上进行测试,然后再将其传播到整个队列。
- 需要较少的网络带宽,因为只有一台本地服务器代表整个机群从Microsoft云获取最新更新。
- 镜像服务器可以运行 Windows、Mac 或 Linux,无需在该服务器上安装 Defender for Endpoint。
- 你将获得最新的防病毒保护,因为签名始终随最新的兼容防病毒引擎一起下载。
- 在每次迭代中
n-1
, () 的旧版签名将移动到 镜像 服务器上的备份文件夹。 如果最新更新出现问题,可以将签名版本从备份文件夹拉n-1
取到设备。 - 在极少数情况下,脱机更新失败时,可以配置回退选项,从Microsoft云获取联机更新。
脱机安全智能更新的工作原理
- 你设置了一个镜像服务器,它是可由Microsoft云访问的本地 Web 或 NFS 服务器。
- 通过使用本地服务器上的 cron 作业或任务计划程序执行脚本,从此 镜像 服务器上的 Microsoft 云下载签名。
- 运行 Defender for Endpoint 的 Linux 终结点按预定义的时间间隔从 镜像 服务器提取下载的签名。
- 从本地服务器拉取到 Linux 设备的签名先进行验证,然后再将其加载到防病毒引擎中。
- 若要启动并配置更新过程,可以在 Linux 设备上更新托管配置 json 文件。
- 可以在 mdatp CLI 中查看更新的状态。
图 1:镜像服务器上用于下载安全智能更新的进程流程图
图 2:用于安全智能更新的 Linux 终结点上的流程图
镜像服务器可以运行以下任何作系统:
- Linux (任何风格)
- Windows (任何版本)
- Mac (任何版本)
先决条件
必须在 Linux 终结点上安装 Defender for Endpoint 版本
101.24022.0001
或更高版本。Linux 终结点需要连接到 镜像 服务器。
Linux 终结点必须运行任何 Defender for Endpoint 支持的分发版。 (请参阅 支持的 Linux 发行版。)
镜像服务器可以是 HTTP/HTTPS 服务器,也可以是网络共享服务器,例如 NFS 服务器。
镜像服务器需要有权访问以下 URL:
https://github.com/microsoft/mdatp-xplat.git
https://go.microsoft.com/fwlink/?linkid=2144709
镜像服务器应支持 bash 或 PowerShell。
镜像服务器需要以下最低系统规范:
CPU 核心 RAM 可用磁盘 交换 2 核 (首选 4 核) 最小 1 GB (首选 4 GB) 2 GB 系统依赖 注意
此配置可能因所处理的请求数和每个服务器必须处理的负载而异。
配置镜像服务器
注意
- 镜像服务器的管理和所有权完全由客户拥有,因为它驻留在客户的专用环境中。
- 镜像服务器不需要安装 Defender for Endpoint。
获取脱机安全智能下载器脚本
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 |
string | 映射到脚本将文件下载到的位置。 |
downloadLinuxUpdates |
布尔值 |
true 设置为 时,脚本会将特定于 Linux 的downloadFolder 更新下载到 。 |
logFilePath |
string | 在给定文件夹中设置诊断日志。 如果遇到任何问题,可以与 Microsoft 共享此文件,以便调试脚本。 |
downloadMacUpdates |
布尔值 | 该脚本会将特定于 Mac 的更新下载到 downloadFolder 。 |
downloadPreviewUpdates |
布尔值 | 下载可用于特定 OS 的更新的预览版本。 |
backupPreviousUpdates |
布尔值 | 允许脚本在 文件夹中复制以前的更新 _back ,并将新更新下载到 downloadFolder 。 |
执行脱机安全智能下载器脚本
若要手动执行下载器脚本,请根据上一部分中的说明在 settings.json
文件中配置参数,并根据镜像服务器的 OS 使用以下命令之一:
Bash:
./xplat_offline_updates_download.sh
PowerShell:
./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 作为offlineDefinitionUpdateUrl
托管配置中的 传播到 Linux 终结点,如下一部分所述。
配置终结点
使用以下示例 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 for Endpoint 尝试自动执行更新的行为,是否分别处于打开或关闭状态。 |
definitionUpdatesInterval |
数值 | 每次自动更新签名的间隔时间 (秒) 。 |
offlineDefinitionUpdateUrl |
String | 作为镜像服务器设置的一部分生成的 URL 值。 这可以是远程服务器 URL 或目录 (本地/远程装载点) 。 有关如何指定此路径的信息,请参阅上一部分。 |
offlineDefinitionUpdate |
enabled /disabled |
enabled 设置为 时,将启用脱机安全智能更新功能,反之亦然。 |
offlineDefinitionUpdateFallbackToCloud |
True /False |
在脱机镜像服务器无法为更新请求提供服务时确定 Defender for Endpoint 安全智能更新方法。 如果设置为 true ,则脱机安全智能更新失败时,将通过Microsoft云重试更新;否则,反之亦然。 |
offlineDefinitionUpdateVerifySig |
enabled /disabled |
如果设置为 enabled ,则会在终结点上验证下载的定义;否则,反之亦然。 |
注意
目前,只能通过托管 json 在 Linux 终结点上配置脱机安全智能更新。 与 Microsoft Defender 门户中的 Defender for Endpoint 安全设置管理集成已在路线图中,但尚不可用。
验证配置
若要测试是否在 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
,并且托管 json 中的字段automaticDefinitionUpdateEnabled
和offline_definition_update
设置为true
,则定期自动触发脱机安全智能更新。 - 默认情况下,此定期间隔为 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