为轻托管设备创建 WDAC 策略

注意

Windows Defender应用程序控制的某些功能仅在特定 Windows 版本上可用。 详细了解Windows Defender应用程序控制功能可用性

本部分概述了为组织中管理较轻的设备创建Windows Defender应用程序控制 (WDAC) 策略的过程。 通常,如果刚接触应用程序控制的组织从本文所述的宽松策略开始,则它们最成功。 组织可以选择随着时间的推移强化策略,以在其 WDAC 托管设备上实现更强大的整体安全态势,如后面的文章中所述。

注意

本主题中所述的某些Windows Defender应用程序控制选项仅在Windows 10版本 1903 及更高版本或Windows 11上可用。 使用本主题规划自己组织的 WDAC 策略时,请考虑托管客户端是否可以使用所有这些或部分功能,并评估可能对客户端不可用的任何功能的影响。 可能需要调整本指南以满足特定组织的需求。

不同方案(设备类型)中的Windows Defender应用程序控制部署一样,我们将使用 Lamna Healthcare Company (Lamna) 的示例来演示此方案。 Lamna 正尝试采用更强大的应用程序策略,包括使用应用程序控制来防止不需要或未经授权的应用程序在其托管设备上运行。

Alice Pena 是负责推出 WDAC 的 IT 团队主管。 Lamna 目前具有松散的应用程序使用策略和用户应用灵活性最大的文化。 因此,Alice 知道她需要采用增量方法来控制应用程序,并将不同的策略用于不同的工作负载。

对于大多数用户和设备,Alice 希望创建一个尽可能宽松的初始策略,以尽量减少对用户工作效率的影响,同时仍提供安全价值。

为较轻管理的设备定义“信任圈”

Alice 确定了以下关键因素,以达到 Lamna 的轻量管理设备(目前包括大多数最终用户设备)的“信任圈”:

  • 所有客户端都运行Windows 10版本 1903 及更高版本,或Windows 11;
  • 所有客户端都由 Configuration Manager 或 Intune 进行管理。
  • 部分(但不是全部)应用是使用 Configuration Manager 部署的;
  • 大多数用户都是其设备上的本地管理员;
  • 某些团队可能需要更多规则来授权通常不适用于所有其他用户的特定应用。

基于上述情况,Alice 定义了策略的伪规则:

  1. 授权的“Windows 有效” 规则:

    • Windows
    • WHQL (第三方内核驱动程序)
    • Windows 应用商店签名的应用
  2. “ConfigMgr有效”规则,其中包括:

    • Configuration Manager组件的签名者和哈希规则,以便正常运行。
    • 允许托管安装程序规则授权Configuration Manager作为托管安装程序。
  3. 允许智能安全图 (ISG) (基于信誉的授权)

  4. 使用 Windows 受信任的根计划证书颁发机构颁发的证书对应用进行签名

  5. 以下位置仅管理员路径规则

    • C:\Program Files*
    • C:\Program Files (x86) *
    • %windir%*

使用示例 WDAC 基本策略创建自定义基本策略

在定义了“信任圈”后,Alice 已准备好为 Lamna 的轻型管理设备生成初始策略。 Alice 决定使用示例 SmartAppControl.xml 创建初始基本策略,然后对其进行自定义以满足 Lamna 的需求。

Alice 按照以下步骤完成此任务:

  1. 在客户端设备上,在提升的Windows PowerShell会话中运行以下命令以初始化变量:

    注意

    如果希望使用其他示例Windows Defender应用程序控制基本策略,请将示例策略路径替换为此步骤中的首选基本策略。

    $PolicyPath = $env:userprofile+"\Desktop\"
    $PolicyName= "Lamna_LightlyManagedClients_Audit"
    $LamnaPolicy=Join-Path $PolicyPath "$PolicyName.xml"
    $ExamplePolicy=$env:windir+"\schemas\CodeIntegrity\ExamplePolicies\SmartAppControl.xml"
    
  2. 将示例策略复制到桌面:

    Copy-Item $ExamplePolicy $LamnaPolicy
    
  3. 修改策略以删除不受支持的规则:

    注意

    SmartAppControl.xml适用于 Windows 11 版本 22H2 及更高版本。 此策略包括企业 WDAC 策略不支持且必须删除的“已启用:条件 Windows 锁定策略”规则。 有关详细信息,请参阅 WDAC 和智能应用控制。 如果使用的是 以外的 SmartAppControl.xml示例策略,请跳过此步骤。

    [xml]$xml = Get-Content $LamnaPolicy
    $ns = New-Object System.Xml.XmlNamespaceManager($xml.NameTable)
    $ns.AddNamespace("ns", $xml.DocumentElement.NamespaceURI)
    $node = $xml.SelectSingleNode("//ns:Rules/ns:Rule[ns:Option[.='Enabled:Conditional Windows Lockdown Policy']]", $ns)
    $node.ParentNode.RemoveChild($node)
    $xml.Save($LamnaPolicy)
    
  4. 为新策略提供唯一的 ID、描述性名称和初始版本号:

    Set-CIPolicyIdInfo -FilePath $LamnaPolicy -PolicyName $PolicyName -ResetPolicyID
    Set-CIPolicyVersion -FilePath $LamnaPolicy -Version "1.0.0.0"
    
  5. 使用 Configuration Manager 创建审核策略并将其部署到运行 Windows 10 版本 1903 及更高版本的客户端设备,或Windows 11。 将Configuration Manager策略与示例策略合并。

    注意

    如果不使用Configuration Manager,请跳过此步骤。

    $ConfigMgrPolicy=$env:windir+"\CCM\DeviceGuard\MergedPolicy_Audit_ISG.xml"
    Merge-CIPolicy -OutputFilePath $LamnaPolicy -PolicyPaths $LamnaPolicy,$ConfigMgrPolicy
    Set-RuleOption -FilePath $LamnaPolicy -Option 13 # Managed Installer
    
  6. 修改策略以设置其他策略规则:

    Set-RuleOption -FilePath $LamnaPolicy -Option 3  # Audit Mode
    Set-RuleOption -FilePath $LamnaPolicy -Option 12 # Enforce Store Apps
    Set-RuleOption -FilePath $LamnaPolicy -Option 19 # Dynamic Code Security
    
  7. 添加规则以允许 Windows 和 Program Files 目录:

    $PathRules += New-CIPolicyRule -FilePathRule "%windir%\*"
    $PathRules += New-CIPolicyRule -FilePathRule "%OSDrive%\Program Files\*"
    $PathRules += New-CIPolicyRule -FilePathRule "%OSDrive%\Program Files (x86)\*"
    Merge-CIPolicy -OutputFilePath $LamnaPolicy -PolicyPaths $LamnaPolicy -Rules $PathRules
    
  8. 如果适用,请添加更多签名者或文件规则,以进一步为组织自定义策略。

  9. 使用 ConvertFrom-CIPolicy 将Windows Defender应用程序控制策略转换为二进制格式:

    [xml]$PolicyXML = Get-Content $LamnaPolicy
    $LamnaPolicyBin = Join-Path $PolicyPath "$($PolicyXML.SiPolicy.PolicyID).cip"
    ConvertFrom-CIPolicy $LamnaPolicy $LamnaPolicyBin
    
  10. 将基本策略 XML 和关联的二进制文件上传到源代码管理解决方案,例如 GitHub 或文档管理解决方案(如 Office 365 SharePoint)。

此时,Alice 现在有一个初始策略,该策略已准备好在审核模式下部署到 Lamna 中的托管客户端。

此轻松管理的策略的安全注意事项

为了最大程度地减少对用户工作效率的影响,Alice 定义了一个策略,该策略在安全性和用户应用灵活性之间做出多项权衡。 一些权衡包括:

  • 具有管理访问权限的用户

    这种权衡是影响最大的安全权衡。 它允许设备用户或以用户权限运行的恶意软件修改或删除设备上的 WDAC 策略。 此外,管理员可以将任何应用配置为充当托管安装程序,这将允许他们获得针对所需的任何应用或二进制文件的持久应用授权。

    可能的缓解措施:

    • 使用已签名的 WDAC 策略和 UEFI BIOS 访问保护来防止篡改 WDAC 策略。
    • 若要取消托管安装程序的要求,请在应用部署过程中创建和部署已签名的目录文件。
    • 使用设备证明在启动时检测 WDAC 的配置状态,并使用该信息来限制对敏感公司资源的访问。
  • 未签名的策略

    以管理员身份运行的任何进程都可以替换或删除未签名的策略,而不会造成任何后果。 同时启用补充策略的未签名基础策略可以使其“信任圈”被任何未签名的补充策略更改。

    可能的缓解措施:

    • 使用已签名的 WDAC 策略和 UEFI BIOS 访问保护来防止篡改 WDAC 策略。
    • 限制谁可以提升到设备上的管理员。
  • 托管安装程序

    请参阅 托管安装程序的安全注意事项

    可能的缓解措施:

    • 若要取消托管安装程序的要求,请在应用部署过程中创建和部署已签名的目录文件。
    • 限制谁可以提升到设备上的管理员。
  • 智能安全图 (ISG)

    请参阅 智能安全图的安全注意事项

    可能的缓解措施:

    • 实施要求由 IT 管理应用的策略。 审核现有应用使用情况,并使用软件分发解决方案(例如Microsoft Intune)部署授权应用。 从 ISG 移动到托管安装程序或基于签名的规则。
    • 使用限制性审核模式策略来审核应用使用情况并增强漏洞检测。
  • 补充策略

    补充策略旨在放宽关联的基本策略。 此外,允许未签名的策略允许任何管理员进程不受限制地扩展基本策略定义的“信任圈”。

    可能的缓解措施:

    • 使用仅允许经过授权的已签名补充策略的已签名 WDAC 策略。
    • 使用限制性审核模式策略来审核应用使用情况并增强漏洞检测。
  • FilePath 规则

    查看 有关文件路径规则的详细信息

    可能的缓解措施:

    • 限制谁可以提升到设备上的管理员。
    • 从文件路径规则迁移到托管安装程序或基于签名的规则。
  • 已签名的文件

    虽然代码签名的文件会验证作者的身份,并确保代码未被作者以外的任何人更改,但它并不保证签名的代码是安全的。

    可能的缓解措施:

    • 使用具有实时保护的信誉良好的反恶意软件或防病毒软件(例如Microsoft Defender)来保护设备免受恶意文件、广告软件和其他威胁的影响。

下一步