使用 OSConfig 配置适用于企业的应用控制
应用控制企业版是一个基于软件的安全层,通过强制实施允许运行的软件的显式列表来减少攻击面。 Microsoft开发了 Windows Server 2025 的默认策略,你可以使用 Windows PowerShell cmdlet 在服务器上实现该策略。 通过 OSConfig 安全配置平台促进应用控制实现,并提供两种主要操作模式:
- 审核模式:允许在记录事件时运行不受信任的代码。
- 强制模式:禁止在记录事件时运行不受信任的代码。
若要了解有关这些安全事件日志的详细信息,请参阅 “了解应用控制事件 ”和 “了解应用控制”事件标记。
由于应用控制是 Windows Server 2025 的一个组件,因此其策略的部署可通过 PowerShell 更轻松地访问审核模式和强制模式。 默认情况下,未在 Window Server 2025 中设置审核模式应用控制策略。 相反,组织可以使用企业可以使用 OSConfig 工具来添加这些策略。 OSConfig 包括可以使用补充策略进行自定义的基策略(未签名),以满足特定业务需求。 若要详细了解此安全增强功能,请参阅 适用于 Windows 的应用程序控制。
注意
Azure Monitor 工作簿简化了审核或阻止操作系统在激活应用控制时发出的事件的过程。 此工作簿提供有关文件审核和阻止活动的见解,以及:
- 收集并发送适用于企业的 App Control 的 Windows 事件日志,并将其发送到 Log Analytics 工作区。
- 使用各种仪表板、图表、筛选器和导出功能识别文件和策略事件活动。 这些功能可帮助你分析和排查应用控制策略的效果和状态。
- 通过导出工作簿数据并将其引入 WDAC 向导来优化应用控制策略。
若要开始使用适用于企业的 App Control 的 Azure Monitor 工作簿,请参阅 如何深入了解适用于企业的 App Control (WDAC) 事件。
先决条件
必须在设备上运行生产签名的 Windows Server 2025 内部版本。 此要求可确保符合适用于企业的应用控制策略。
注意
不允许使用外部测试签名的二进制文件。 不符合此要求会导致无法启动设备。
OSConfig PowerShell 模块必须安装在服务器设备上。 有关详细信息,请参阅 安装 OSConfig PowerShell 模块 。
必须在客户端设备上运行 Windows 10 版本 1909 或更高版本,并 安装 WDAC 向导 。
注意
如果客户端设备未安装 .NET Desktop Runtime 8.0 或更高版本,WDAC 向导将提示下载并安装此应用程序。
管理默认策略
若要在审核模式下配置默认应用控制策略,请以管理员身份打开 PowerShell 并运行以下命令:
Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\DefaultPolicy\Audit -Default
Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\AppBlockList\Audit -Default
若要在强制模式下配置默认应用控制策略,请以管理员身份打开 PowerShell 并运行以下命令:
Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\DefaultPolicy\Enforce -Default
Set-OSConfigDesiredConfiguration -Scenario AppControl\WS2025\AppBlockList\Enforce -Default
监视事件日志
若要在应用应用应用控制策略后查看捕获的事件,请选择要在设备上运行的任何第三方应用程序。 如果在审核模式下设置应用控制策略,请检查操作系统是否针对任何第三方应用程序发出了事件 ID 3076 。 如果在强制模式下设置策略,请检查操作系统是否发出事件 ID 3077。
系统检测到第三方应用程序尝试访问受限内容,并采取措施阻止访问。 若要查看和导出这些事件日志,请执行以下步骤:
- 右键单击“开始”,然后选择事件查看器。
- 在左窗格中,转到 “应用程序和服务日志”\Microsoft\Windows\CodeIntegrity\Operational。
- 在中间窗格中,查找事件 ID 3076 以审核模式,或 查找 3077 以获取强制模式。
配置补充策略
若要创建补充应用控制策略,请执行以下步骤:
- 将
.evtx
日志文件从服务器复制到客户端设备。 - 在客户端设备上,打开 WDAC 向导。
- 在主屏幕上,选择“策略编辑器”。
- 在 “策略编辑器” 屏幕上,选择“ 将事件日志转换为 WDAC 策略”。 然后,在“分析事件日志 evtx 文件到策略”下,选择“分析日志文件”。
- 在“选择要转换为策略”对话框的“选择事件日志”中,找到文件
.evtx
,然后选择“打开”。 在提示中选择“确定”,然后选择“下一步”。 - 在“文件规则”屏幕上的“文件名”下,选择要添加到策略的文件。
- 在“规则类型”下,选择“路径”,然后选择“+ 添加允许”。
- 对要添加到策略的所有项重复步骤 7,然后选择“ 下一步”。
注意
默认情况下,补充策略以 C:\Users\Username\Documents 格式存储。
生成补充策略后,将 XML 文件复制到服务器并运行以下脚本:
$policyPath = "<Path to the XML policy file>"
# Reset GUID (best practice)
Set-CIPolicyIdInfo -FilePath $policyPath -ResetPolicyID
# Set policy version (VersionEx in the XML file)
$policyVersion = "1.0.0.1"
Set-CIPolicyVersion -FilePath $policyPath -Version $policyVersion
# Set policy info (PolicyName and PolicyID in the XML file)
Set-CIPolicyIdInfo -FilePath $policyPath -PolicyID "<App name>-Policy_$policyVersion" -PolicyName "<App name>-Policy" # E.g. Set-CIPolicyIdInfo -FilePath $policyPath -PolicyID "Chrome-Policy_$policyVersion" -PolicyName "Chrome-Policy"
$base = "{9214D8EE-9B0F-4972-9073-A04E917D7989}"
Set-CIPolicyIdInfo -FilePath $policyPath -SupplementsBasePolicyID $base
#Set the new policy into the system
Set-OSConfigDesiredConfiguration -Scenario AppControl -Name Policies -Value $policyPath
若要验证是否已应用补充策略,请监视事件 ID 3076 和 3077,如“监视事件日志”前面所述。 验证操作系统是否未生成任何新事件。
查询策略
若要查看环境中当前生效的策略,请运行以下命令:
(Get-OSConfigDesiredConfiguration -Scenario AppControl).Value.PolicyInfo | Where-Object { $_.IsEffective -eq $true }
若要查看环境中当前处于非活动状态的策略,请运行以下命令:
(Get-OSConfigDesiredConfiguration -Scenario AppControl).Value.PolicyInfo | Where-Object { $_.IsEffective -eq $false }
这些查询的输出因策略配置需求而异。