管理适用于 Azure 本地版本 23H2 的 Windows Defender 应用程序控制
适用于:Azure 本地版本 23H2
本文介绍如何使用 Windows Defender 应用程序控制(WDAC)减少 Azure 本地的攻击面。 有关详细信息,请参阅 管理 Azure 本地版本 23H2 上的基线安全设置。
先决条件
在开始之前,请确保有权访问已部署、注册并连接到 Azure 的 Azure 本地版本 23H2 实例。
通过Azure 门户查看 WDAC 设置
若要查看Azure 门户中的 WDAC 设置,请确保已应用 MCSB 计划。 有关详细信息,请参阅 应用Microsoft云安全基准计划。
可以使用 WDAC 策略来控制允许在系统上运行的驱动程序和应用。 只能通过Azure 门户查看 WDAC 设置。 若要管理设置,请参阅 使用 PowerShell 管理 WDAC 设置。
使用 PowerShell 管理 WDAC 设置
启用 WDAC 策略模式
可以在部署期间或部署后启用 WDAC。 部署后,使用 PowerShell 启用或禁用 WDAC。
连接到其中一台计算机,并使用以下 cmdlet 在“审核”或“强制”模式下启用所需的 WDAC 策略。
在此生成版本中,有两个 cmdlet:
Enable-AsWdacPolicy
- 影响所有群集节点。Enable-ASLocalWDACPolicy
- 仅影响运行 cmdlet 的节点。
根据用例,应运行全局群集更改或本地节点更改。
此操作在以下情况下十分有用:
- 你从默认的推荐设置开始。
- 必须安装或运行新的第三方软件。 可以切换策略模式以创建补充策略。
- 你从部署期间禁用了 WDAC 开始,现在想要启用 WDAC 来提高安全保护或验证软件是否正常运行。
- 你的软件或脚本被 WDAC 阻止。 在这种情况下,可以使用审核模式来了解和解决问题。
注意
当应用程序被阻止时,WDAC 会创建相应的事件。 查看事件日志,了解阻止应用程序的策略的详细信息。 有关详细信息,请参阅 Windows Defender 应用程序控制操作指南。
切换 WDAC 策略模式
按照以下步骤在 WDAC 策略模式之间进行切换。 这些 PowerShell 命令与 Orchestrator 交互以启用所选模式。
连接到 Azure 本地计算机。
使用本地管理员凭据或部署用户(AzureStackLCMUser)凭据运行以下 PowerShell 命令。
运行以下 cmdlet 检查当前已启用的 WDAC 策略模式:
Get-AsWdacPolicyMode
此 cmdlet 返回每个节点的审核或强制模式。
运行以下 cmdlet 切换策略模式:
Enable-AsWdacPolicy -Mode <PolicyMode [Audit | Enforced]>
例如,若要将策略模式切换到审核,请运行:
Enable-AsWdacPolicy -Mode Audit
警告
业务流程协调程序最多需要两到三分钟才能切换到所选模式。
再次运行
Get-ASWDACPolicyMode
以确认策略模式已更新。Get-AsWdacPolicyMode
下面是这些 cmdlet 的示例输出:
PS C:\> Get-AsWdacPolicyMode VERBOSE: Getting WDAC Policy Mode on Node01 VERBOSE: WDAC Policy Mode on Node01 is Enforced. VERBOSE: Getting WDAC Policy Mode on Node01 VERBOSE: WDAC Policy Mode on Node01 is Enforced. NodeName PolicyMode -------- ---------- Node01 Enforced Node01 Enforced PS C:\> Enable-AsWdacPolicy -Mode Audit WARNING: Setting WDAC Policy to Audit Mode on all nodes. This will not protect your system against untrusted applications VERBOSE: Action plan instance ID specified: 6826fbf2-cb00-450e-ba08-ac24da6df4aa VERBOSE: Started an action plan 6826fbf2-cb00-450e-ba08-ac24da6df4aa to set WDAC Policy to Audit Mode. 6826fbf2-cb00-450e-ba08-ac24da6df4aa PS C:\> Get-AsWdacPolicyMode VERBOSE: Getting WDAC Policy Mode on Node01 VERBOSE: WDAC Policy Mode on Node01 is Audit. VERBOSE: Getting WDAC Policy Mode on Node01 VERBOSE: WDAC Policy Mode on Node01 is Audit. NodeName PolicyMode -------- ---------- Node01 Audit Node01 Audit
创建 WDAC 策略以启用第三方软件
在强制模式下使用 WDAC 时,要让非Microsoft签名的软件运行,请通过创建 WDAC 补充策略来构建Microsoft提供的基策略。 可以在公共 WDAC 文档中找到其他信息。
注意
若要运行或安装新软件,可能需要先将 WDAC 切换到审核模式(请参阅上面的步骤),安装软件,测试它是否正常工作,创建新的补充策略,然后将 WDAC 切换回强制模式。
在“多策略格式”中创建新策略,如下所示。 然后,使用它 Add-ASWDACSupplementalPolicy -Path Policy.xml
将其转换为补充策略,并将其部署到群集中的节点。
创建 WDAC 补充策略
使用以下步骤创建补充策略:
在开始之前,请将补充策略涵盖的软件安装到其自己的目录中。 如果有子目录,则没关系。 创建补充策略时,必须提供要扫描的目录,并且不希望补充策略涵盖系统上的所有代码。 在本示例中,此目录为 C:\software\codetoscan。
准备好所有软件后,运行以下命令以创建补充策略。 使用唯一策略名称来帮助标识它。
New-CIPolicy -MultiplePolicyFormat -Level Publisher -FilePath c:\wdac\Contoso-policy.xml -UserPEs -Fallback Hash -ScanPath c:\software\codetoscan
运行以下 cmdlet 以修改补充策略的元数据:
# Path of new created XML) $policyPath = "c:\wdac\Contoso-policy.xml" # Set Policy Version (VersionEx in the XML file) $policyVersion = "1.0.0.1" Set-CIPolicyVersion -FilePath $policyPath -Version $policyVersion # Set Policy Info (PolicyName, PolicyID in the XML file) Set-CIPolicyIdInfo -FilePath $policyPath -PolicyID "Contoso-Policy_$policyVersion" -PolicyName "Contoso-Policy"
运行以下 cmdlet 以部署策略:
Add-ASWDACSupplementalPolicy -Path c:\wdac\Contoso-policy.xml
运行以下 cmdlet 检查新策略的状态:
Get-ASLocalWDACPolicyInfo
下面是这些 cmdlet 的示例输出:
C:\> Get-ASLocalWDACPolicyInfo NodeName : Node01 PolicyMode : Enforced PolicyGuid : {A6368F66-E2C9-4AA2-AB79-8743F6597683} PolicyName : AS_Base_Policy PolicyVersion : AS_Base_Policy_1.1.4.0 PolicyScope : Kernel & User MicrosoftProvided : True LastTimeApplied : 10/26/2023 11:14:24 AM NodeName : Node01 PolicyMode : Enforced PolicyGuid : {2112036A-74E9-47DC-A016-F126297A3427} PolicyName : Contoso-Policy PolicyVersion : Contoso-Policy_1.0.0.1 PolicyScope : Kernel & User MicrosoftProvided : False LastTimeApplied : 10/26/2023 11:14:24 AM