使用多个Windows Defender应用程序控制策略
注意
Windows Defender应用程序控制 (WDAC) 的某些功能仅在特定的 Windows 版本上可用。 详细了解Windows Defender应用程序控制功能可用性。
在 Windows 10 1903 之前,Windows Defender应用程序控制在任何给定时间仅支持系统上的单个活动策略。 在具有不同意向的多个策略非常有用的情况下,这限制了客户。 从 Windows 10 版本 1903 开始,WDAC 一次支持设备上最多 32 个活动策略,以便启用以下方案:
- 并行强制实施和审核
- 若要在强制模式下部署之前验证策略更改,用户现在可以与现有强制模式基本策略并排部署审核模式基本策略
- 多个基本策略
- 用户可以同时强制实施两个或多个基本策略,以便对具有不同范围/意向的策略进行更简单的策略目标
- 如果设备上存在两个基本策略,则两者都必须允许应用程序运行
- 补充策略
- 用户可以部署一个或多个补充策略来扩展基本策略
- 补充策略扩展单个基本策略,多个补充策略可以扩展同一基本策略
- 对于补充策略,允许基本策略或其补充策略/策略允许的应用程序运行
注意
1903 之前的系统不支持使用多策略格式 WDAC 策略。
基础策略和补充策略交互
- 多个基本策略:交集
- 仅这两个策略允许的应用程序运行而不生成块事件
- 基本 + 补充策略:联合
- 基策略或补充策略允许的文件不会被阻止
以多个策略格式创建 WDAC 策略
为了允许多个策略在单个系统上存在并生效,必须使用新的多策略格式创建策略。 New-CIPolicy 中的“MultiplePolicyFormat”开关为策略 ID 生成 1) 唯一 GUID,) 策略类型指定为基数。 以下示例介绍了以多个策略格式创建新策略的过程。
New-CIPolicy -MultiplePolicyFormat -ScanPath "<path>" -UserPEs -FilePath ".\policy.xml" -Level FilePublisher -Fallback SignedVersion,Publisher,Hash
(可选)可以选择使新的基本策略允许补充策略。
Set-RuleOption -FilePath ".\policy.xml" -Option 17
对于允许补充策略的已签名基本策略,请确保定义了补充签名者。 使用 Add-SignerRule 中的补充开关提供补充签名者。
Add-SignerRule -FilePath ".\policy.xml" -CertificatePath <certificate_path_> [-Kernel] [-User] [-Update] [-Supplemental] [-Deny]
补充策略创建
若要创建补充策略,请首先以多策略格式创建新策略,如上所示。 在此处,使用 Set-CIPolicyIdInfo 将其转换为补充策略,并指定它扩展的基策略。 可以使用 SupplementsBasePolicyID 或 BasePolicyToSupplementPath 指定基本策略。
- “SupplementsBasePolicyID”:补充策略应用于的基本策略的 GUID
- “BasePolicyToSupplementPath”:适用于补充策略的基本策略文件的路径
Set-CIPolicyIdInfo -FilePath ".\supplemental_policy.xml" [-SupplementsBasePolicyID <BasePolicyGUID>] [-BasePolicyToSupplementPath <basepolicy_path_>] -PolicyId <policy_Id> -PolicyName <PolicyName>
合并策略
合并策略时,将使用最左侧/第一个指定的策略的策略类型和 ID。 如果最左侧是具有 ID <ID> 的基本策略,则无论任何后续策略的 GUID 和类型是什么,合并的策略都将是具有 ID <ID> 的基础策略。
部署多个策略
若要部署多个Windows Defender应用程序控制策略,必须通过将策略文件复制到*.cip
适当的文件夹或使用 ApplicationControl CSP(Microsoft Intune的自定义 OMA-URI 功能支持)在本地部署这些策略。
在本地部署多个策略
若要使用新的多策略格式在本地部署策略,请执行以下步骤:
- 确保二进制策略文件具有正确的命名格式
{PolicyGUID}.cip
。- 确保二进制策略文件的名称与策略中的 PolicyID GUID 完全相同
- 例如,如果策略 XML 的 ID 为
<PolicyID>{A6D7FBBF-9F6B-4072-BF37-693741E1D745}</PolicyID>
,则二进制策略文件的正确名称为{A6D7FBBF-9F6B-4072-BF37-693741E1D745}.cip
。
- 将二进制策略复制到
C:\Windows\System32\CodeIntegrity\CiPolicies\Active
。 - 重新启动系统。
通过 ApplicationControl CSP 部署多个策略
可以通过 ApplicationControl 配置服务提供程序从 MDM 服务器管理多个Windows Defender应用程序控制策略, (CSP) 。 CSP 还提供对无重启策略部署的支持。
但是,当从 MDM 服务器取消注册策略时,CSP 将尝试删除设备中的每个策略,而不仅仅是 CSP 添加的策略。 原因是 ApplicationControl CSP 不会跟踪单个策略的注册源,即使它将查询设备上的所有策略,而不管这些策略是由 CSP 部署的。
有关部署多个策略(可选)使用Microsoft Intune的自定义 OMA-URI 功能的详细信息,请参阅 ApplicationControl CSP。
注意
WMI 和 GP 当前不支持多个策略。 相反,无法直接访问 MDM 堆栈的客户应通过 MDM 桥 WMI 提供程序使用 ApplicationControl CSP 来管理多个策略格式Windows Defender应用程序控制策略。
多个策略格式中的已知问题
- 如果超出策略的最大数目,设备可能会蓝屏引用 ci.dll,检查值为 0x0000003b。
- 如果加载策略时无需重新启动(例如
PS_UpdateAndCompareCIPolicy
),它们仍将计入此限制。 - 如果版本之间的值
{PolicyGUID}.cip
发生更改,这可能会带来特别大的挑战。 它可能会导致更改和由此产生的重新启动之间的长窗口。