为Linux上的Microsoft Defender for Endpoint配置脱机安全智能更新

脱机安全智能更新的工作原理

本文介绍如何在 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 云下载签名。
  • Linux运行 Defender for Endpoint 的终结点按预定义的时间间隔从 镜像 服务器拉取下载的签名。
  • 从本地服务器拉取到Linux设备的签名先进行验证,然后再将其加载到防病毒引擎中。
  • 若要开始并配置更新过程,可以在Linux设备上更新托管配置 json 文件。
  • 可以在 mdatp CLI 中查看更新的状态。

用于下载安全智能更新的镜像服务器上的流程图

图 1:镜像服务器上用于下载安全智能更新的进程流程图

安全智能更新Linux终结点上的流程图

图 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:克隆存储库 (首选)

  1. 在 镜像 服务器上安装 git

  2. 导航到要克隆存储库的目录。

  3. 运行以下命令:git clone https://github.com/microsoft/mdatp-xplat.git

选项 2:下载压缩的文件

  1. 下载压缩文件

  2. 将下载的文件复制到要保留脚本的文件夹。

  3. 提取压缩的文件夹。

  4. 计划任务或 cron 作业 ,以定期将存储库/下载的 zip 文件更新到最新版本。

克隆存储库或下载压缩文件后的本地目录结构

克隆存储库或下载压缩文件后,本地目录结构应如下所示:

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.zipsettings.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下一部分中所述的托管配置。

配置终结点

可以通过两种方式配置脱机安全智能更新功能:

  • 通过 Defender/Intune 门户中的安全设置管理:允许集中管理和配置一组设备的设置。
  • 通过 托管 JSON 文件:允许手动或通过 Chef、Ansible 等第三方管理工具配置设置。
  1. 在 Defender 门户中,导航到 “终结点>配置管理>终结点安全策略”,然后选择“ 创建新策略”。
  2. 在策略创建向导中,选择“Linux”作为平台,Microsoft Defender“防病毒”作为模板。 然后选择“ 创建策略”。
  3. 提供策略的名称和说明,然后选择“ 下一步”。

“配置设置” 步骤中,可以在 “防病毒引擎 ”和“ 云提供的保护首选项 ”部分下找到脱机安全智能更新功能的配置设置。

Setting 说明
启用脱机安全智能更新 此设置在Linux终结点上启用脱机安全智能更新功能。 启用此设置后,以下两个设置将变为可用。 确保还启用了 自动安全智能更新
脱机安全智能更新回退到云 如果设置为 True,则终结点将尝试从Microsoft云获取签名更新,如果无法从镜像服务器获取签名更新。
脱机安全智能更新 URL 或目录 此设置指定托管安全智能更新的 镜像 服务器的 URL 或目录路径。 如果使用 HTTP/HTTPS 服务器) ,则 URL 的格式 http://<mirror_server_address>/linux/production/ 应为 (,或者使用网络共享或本地/远程装载点) (目录路径。 有关详细信息,请参阅在 镜像 服务器上托管脱机安全智能更新
安全智能更新时间间隔 默认情况下,Linux终结点每 8 小时 (28800 秒) 从 镜像 服务器拉取签名更新。 如果要指定其他间隔,请使用此设置。 指定间隔(以秒为单位)。

验证配置

若要测试设置是否正确应用于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 中的字段 automaticDefinitionUpdateEnabledoffline_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              : ""
    ...
    

故障排除和诊断

如果更新失败、停滞或无法启动,请执行以下步骤进行故障排除:

  1. 使用以下命令检查脱机安全智能更新的状态:

    mdatp health --details definitions
    

    在 部分中查找信息 definitions_update_fail_reason

  2. 确保 offline_definition_update 已启用 和 offline_definition_update_verify_sig

  3. 请确保 definitions_update_source_uri 等于 offline_definition_url_configured

    • definitions_update_source_uri 是从中下载签名的源。
    • offline_definition_url_configured 是应从中下载签名的源,在托管配置文件中提到签名。
  4. 如果可从主机访问镜像服务器,请尝试执行连接测试以检查:

    mdatp connectivity test
    
  5. 尝试使用以下命令启动手动更新:

    mdatp definitions update
    

另请参阅