配置并验证 Linux 上的 Microsoft Defender for Endpoint 的排除项

适用于:

希望体验 Defender for Endpoint? 注册免费试用版

本文介绍如何为 Microsoft Defender for Endpoint 定义防病毒和全局排除项。 防病毒排除适用于按需扫描、实时保护 (RTP) ,以及行为监视 (BM) 。 全局排除项适用于实时保护 (RTP) 、行为监视 (BM) ,以及终结点检测和响应 (EDR) ,从而停止所有关联的防病毒检测、EDR 警报和已排除项目的可见性。

重要

本文中所述的防病毒排除项仅适用于防病毒功能,不适用于 EDR) (终结点检测和响应。 使用本文中所述的防病毒排除项排除的文件仍可能触发 EDR 警报和其他检测。 而本部分所述的全局排除项适用于防病毒以及终结点检测和响应功能,从而停止所有相关的 AV 保护、EDR 警报和检测。 全局排除项可从 Defender for Endpoint 版本 101.23092.0012 或更高版本获取,直到预览体验成员慢圈。 对于 EDR 排除项, 请联系支持人员

可以从 Linux 上的 Defender for Endpoint 中排除某些文件、文件夹、进程和进程打开的文件。

排除项可用于避免对组织唯一或自定义的文件或软件进行错误检测。 全局排除项有助于缓解 Linux 上的 Defender for Endpoint 导致的性能问题。

警告

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

支持的排除范围

如前一部分所述,我们支持两个排除范围:防病毒 (epp) 和全局 (global) 排除范围。

防病毒排除可用于从实时保护中排除受信任的文件和进程,同时仍具有 EDR 可见性。 全局排除在传感器级别应用,并在流中很早就将与排除条件匹配的事件静音,然后再进行任何处理,从而停止所有 EDR 警报和防病毒检测。

注意

全局 (global) 是除Microsoft已支持的防病毒 (epp) 排除范围外,还引入了新的排除范围。

排除类别 排除范围 说明
防病毒排除 防病毒引擎
(范围:epp)
排除防病毒 (AV) 扫描和按需扫描中的内容。
全局排除 防病毒和终结点检测以及响应引擎
(范围:全局)
从实时保护和 EDR 可见性中排除事件。 默认情况下,不适用于按需扫描。

支持的排除类型

下表显示了 Linux 上的 Defender for Endpoint 支持的排除类型。

排除 定义 示例
文件扩展名 设备上任何位置具有 扩展名的所有文件 (不适用于全局排除) .test
文件 由完整路径标识的特定文件 /var/log/test.log
/var/log/*.log
/var/log/install.?.log
Folder 指定文件夹下的所有文件 (递归) /var/log/
/var/*/
流程 特定进程 (由) 的完整路径或文件名指定,以及它打开的所有文件 /bin/cat
cat
c?t

重要

使用的路径必须是硬链接,而不是符号链接,才能成功排除。 可以通过运行 file <path-name>来检查路径是否为符号链接。

文件、文件夹和进程排除项支持以下通配符:

注意

在添加或删除范围为全局的文件排除项之前,需要存在文件路径。 配置全局排除项时不支持通配符。

通配符 说明 示例
* 匹配任意数量的任意字符,包括无
(请注意,如果路径末尾未使用此通配符,则只替换一个文件夹)
/var/*/tmp 包括 中的任何 /var/abc/tmp 文件及其子目录,以及 /var/def/tmp 及其子目录。 它不包括 /var/abc/log/var/def/log

/var/*/ 仅包括其子目录中的任何文件,例如 /var/abc/,但不包括直接在 中的 /var文件。

? 匹配任何单个字符 file?.log 包括 file1.logfile2.log,但不包括file123.log

注意

对于防病毒排除项,在路径末尾使用 * 通配符时,它将匹配通配符父级下的所有文件和子目录。

如何配置排除项列表

使用管理控制台

若要从 Puppet、Ansible 或其他管理控制台配置排除项,请参阅以下示例 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"
   }
}

有关详细信息,请参阅 在 Linux 上设置 Defender for Endpoint 的首选项

使用命令行

运行以下命令以查看用于管理排除项的可用开关:

注意

--scope 是一个可选标志,其接受值为 eppglobal。 它提供添加排除项时使用的相同范围,以删除相同的排除项。 在命令行方法中,如果未提及范围,则范围值设置为 epp。 在引入标志之前通过 CLI 添加的 --scope 排除项不受影响,其范围被视为 epp

mdatp exclusion

提示

使用通配符配置排除项时,请将 参数括在双引号中以防止 globbing。

示例:

  • 为文件扩展名添加排除 项 (全局排除范围) 不支持扩展排除

    mdatp exclusion extension add --name .txt
    
    Extension exclusion configured successfully
    
    mdatp exclusion extension remove --name .txt
    
    Extension exclusion removed successfully
    
  • 如果添加或删除全局范围) 的排除项, ( 文件路径的添加/删除排除项应已存在

    mdatp exclusion file add --path /var/log/dummy.log --scope epp
    
    File exclusion configured successfully
    
    mdatp exclusion file remove --path /var/log/dummy.log --scope epp
    
    File exclusion removed successfully"
    
    mdatp exclusion file add --path /var/log/dummy.log --scope global
    
    File exclusion configured successfully
    
    mdatp exclusion file remove --path /var/log/dummy.log --scope global
    
    File exclusion removed successfully"
    
  • 添加/删除文件夹的排除项:

    mdatp exclusion folder add --path /var/log/ --scope epp
    
    Folder exclusion configured successfully
    
    mdatp exclusion folder remove --path /var/log/ --scope epp
    
    Folder exclusion removed successfully
    
      mdatp exclusion folder add --path /var/log/ --scope global
    
    Folder exclusion configured successfully
    
    mdatp exclusion folder remove --path /var/log/ --scope global
    
    Folder exclusion removed successfully
    
  • 为第二个文件夹添加排除项:

    mdatp exclusion folder add --path /var/log/ --scope epp
    mdatp exclusion folder add --path /other/folder  --scope global
    
    Folder exclusion configured successfully
    
  • 为包含通配符的文件夹添加排除项:

    注意

    配置全局排除项时不支持通配符。

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

    注意

    这将仅排除 /var/*/tmp/ 下的路径,而不排除 tmp 的同级文件夹;例如 ,/var/this-subfolder/tmp,但不是 /var/this-subfolder/log

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

    OR

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

    注意

    这将排除父级为 /var/的所有路径;例如 ,/var/this-subfolder/and-this-subfolder-as-well

    Folder exclusion configured successfully
    
  • 为进程添加排除项:

    mdatp exclusion process add --name /usr/bin/cat --scope global 
    
    Process exclusion configured successfully
    
    mdatp exclusion process remove --name /usr/bin/cat  --scope global
    
    Process exclusion removed successfully
    
      mdatp exclusion process add --name /usr/bin/cat --scope epp 
    
    Process exclusion configured successfully
    
    mdatp exclusion process remove --name /usr/bin/cat  --scope epp
    
    Process exclusion removed successfully
    
  • 为第二个进程添加排除项:

    mdatp exclusion process add --name cat --scope epp
    mdatp exclusion process add --name dog --scope global
    
    Process exclusion configured successfully
    

使用 EICAR 测试文件验证排除列表

可以使用 下载测试文件来验证排除列表是否正常工作 curl

在以下 Bash 代码片段中,将 替换为 test.txt 符合排除规则的文件。 例如,如果已排除扩展 .testing ,请将 替换为 test.txttest.testing。 如果要测试某个路径,请确保在该路径中运行 命令。

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

如果 Linux 上的 Defender for Endpoint 报告恶意软件,则规则不起作用。 如果没有恶意软件报告,并且下载的文件存在,则排除项有效。 可以打开该文件以确认内容与 EICAR 测试文件网站上所述的内容相同。

如果没有 Internet 访问权限,可以创建自己的 EICAR 测试文件。 使用以下 Bash 命令将 EICAR 字符串写入新的文本文件:

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

还可以将字符串复制到空白文本文件中,并尝试使用文件名或尝试排除的文件夹中保存该字符串。

允许威胁

除了从扫描中排除某些内容之外,还可以将产品配置为不检测 (威胁名称) 标识的某些类别的威胁。 使用此功能时应小心谨慎,因为它可能会使设备不受保护。

若要向允许列表添加威胁名称,请执行以下命令:

mdatp threat allowed add --name [threat-name]

可以使用以下命令获取与设备上的检测关联的威胁名称:

mdatp threat list

例如,若要将 (与 EICAR 检测关联的威胁名称) 添加到 EICAR-Test-File (not a virus) 允许列表,请执行以下命令:

mdatp threat allowed add --name "EICAR-Test-File (not a virus)"

提示

想要了解更多信息? 在技术社区中与 Microsoft 安全社区互动: Microsoft Defender for Endpoint 技术社区