配置并验证适用于 Linux 的 Microsoft Defender for Endpoint 排除项

使用排除功能防止 Linux 上的 Microsoft Defender for Endpoint 扫描或监控受信任的文件、文件夹、进程和文件扩展名。 排除项可以帮助避免对贵组织独有文件或软件的错误检测。

Linux版的Defender for Endpoint支持以下排除范围:

  • 杀毒软件 (范围 epp):排除项适用于按需扫描、实时保护(RTP)和行为监控(BM),同时保持端点检测与响应(EDR)可视性。

  • 全局 (范围 global):排除对象包括RTP、BM和EDR,后者会停止相关的杀毒检测、EDR警报以及对排除项目的可见性。 全局排除规则在传感器层面生效,并在处理前屏蔽匹配排除条件的事件。

    • 全局排除功能可在 Linux 版本101.24092.0001(2024 年 10 月)及更高版本的 Defender for Endpoint 中提供。
    • 全局排除不适用于网络保护。 进程排除可能影响网络保护,阻止其检查流量或执行被排除进程的规则。 欲了解更多信息,请参阅 Microsoft Defender for Endpoint 中的排除项和指标概览
    • 全局排除功能有助于缓解 Linux 上 Defender for Endpoint 带来的性能问题。

警告

定义排除项会降低 Defender for Endpoint 在 Linux 上提供的保护。 应始终评估与实施排除项相关的风险,并且只应排除你确信不是恶意的文件。

重要

如果要并行运行多个安全解决方案,请参阅 性能、配置和支持注意事项

你可能已为已加入 Microsoft Defender for Endpoint 的设备配置了相互安全性排除项。 如果仍需要设置相互排除以避免冲突,请参阅将Microsoft Defender for Endpoint添加到现有解决方案的排除列表

支持的排除类型

Linux版Defender for Endpoint支持以下排除类型:

  • 文件扩展名:设备上任何指定扩展名的文件。

    • 全局排除不支持文件扩展名排除。
    • 示例.test
  • 文件:通过完整路径标识的特定文件。

    • 对于全局排除,文件路径必须存在,才能添加或移除排除。
    • 示例
      • /var/log/test.log
      • /var/log/*.log
      • /var/log/install.?.log
  • 文件夹:递归地包含指定文件夹内的所有文件。

    • 示例
      • /var/log/
      • /var/*/
  • 进程:特定进程,通过其完整路径或文件名标识,以及该进程打开的所有文件。

    • 对于杀毒软件排除,你可以指定完整路径或文件名。 我们建议使用完整路径。
    • 对于全局排除,只排除对系统可靠性和安全所需的部分。 验证进程是已知且可信的,指定其完整路径,并确认它始终从该可信路径开始。
    • 示例
      • /bin/cat
      • cat
      • c?t

重要

排除路径必须是硬链路,而非符号链路。 要检查路径是否为符号链,运行 file <path-name>

文件、文件夹和进程排除支持的通配符

在定义杀毒文件、文件夹和进程排除时,可以使用以下通配符模式。 全局排除不支持使用通配符。

  • 星号(*:匹配任意数量的字符,包括无字符。 如果路径末尾没有使用该通配符,它只替代一个文件夹。

    • 对于防病毒排除项,路径末尾的 * 通配符会匹配该通配符父目录下的所有文件和子目录。
    • 示例
      • /var/*/tmp:
        • 包括/var/def/tmp/var/abc/tmp 及其子文件夹中的任何文件。
        • 不包括/var/abc/log/var/def/log
      • /var/*/:
        • 包括:子目录中的文件,如 /var/abc/
        • 不包括:直接位于 /var 中的文件。
  • 问号(?:匹配任意单个字符。

    • 示例file?.log
      • 包括file1.logfile2.log
      • 不包括file123.log

配置排除项

请使用以下方法之一配置排除项。

使用受管控的 JSON 配置排除项

在企业环境中,使用配置管理工具如 Puppet 或 Ansible 部署名为 mdatp_managed.json/etc/opt/microsoft/mdatp/managed/的配置配置文件。 有关详细信息,请参阅在Linux上设置 Defender for Endpoint 的首选项

以下示例 mdatp_managed.json 演示如何为文件、文件夹、扩展和进程配置防病毒和全局排除项:

{
   "exclusionSettings":{
     "exclusions":[
        {
           "$type":"excludedPath",
           "isDirectory":true,
           "path":"/home/*/git<EXAMPLE DO NOT USE>",
           "scopes": [
              "epp"
           ]
        },
        {
           "$type":"excludedPath",
           "isDirectory":true,
           "path":"/run<EXAMPLE DO NOT USE>",
           "scopes": [
              "global"
           ]
        },
        {
           "$type":"excludedPath",
           "isDirectory":false,
           "path":"/var/log/system.log<EXAMPLE DO NOT USE><EXCLUDED IN ALL SCENARIOS>",
           "scopes": [
              "epp", "global"
           ]
        },
        {
           "$type":"excludedFileExtension",
           "extension":".pdf<EXAMPLE DO NOT USE>",
           "scopes": [
              "epp"
           ]
        },
        {
           "$type":"excludedFileName",
           "name":"/bin/cat<EXAMPLE DO NOT USE><NO SCOPE PROVIDED - GLOBAL CONSIDERED>"
        }
     ],
     "mergePolicy":"admin_only"
   }
}

使用 Defender for Endpoint 安全设置管理配置排除项

注意

在开始之前,请先阅读Defender for Endpoint安全设置管理的前提条件

您可以使用 Microsoft Intune 管理中心或 Microsoft Defender 门户,将排除行为作为终端安全策略管理,并将策略分配给 Microsoft Entra 组。 如果您是首次使用安全设置管理,请完成以下步骤:

步骤1:启用Linux的安全设置管理

  1. 请访问 Microsoft Defender 门户https://security.microsoft.com/securitysettings/endpoints/configuration_management中的端点>配置管理>强制范围页面。
  2. 执行范围 页面,请在 启用配置管理 部分确认以下设置:
    • 选择 Linux设备 ,然后选择以下数值之一:
      • 选择在已标记的设备上,以使用所选设备测试安全设置管理。 给每个测试设备添加标签 MDE-Management 。 关于说明和其他标签方法,请参见 创建和管理设备标签
      • 选择 “所有设备 ”以注册所有符合条件的 Linux 设备。

大多数设备在几分钟内注册并应用分配的政策,尽管有些设备可能需要长达24小时。

步骤2:创建Microsoft Entra设备组

基于Linux操作系统类型创建一个动态的Microsoft Entra设备组。 动态成员会自动添加匹配设备,所以你不需要手动维护群组成员。 欲了解更多信息,请参见创建 Microsoft Entra 组以管理安全设置

步骤3:创建Linux排除策略

详细说明请参见 “创建端点安全策略 ”(链接在新标签页打开)。

当你在 Defender 门户https://security.microsoft.com/policy-inventory?osPlatform=Linux端点安全策略页面的 Linux 策略标签页创建该策略时,请使用以下具体设置:

  • 选择平台:选择 Linux
  • 选择模板
    • 对于全局杀毒和EDR排除,请选择Microsoft Defender全局排除(AV+EDR)。
    • 对于防病毒排除项,请选择Microsoft Defender 防病毒排除项

在策略创建向导中,使用以下设置:

  • 配置设置选项卡:配置要使用此配置文件管理的设置。
  • 分配标签:分配组限制适用于通过Defender for Endpoint安全设置管理管理的设备。 有关详细信息,请参阅 “工作分配”步骤

使用命令行配置排除项

要查看可用的子命令和管理排除选项,请执行以下 mdatp exclusion 命令:

mdatp exclusion

命令语法

以下语法总结了可用的排除子命令、选项和值:

mdatp exclusion {extension {add|remove} --name <extension> | file {add|remove} --path <file-path> [--scope {epp|global}] | folder {add|remove} --path <folder-path> [--scope {epp|global}] | process {add|remove} {--path <process-path> [--scope {epp|global}] | --name <process-name> [--scope epp]} | list}

注意

移除排除项时,请指定与添加该排除项时相同的范围。

该选项的默认值 --scopeepp,因此仅指定排除 global 选项。

在引入该 --scope 选项之前,所有命令行排除程序都使用 epp 作用域。 这些现有的排除条款仍然使用 epp

当排除值包含万用符时,用双引号包住该值。 这种语法可防止 shell 在 mdatp 处理该通配符之前先将其展开。

添加或移除文件扩展名排除项

文件扩展名排除仅支持防病毒 (epp) 范围。 以下命令用于添加和删除 .txt 扩展名排除项:

mdatp exclusion extension add --name .txt

mdatp exclusion extension remove --name .txt

添加或移除文件排除项

文件必须先存在,才能使用 global 范围添加或删除排除项。

以下命令用于添加和删除防病毒软件(epp)文件排除项:

mdatp exclusion file add --path /var/log/dummy.log

mdatp exclusion file remove --path /var/log/dummy.log

以下命令可添加和移除全局文件排除:

mdatp exclusion file add --path /var/log/dummy.log --scope global

mdatp exclusion file remove --path /var/log/dummy.log --scope global

添加或移除文件夹排除项

以下命令用于添加和删除防病毒软件(epp)文件夹排除项:

mdatp exclusion folder add --path /var/log/

mdatp exclusion folder remove --path /var/log/

以下命令用于添加和移除全局文件夹排除:

mdatp exclusion folder add --path /var/log/ --scope global

mdatp exclusion folder remove --path /var/log/ --scope global

对每个你想排除的文件夹执行一次命令。 你可以为不同的文件夹分配不同的范围。

杀毒文件夹排除项支持通配符。 以下命令会排除 */var/*/tmp/* 下的路径,但不包括同级文件夹,例如 */var/this-subfolder/log*

mdatp exclusion folder add --path "/var/*/tmp"

要排除 /var/ 下的所有路径,请使用以下任一命令:

mdatp exclusion folder add --path "/var/"

mdatp exclusion folder add --path "/var/*/"

添加或移除工艺排除项

对于全局进程排除,请使用 --path 指定完整的进程路径。 以下命令用于添加和移除全局进程排除:

mdatp exclusion process add --path /usr/bin/cat --scope global

mdatp exclusion process remove --path /usr/bin/cat  --scope global

对于杀毒软件(epp)进程排除,你可以指定进程名称或完整路径。 以下命令按名称添加和删除防病毒进程排除项:

mdatp exclusion process add --name cat

mdatp exclusion process remove --name cat

对每个你想排除的进程运行一次命令。 你可以为不同的流程分配不同的范围。

使用 EICAR 测试文件验证排除项

EICAR测试文件是一个小型、无害的文本文件,包含一个被杀毒软件识别为恶意软件的标准字符串。 你可以用它来安全确认排除程序是否有效,无需使用真正的恶意软件。 Linux 版的 Defender for Endpoint 是通过文件内容检测文件,而不是文件名。

在测试排除之前,先确认是否启用了实时保护。 执行以下命令并确认返回 true

mdatp health --field real_time_protection_enabled

创建EICAR测试文件时,使其文件名、扩展名或位置与你想验证的排除对象相符:

  • 使用特定文件名或在特定文件夹中创建文件以验证文件和文件夹的排除。
  • 使用任何带有排除扩展名的文件名来验证文件扩展名的排除。

如果 Defender for Endpoint 检测到该文件,排除功能就无法生效。 如果文件存在且 Defender for Endpoint 检测不到,排除功能就有效。

这些步骤旨在验证文件、文件夹和文件扩展名的排除。 他们没有提供用于判断进程排除项的通用方法,因为这些排除项取决于创建或打开文件的进程。

请使用以下方法之一创建符合排除条款的EICAR测试文件:

  • 使用互联网连接:使用以下 curl 语法下载测试文件:

    curl -o <file-name-or-path> https://secure.eicar.org/eicar.com.txt
    

    例如,如果你排除了 .testing 扩展名,请下载具有该扩展名的测试文件:

    curl -o test.testing https://secure.eicar.org/eicar.com.txt
    

    要测试某个文件夹排除,可以在该文件夹里执行命令。

  • 无网络连接:本地创建EICAR测试文件。 例如,更改 test.txt 文件名或路径,使其符合你的排除功能:

    echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > test.txt
    

以下文章提供有关在 Linux 上配置和管理 Endpoint Defender的详细信息: