设置 macOS 上 Microsoft Defender for Endpoint 的首选项

重要

本文适用于需要使用通过 JAMF 或 Intune 部署的配置文件在 macOS 上管理Microsoft Defender for Endpoint的企业管理员。 它涵盖了防病毒引擎、云提供的保护、终结点检测和响应(EDR)、篡改防护和用户界面的首选项。 它还包括推荐和完整的配置文件模板,以及部署说明。 若要改用命令行接口为 macOS 上的 Endpoint 配置Defender,请参阅命令行中的“配置”。

摘要

在企业组织中,可以通过配置文件管理 macOS 上的Microsoft Defender for Endpoint。 您可以使用多种管理工具中的一种来部署此配置文件。 安全运营团队设置的首选项优先于本地设备首选项。 若要更改通过配置文件设置的首选项,用户需要管理员权限。

本文介绍配置描述文件的结构。 其中包含一个推荐的配置文件,可帮助你快速上手,并说明如何部署该配置文件。

配置文件结构

配置文件是由键值对组成的 .plist 文件。 每个键都是首选项的名称。 每个值取决于首选项的类型。 值可以是简单(如数字)或复杂值(例如嵌套的首选项列表)。

警告

配置文件的布局取决于所使用的管理控制台。 以下部分包含 JAMF 和 Intune 的配置文件示例。

配置文件的顶层包括适用于整个产品的首选项,以及 Microsoft Defender for Endpoint 各子区域的条目,包括防病毒引擎、云提供的保护、用户界面、终结点检测和响应 (EDR) 以及篡改防护。

防病毒引擎首选项

配置文件的防病毒Engine 部分用于管理 Microsoft Defender for Endpoint 防病毒组件的首选项。

com.microsoft.wdav
防病毒引擎
数据类型 字典(嵌套偏好设置)
注释 字典内容包括强制级别、行为监视、文件哈希计算、扫描排除、允许的威胁、威胁类型设置和扫描历史记录保留的设置。

防病毒引擎的实施级别

指定防病毒引擎的执行偏好。 设置强制级别有三个值:

  • 实时 (real_time) :启用实时保护 (访问文件时扫描文件) 。
  • 按需(on_demand):仅在需要时扫描文件。 在此中:
    • 实时保护已关闭。
  • 被动 (passive) :在被动模式下运行防病毒引擎。 在此中:
    • 实时保护已关闭。
    • 按需扫描已开启。
    • 自动威胁修正已关闭。
    • 安全智能更新已启用。
    • 状态菜单图标处于隐藏状态状态。
com.microsoft.wdav
执行级别
数据类型 字符串
可能的值 real_time (默认)

按需

被动

注释 在 Microsoft Defender for Endpoint 101.10.72 或更高版本中可用。

启用/禁用行为监视

确定是否在设备上启用行为监视和阻止功能。

注意

仅当启用了 Real-Time 保护功能时,此功能才适用。

com.microsoft.wdav
行为监控
数据类型 字符串
可能的值 禁用

已启用 (默认)

注释 在 Microsoft Defender for Endpoint 版本 101.24042.0002 或更高版本中可用。

配置文件哈希计算功能

启用或禁用文件哈希计算功能。 启用此功能后,Defender for Endpoint 会计算它扫描的文件的哈希,以便更好地匹配指示器规则。 在 macOS 上,计算此哈希值时,仅考虑脚本文件和 Mach-O(32 位和 64 位)文件(从引擎版本 1.1.20000.2 或更高版本开始)。 启用此功能可能会影响设备性能。 有关更多详细信息,请参阅: 为文件创建指示器

com.microsoft.wdav
启用文件哈希计算
数据类型 布尔
可能的值 false(默认值)

true

注释 在 Defender for Endpoint 版本 101.86.81 或更高版本中可用。

更新定义后运行扫描

指定在设备上下载新的安全智能更新后是否启动进程扫描。 启用此设置会在设备的正在运行的进程上触发防病毒扫描。

com.microsoft.wdav
定义更新后扫描
数据类型 布尔
可能的值 true (默认)

false

注释 适用于 Microsoft Defender for Endpoint 101.41.10 版本及更高版本。

仅扫描存档 (按需防病毒扫描)

指定是否在按需防病毒扫描期间扫描存档。

com.microsoft.wdav
scanArchives
数据类型 布尔
可能的值 true (默认)

false

注释 适用于 Microsoft Defender for Endpoint 101.41.10 版本及更高版本。

按需扫描的并行度

指定按需扫描的并行度。 这对应于用于执行扫描并影响 CPU 使用率的线程数,以及按需扫描的持续时间。

com.microsoft.wdav
最大按需扫描线程数
数据类型 整数
可能的值 2 (默认) 。 允许的值是介于 1 和 64 之间的整数。
注释 适用于 Microsoft Defender for Endpoint 101.41.10 版本及更高版本。

排除合并策略

指定排除项的合并策略。 这可以是管理员定义的和用户定义的排除项的组合(merge),也可以只是管理员定义的排除项(admin_only)。 此设置可用于限制本地用户定义其自己的排除项。

com.microsoft.wdav
exclusionsMergePolicy
数据类型 字符串
可能的值 合并 (默认)

admin_only

注释 在 Microsoft Defender for Endpoint 版本 100.83.73 或更高版本中可用。

扫描排除项

指定从扫描中排除的实体。 排除项可以由完整路径、扩展名或文件名指定。 (排除项指定为项数组,管理员可以根据需要指定任意数量的元素,按任意顺序。)

com.microsoft.wdav
排除
数据类型 字典(嵌套偏好设置)
注释 字典包含键 $type (排除类型)、 path (文件或文件夹路径)、(路径类型)、 isDirectoryextension (文件扩展名)和 name (进程名称)。
排除类型

指定按类型扫描中排除的内容。

com.microsoft.wdav
$type
数据类型 字符串
可能的值 excludedPath

excludedFileExtension

excludedFileName

已排除内容的路径

指定完整文件路径从扫描中排除的内容。

com.microsoft.wdav
路径
数据类型 字符串
可能的值 有效路径
注释 仅当$typeexcludedPath时适用

支持的排除类型

下表显示了 macOS 上的 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/\*/\*.log /var/log/system.log /var/log/nested/system.log
? 匹配任何单个字符 file?.log file1.log

file2.log

file123.log

扫描排除路径类型(文件或目录)

在防病毒扫描排除项中,使用 isDirectory 指示 路径 值是引用文件还是目录。

com.microsoft.wdav
isDirectory
数据类型 布尔
可能的值 false(默认值)

true

注释 仅当$typeexcludedPath时适用

扫描排除:文件扩展名

在防病毒扫描排除项中,使用 扩展名 按文件扩展名排除文件。

com.microsoft.wdav
扩展
数据类型 字符串
可能的值 有效的文件扩展名
注释 仅当 $typeexcludedFileExtension 时适用

扫描排除:进程名称或路径

在防病毒扫描排除项中,使用 名称 从扫描中排除进程和进程打开的所有文件。 可以通过进程名称(例如,cat)或完整路径(例如,/bin/cat)来指定该进程。

com.microsoft.wdav
名称
数据类型 字符串
可能的值 任何字符串
注释 仅当 $typeexcludedFileName 时适用

允许的威胁

按名称指定 macOS 上的 Defender for Endpoint 未阻止的威胁。 这些威胁被允许运行。

com.microsoft.wdav
允许的威胁
数据类型 字符串数组

不允许的威胁操作

限制设备本地用户在检测到威胁时可以执行的操作。 此列表中包含的操作不会显示在用户界面中。

com.microsoft.wdav
不允许的威胁操作
数据类型 字符串数组
可能的值 允许 (限制用户允许威胁)

还原(限制用户从隔离区还原威胁)

注释 在 Microsoft Defender for Endpoint 版本 100.83.73 或更高版本中可用。

威胁类型设置

指定 macOS 上的Microsoft Defender for Endpoint如何处理某些威胁类型。

com.microsoft.wdav
威胁类型设置
数据类型 字典(嵌套偏好设置)
注释 数组中的每个条目都包含一个 key (威胁类型,如 potentially_unwanted_applicationarchive_bomb)和一个 value (要执行的操作: auditblockoff)。
威胁类型

指定威胁类型。

com.microsoft.wdav
关键值
数据类型 字符串
可能的值 潜在有害应用程序

压缩包炸弹

要采取的措施

指定检测到设置标识 key 的类型威胁时要执行的操作。 从以下选项中选择:

  • 审核:设备不受此类威胁的保护,但会记录有关威胁的条目。
  • 阻止:设备受到保护,免受此类威胁,并在用户界面和Microsoft Defender门户中收到通知。
  • 关闭:你的设备不受此类威胁的保护,并且不会记录任何内容。
com.microsoft.wdav
数据类型 字符串
可能的值 审核 (默认)

关闭

威胁类型设置合并策略

指定威胁类型设置的合并策略。 这可以是管理员定义的设置和用户定义的设置 () merge 的组合,也可以是管理员定义的设置 () admin_only 。 此设置可用于限制本地用户为不同的威胁类型定义自己的设置。

com.microsoft.wdav
威胁类型设置合并策略
数据类型 字符串
可能的值 合并 (默认)

admin_only

注释 在 Microsoft Defender for Endpoint 版本 100.83.73 或更高版本中可用。

防病毒扫描历史记录保留期 (天)

指定结果在设备上的扫描历史记录中保留的天数。 旧扫描结果将从历史记录中删除。 也已从磁盘中删除的旧已隔离文件。

com.microsoft.wdav
扫描结果保留天数
数据类型 字符串
可能的值 90 (默认) 。 允许的值为 1 天到 180 天。
注释 在 Microsoft Defender for Endpoint 版本 101.07.23 或更高版本中可用。

防病毒扫描历史记录中的最大项目数

指定要在扫描历史记录中保留的最大条目数。 条目包括过去执行的所有按需扫描和所有防病毒检测。

com.microsoft.wdav
scanHistoryMaximumItems
数据类型 字符串
可能的值 10000 (默认) 。 允许的值为 5000 到 15000 项。
注释 在 Microsoft Defender for Endpoint 版本 101.07.23 或更高版本中可用。

云提供的保护首选项

在 macOS 上配置 Microsoft Defender for Endpoint 的云驱动保护功能。

com.microsoft.wdav
云服务
数据类型 字典(嵌套偏好设置)
注释 字典内容包括云提供的保护、诊断收集级别、云块级别、自动示例提交、安全智能更新和代理配置的设置。

启用/禁用云提供的保护

指定是否对设备启用云提供的保护。 为了提高服务的安全性,我们建议保持此功能的打开状态。

com.microsoft.wdav
已启用
数据类型 布尔
可能的值 true (默认)

false

诊断数据收集级别

诊断数据用于保持Microsoft Defender for Endpoint安全和最新、检测、诊断和修复问题,以及改进产品。 此设置确定Microsoft Defender for Endpoint发送到Microsoft的诊断级别。

com.microsoft.wdav
诊断级别
数据类型 字符串
可能的值 可选 (默认)

必填

配置云块级别

此设置确定 Defender for Endpoint 在阻止和扫描可疑文件时的积极程度。 如果此设置处于打开状态,则 Defender for Endpoint 在识别要阻止和扫描的可疑文件时会更加主动;否则,其攻击性较低,因此阻止和扫描的频率较低。 有五个值用于设置云块级别:

  • 普通 (normal) :默认阻止级别。
  • 中等 (moderate):仅对高置信度检测结果给出判定。
  • 高 (high):积极阻止未知文件,同时优化性能(更有可能阻止无害文件)。
  • 高增强(high_plus):主动拦截未知文件,并实施额外的保护措施(可能会影响客户端设备性能)。
  • 零容忍 (zero_tolerance) :阻止所有未知程序。
com.microsoft.wdav
cloudBlockLevel
数据类型 字符串
可能的值 正常 (默认)

温和

high_plus

零容忍

注释 在 Defender for Endpoint 版本 101.56.62 或更高版本中可用。

启用/禁用自动示例提交

确定是否将可疑样本 (可能包含威胁) 发送到Microsoft。 有三个级别用于控制示例提交:

  • :不会将可疑样本提交到Microsoft。
  • 安全:仅自动提交不包含个人数据的可疑样本 (PII) 。 这是此设置的默认值。
  • 全部:所有可疑样本均提交到Microsoft。
说明
自动样本提交同意
数据类型 字符串
可能的值

安全 (默认)

全部

启用/禁用自动安全智能更新

确定是否自动安装安全智能更新:

已启用自动定义更新
数据类型 布尔
可能的值 true (默认)

false

安全智能更新到期前的持续时间(天)

确定最近安装的安全智能更新在多少天后会被视为过时。

definitionUpdateDue
数据类型 整数
可能的值 7 (默认) 。 允许的值是介于 1 和 30 之间的整数

安全智能更新间隔 (秒)

指定检查安全智能更新的时间间隔(以秒为单位)。

定义更新间隔
数据类型 整数
可能的值 28800(默认值,8 小时)。 允许的值是介于 60(1 分钟)和 86400(24 小时)之间的整数
注释 将值设置得太低可能会导致重复或不必要的安全智能更新检查。

用于 Defender for Endpoint 通信的代理

为所有 Defender for Endpoint 云通信配置代理。 如果未设置,则使用系统级代理。

代理
数据类型 字符串
注释 格式:“http://proxy.server:port"或 “https://proxy.server:port"。

重要

  • 代理配置不正确可能会中断MDE功能。
  • 可以在终结点上运行“mdatp 连接测试”,以在应用代理设置后测试 mde 连接性。

用户界面首选项

管理 macOS 上Microsoft Defender for Endpoint用户界面的首选项。

com.microsoft.wdav
用户界面
数据类型 字典(嵌套偏好设置)
注释 字典内容包括状态菜单图标可见性、反馈选项和使用者版本登录控件的设置。

显示/隐藏状态菜单图标

指定是显示还是隐藏屏幕右上角的状态菜单图标。

com.microsoft.wdav
hideStatusMenuIcon
数据类型 布尔
可能的值 false(默认值)

true

显示/隐藏用于发送反馈的选项

通过转到 Help>Send Feedback指定用户是否可以向Microsoft提交反馈。

com.microsoft.wdav
userInitiatedFeedback
数据类型 字符串
可能的值 已启用 (默认)

禁用的

注释 在 Microsoft Defender for Endpoint 版本 101.19.61 或更高版本中可用。

控制Microsoft Defender使用者版本的登录

指定用户是否可以登录到Microsoft Defender的使用者版本。

com.microsoft.wdav
消费者体验
数据类型 字符串
可能的值 已启用 (默认)

禁用的

注释 在 Microsoft Defender for Endpoint 版本 101.60.18 或更高版本中可用。

终端检测和响应偏好设置

管理 macOS 上 Microsoft Defender for Endpoint 的终结点检测和响应 (EDR) 组件的首选项。

com.microsoft.wdav
edr
数据类型 字典(嵌套偏好设置)
注释 字典内容包括设备标记和组标识符的设置。

设备标记

指定标记名称及其值。

  • GROUP 标记使用指定的值标记设备。 标记反映在门户的设备页下,可用于筛选和分组设备。
com.microsoft.wdav
标签
数据类型 字典(嵌套偏好设置)
注释 数组中的每个条目都包含一个 key (标记类型,如 GROUP)和一个 value (分配给设备的标记字符串)。
标记的类型

指定标记的类型

com.microsoft.wdav
关键值
数据类型 字符串
可能的值 GROUP
标签的值

指定标记的值

com.microsoft.wdav
数据类型 字符串
可能的值 任何字符串

重要

  • 每个标记类型只能设置一个值。
  • 标记类型是唯一的,不应在同一配置文件中重复。

组标识符

EDR 组标识符

com.microsoft.wdav
groupIds
数据类型 字符串
注释 组标识符

篡改防护

在 macOS 上管理 Microsoft Defender for Endpoint 的篡改防护组件的首选项。

com.microsoft.wdav
篡改保护
数据类型 字典(嵌套偏好设置)
注释 字典内容包括强制级别和排除项的设置。

强制级别

如果启用了篡改防护,并且处于严格模式

com.microsoft.wdav
执行级别
数据类型 字符串
注释 “禁用”、“审核”或“阻止”之一

可能的值:

  • 已禁用 - 篡改防护已关闭,无法阻止攻击或向云报告
  • 审核 - 篡改防护仅将篡改尝试上报到云端,但不会阻止这些尝试
  • 阻止 - 篡改防护既会阻止攻击,也会向云端报告攻击

排除项

定义允许修改 Microsoft Defender 资产且不会被视为篡改的进程。 必须提供以下任一项:path、teamId、signingId,或它们的任意组合。 还可以额外提供 Args,以更精确地指定允许的进程。

com.microsoft.wdav
排除
数据类型 字典(嵌套偏好设置)
注释 字典内容包括路径、团队 ID、签名 ID 和进程参数的设置。
路径

进程可执行文件的确切路径。

com.microsoft.wdav
路径
数据类型 字符串
注释 如果它是 shell 脚本,则它是解释器二进制文件的准确路径,例如 /bin/zsh。 不允许使用通配符。
团队 ID

苹果供应商的“团队 ID”。

com.microsoft.wdav
teamId
数据类型 字符串
注释 例如, UBF8T346G9 对于 Microsoft
签名标识

软件包的 Apple“签名 ID”。

com.microsoft.wdav
签名 ID
数据类型 字符串
注释 例如,com.apple.ruby 表示 Ruby 解释器
进程参数

与其他参数结合使用以标识进程。

com.microsoft.wdav
签名 ID
数据类型 字符串数组
注释 如果指定,则进程参数必须与这些参数完全匹配,区分大小写

建议的配置文件支持Microsoft Defender for Endpoint中的所有保护功能。 以下小节中的 JAMF 属性列表和 Intune XML 配置文件都应用这些设置。

此配置文件(或者,对于 JAMF,上传到“自定义设置”中的属性列表)将:

  • (RTP) 启用实时保护
  • 指定如何处理以下威胁类型:
    • 潜在不受欢迎的应用程序 (PUA) 已被阻止
    • 压缩包炸弹(高压缩率文件)会记录到 Microsoft Defender for Endpoint 日志中
  • 启用自动安全智能更新
  • 启用云保护
  • 启用自动示例提交

将 JAMF 中的以下属性列表用于建议的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>antivirusEngine</key>
    <dict>
        <key>enforcementLevel</key>
        <string>real_time</string>
        <key>threatTypeSettings</key>
        <array>
            <dict>
                <key>key</key>
                <string>potentially_unwanted_application</string>
                <key>value</key>
                <string>block</string>
            </dict>
            <dict>
                <key>key</key>
                <string>archive_bomb</string>
                <key>value</key>
                <string>audit</string>
            </dict>
        </array>
    </dict>
    <key>cloudService</key>
    <dict>
        <key>enabled</key>
        <true/>
        <key>automaticSampleSubmission</key>
        <true/>
        <key>automaticDefinitionUpdateEnabled</key>
        <true/>
    </dict>
    <key>tamperProtection</key>
    <dict>
        <key>enforcementLevel</key>
        <string>block</string>
    </dict>
</dict>
</plist>

对建议的 Intune 配置文件使用以下 XML:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
    <dict>
        <key>PayloadUUID</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadOrganization</key>
        <string>Microsoft</string>
        <key>PayloadIdentifier</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadDisplayName</key>
        <string>Microsoft Defender for Endpoint settings</string>
        <key>PayloadDescription</key>
        <string>Microsoft Defender for Endpoint configuration settings</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadUUID</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadType</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadOrganization</key>
                <string>Microsoft</string>
                <key>PayloadIdentifier</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadDisplayName</key>
                <string>Microsoft Defender for Endpoint configuration settings</string>
                <key>PayloadDescription</key>
                <string/>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadEnabled</key>
                <true/>
                <key>antivirusEngine</key>
                <dict>
                    <key>enforcementLevel</key>
                    <string>real_time</string>
                    <key>threatTypeSettings</key>
                    <array>
                        <dict>
                            <key>key</key>
                            <string>potentially_unwanted_application</string>
                            <key>value</key>
                            <string>block</string>
                        </dict>
                        <dict>
                            <key>key</key>
                            <string>archive_bomb</string>
                            <key>value</key>
                            <string>audit</string>
                        </dict>
                    </array>
                </dict>
                <key>cloudService</key>
                <dict>
                    <key>enabled</key>
                    <true/>
                    <key>automaticSampleSubmission</key>
                    <true/>
                    <key>automaticDefinitionUpdateEnabled</key>
                    <true/>
                    <key>definitionUpdateDue</key>
                    <integer>7</integer>
                </dict>
                <key>tamperProtection</key>
                <dict>
                    <key>enforcementLevel</key>
                    <string>block</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

完整配置文件示例

以下 JAMF 和 Intune 模板包括 macOS 设置上所有可用的Microsoft Defender for Endpoint。 对于需要完全控制每个首选项的高级方案,请使用这些模板。

JAMF 完整配置描述文件的属性列表

以下完整的 plist 文件显示了一个用于 JAMF 的 Defender for Endpoint 配置文件,其中包含所有可用设置,包括防病毒引擎、云服务、EDR、防篡改保护和用户界面首选项:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>antivirusEngine</key>
    <dict>
        <key>enforcementLevel</key>
        <string>real_time</string>
        <key>scanAfterDefinitionUpdate</key>
        <true/>
        <key>scanArchives</key>
        <true/>
        <key>maximumOnDemandScanThreads</key>
        <integer>2</integer>
        <key>exclusions</key>
        <array>
            <dict>
                <key>$type</key>
                <string>excludedPath</string>
                <key>isDirectory</key>
                <false/>
                <key>path</key>
                <string>/var/log/system.log</string>
            </dict>
            <dict>
                <key>$type</key>
                <string>excludedPath</string>
                <key>isDirectory</key>
                <true/>
                <key>path</key>
                <string>/home</string>
            </dict>
            <dict>
                <key>$type</key>
                <string>excludedPath</string>
                <key>isDirectory</key>
                <true/>
                <key>path</key>
                <string>/Users/*/git</string>
            </dict>
            <dict>
                <key>$type</key>
                <string>excludedFileExtension</string>
                <key>extension</key>
                <string>pdf</string>
            </dict>
            <dict>
                <key>$type</key>
                <string>excludedFileName</string>
                <key>name</key>
                <string>cat</string>
            </dict>
        </array>
        <key>exclusionsMergePolicy</key>
        <string>merge</string>
        <key>allowedThreats</key>
        <array>
            <string>EICAR-Test-File (not a virus)</string>
        </array>
        <key>disallowedThreatActions</key>
        <array>
            <string>allow</string>
            <string>restore</string>
        </array>
        <key>threatTypeSettings</key>
        <array>
            <dict>
                <key>key</key>
                <string>potentially_unwanted_application</string>
                <key>value</key>
                <string>block</string>
            </dict>
            <dict>
                <key>key</key>
                <string>archive_bomb</string>
                <key>value</key>
                <string>audit</string>
            </dict>
        </array>
        <key>threatTypeSettingsMergePolicy</key>
        <string>merge</string>
    </dict>
    <key>cloudService</key>
    <dict>
        <key>enabled</key>
        <true/>
        <key>diagnosticLevel</key>
        <string>optional</string>
        <key>automaticSampleSubmission</key>
        <true/>
        <key>automaticDefinitionUpdateEnabled</key>
        <true/>
        <key>cloudBlockLevel</key>
        <string>normal</string>
        <key>definitionUpdateDue</key>
        <integer>7</integer>
    </dict>
    <key>edr</key>
    <dict>
        <key>tags</key>
        <array>
            <dict>
                <key>key</key>
                <string>GROUP</string>
                <key>value</key>
                <string>ExampleTag</string>
            </dict>
        </array>
    </dict>
    <key>tamperProtection</key>
    <dict>
        <key>enforcementLevel</key>
        <string>block</string>
        <key>exclusions</key>
        <array>
        <dict>
            <key>path</key>
            <string>/bin/zsh</string>
            <key>teamId</key>
            <string/>
            <key>signingId</key>
            <string>com.apple.zsh</string>
            <key>args</key>
            <array>
            <string>/usr/local/bin/test.sh</string>
            </array>
        </dict>
        <dict>
            <key>path</key>
            <string>/usr/local/jamf/bin/jamf</string>
            <key>teamId</key>
            <string>483DWKW443</string>
            <key>signingId</key>
            <string>com.jamfsoftware.jamf</string>
        </dict>
        </array>            
    </dict>
    <key>userInterface</key>
    <dict>
        <key>hideStatusMenuIcon</key>
        <false/>
        <key>userInitiatedFeedback</key>
        <string>enabled</string>
    </dict>
</dict>
</plist>

Intune完整配置文件

以下移动配置负载将 Defender for Endpoint 的所有可用 macOS 设置封装到一个可部署的 Intune 配置文件中。 它包括防病毒引擎、云服务、EDR、篡改保护和用户界面首选项:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
    <dict>
        <key>PayloadUUID</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadOrganization</key>
        <string>Microsoft</string>
        <key>PayloadIdentifier</key>
        <string>C4E6A782-0C8D-44AB-A025-EB893987A295</string>
        <key>PayloadDisplayName</key>
        <string>Microsoft Defender for Endpoint settings</string>
        <key>PayloadDescription</key>
        <string>Microsoft Defender for Endpoint configuration settings</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadEnabled</key>
        <true/>
        <key>PayloadRemovalDisallowed</key>
        <true/>
        <key>PayloadScope</key>
        <string>System</string>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>PayloadUUID</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadType</key>
                <string>com.microsoft.wdav</string>
                <key>PayloadOrganization</key>
                <string>Microsoft</string>
                <key>PayloadIdentifier</key>
                <string>99DBC2BC-3B3A-46A2-A413-C8F9BB9A7295</string>
                <key>PayloadDisplayName</key>
                <string>Microsoft Defender for Endpoint configuration settings</string>
                <key>PayloadDescription</key>
                <string/>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>PayloadEnabled</key>
                <true/>
                <key>antivirusEngine</key>
                <dict>
                    <key>enforcementLevel</key>
                    <string>real_time</string>
                    <key>behaviorMonitoring</key>
                    <string>enabled</string>
                    <key>scanAfterDefinitionUpdate</key>
                    <true/>
                    <key>scanArchives</key>
                    <true/>
                    <key>maximumOnDemandScanThreads</key>
                    <integer>1</integer>
                    <key>exclusions</key>
                    <array>
                        <dict>
                            <key>$type</key>
                            <string>excludedPath</string>
                            <key>isDirectory</key>
                            <false/>
                            <key>path</key>
                            <string>/var/log/system.log</string>
                        </dict>
                        <dict>
                            <key>$type</key>
                            <string>excludedPath</string>
                            <key>isDirectory</key>
                            <true/>
                            <key>path</key>
                            <string>/home</string>
                        </dict>
                        <dict>
                            <key>$type</key>
                            <string>excludedPath</string>
                            <key>isDirectory</key>
                            <true/>
                            <key>path</key>
                            <string>/Users/*/git</string>
                        </dict>
                        <dict>
                            <key>$type</key>
                            <string>excludedFileExtension</string>
                            <key>extension</key>
                            <string>pdf</string>
                        </dict>
                        <dict>
                            <key>$type</key>
                            <string>excludedFileName</string>
                            <key>name</key>
                            <string>cat</string>
                        </dict>
                    </array>
                    <key>exclusionsMergePolicy</key>
                    <string>merge</string>
                    <key>allowedThreats</key>
                    <array>
                        <string>EICAR-Test-File (not a virus)</string>
                    </array>
                    <key>disallowedThreatActions</key>
                    <array>
                        <string>allow</string>
                        <string>restore</string>
                    </array>
                    <key>threatTypeSettings</key>
                    <array>
                        <dict>
                            <key>key</key>
                            <string>potentially_unwanted_application</string>
                            <key>value</key>
                            <string>block</string>
                        </dict>
                        <dict>
                            <key>key</key>
                            <string>archive_bomb</string>
                            <key>value</key>
                            <string>audit</string>
                        </dict>
                    </array>
                    <key>threatTypeSettingsMergePolicy</key>
                    <string>merge</string>
                </dict>
                <key>cloudService</key>
                <dict>
                    <key>enabled</key>
                    <true/>
                    <key>diagnosticLevel</key>
                    <string>optional</string>
                    <key>automaticSampleSubmission</key>
                    <true/>
                    <key>automaticDefinitionUpdateEnabled</key>
                    <true/>
                    <key>cloudBlockLevel</key>
                    <string>normal</string>
                    <key>definitionUpdateDue</key>
                    <integer>7</integer>
                </dict>
                <key>edr</key>
                <dict>
                    <key>tags</key>
                    <array>
                        <dict>
                            <key>key</key>
                            <string>GROUP</string>
                            <key>value</key>
                            <string>ExampleTag</string>
                        </dict>
                    </array>
                </dict>
                <key>tamperProtection</key>
                <dict>
                    <key>enforcementLevel</key>
                    <string>block</string>
                    <key>exclusions</key>
                    <array>
                    <dict>
                        <key>path</key>
                        <string>/bin/zsh</string>
                        <key>teamId</key>
                        <string/>
                        <key>signingId</key>
                        <string>com.apple.zsh</string>
                        <key>args</key>
                        <array>
                        <string>/usr/local/bin/test.sh</string>
                        </array>
                    </dict>
                    <dict>
                        <key>path</key>
                        <string>/Library/Intune/Microsoft Intune Agent.app/Contents/MacOS/IntuneMdmDaemon</string>
                        <key>teamId</key>
                        <string>UBF8T346G9</string>
                        <key>signingId</key>
                        <string>IntuneMdmDaemon</string>
                    </dict>
                    </array>            
                </dict>
                <key>userInterface</key>
                <dict>
                    <key>hideStatusMenuIcon</key>
                    <false/>
                    <key>userInitiatedFeedback</key>
                    <string>enabled</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>

属性列表验证

属性列表必须是有效的 .plist 文件。 运行以下命令,在上传或部署配置文件之前验证 plist 语法:

plutil -lint com.microsoft.wdav.plist

如果 plist 有效,则会看到如下所示的输出:

com.microsoft.wdav.plist: OK

如果文件格式正确,则上述命令将输出 OK 并返回退出代码 0。 否则,将显示描述问题的错误,命令返回退出代码 1

配置文件部署

为企业生成配置文件后,即可通过管理控制台部署配置文件。 有关分步说明,请参阅 JAMF 部署Intune 部署

JAMF 部署

警告

必须将 com.microsoft.wdav 用作首选项域。 如果域不正确,则Microsoft Defender for Endpoint无法识别首选项。

在 JAMF 控制台中,打开“计算机>配置配置文件”,导航到要使用的配置文件,然后选择“自定义设置”。 创建一个条目,将 com.microsoft.wdav 设为偏好设置域,并上传之前生成的 .plist

Intune 部署

警告

必须使用 com.microsoft.wdav 作为自定义配置文件的名称。 如果名称不正确,则Microsoft Defender for Endpoint无法识别首选项。

使用以下步骤通过 Intune 部署配置文件:

  1. 打开 “设备>配置文件”。 选择“创建配置文件”。

  2. 为配置文件选择名称。 将 Platform=macOS 更改为 “配置文件类型=模板” ,然后在模板名称部分选择 “自定义 ”。 选择“配置”。

  3. 将前面生成的 .plist 保存为 com.microsoft.wdav.xml

  4. 输入 com.microsoft.wdav 作为 自定义配置文件名称

  5. 打开配置文件并上传 com.microsoft.wdav.xml 文件。 (此文件是在步骤 3.) 中创建的

  6. 选择“确定”

  7. 选择“ 管理>分配”。 在“ 包括 ”选项卡中,选择“ 分配给所有用户 & 所有设备”。

以下资源提供了有关 macOS 配置描述文件的更多指导: