首页/安全/安全加固速查/应用控制(WDAC / AppLocker)
主机加固基线90 条

应用控制(WDAC / AppLocker)

应用白名单让系统“只允许已知程序运行”,从根上压制未知恶意代码执行;Windows 企业版/Server 2022 提供 WDAC 与 AppLocker 两条落地路径。

安全加固速查安全更新于 2026-10-13

应用执行控制能挡住什么

WDAC 与 AppLocker 都属于应用执行控制:只允许通过规则的代码运行,其余一律阻止。它对勒索软件、无文件攻击落地后的执行阶段有很强的抑制作用,因为绝大多数攻击最终都要运行可执行文件或脚本。代价是策略容易误伤:上线前需要在审计模式积累足够长时间,覆盖全部业务软件与运维脚本,再切换强制模式,并准备好应急放行流程。

基本信息

适用平台Windows 企业版与教育版、Server 2016 及以后(WDAC 建议 Server 2019+)
核查命令Get-AppLockerPolicy -Effective、CiTool.exe -lp
两种模式审计模式(只记录)与强制模式(阻止运行)
基线高价值服务器先审计后强制,规则基于签名发布者与路径为主
风险等级高

典型使用场景

  • 高价值服务器加固:只允许获批的运维工具与业务程序运行
  • 勒索防护:阻止未授权程序在终端上执行
  • 合规要求:等保与内部规范对应用白名单有明确条款
  • 应急收紧:事件期间临时强制模式限制新增程序
  • 终端治理:配合软件资产盘点,剔除未授权软件

核查现有策略与部署顺序

核查现有策略与部署顺序
Get-AppLockerPolicy -Effective -ErrorAction SilentlyContinue | Select-Object -ExpandProperty RuleCollections | Select-Object CollectionType, EnforcementMode
CiTool.exe -lp     # 列出本机 WDAC 策略
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard -ErrorAction SilentlyContinue
# 部署顺序建议:
# 1) 审计模式运行 2-4 周,收集全部被引用但未在规则中的程序
# 2) 补齐规则后切换强制模式,并预演应急放行流程

模式与规则读法

项含义正常与异常
EnforcementMode=AuditOnly只记录不阻止上线准备阶段的正常状态
EnforcementMode=Enforce阻止未授权程序准备工作完成后的目标状态
规则依据发布者签名、路径、文件哈希应以签名发布者为主,降低维护量
默认拒绝规则未匹配则阻止白名单模式的核心
应急放行临时允许特定程序必须预演,否则上线当天无法处置
白名单防护力强但最容易误伤:审计模式积累 2 到 4 周、覆盖全部业务软件与运维脚本后再切换强制,并且要有经过演练的应急放行流程。

落地要点

  • 补丁与更新会引入新的可执行文件:规则以签名发布者为主比逐文件哈希更可维护
  • 应急放行通道必须提前预演:上线当天业务被拦死又不会放行,是典型事故场景
  • 先在少量同型机器上试点,再推向全部资产
  • 策略变更纳入变更管理,记录规则调整的原因与时间
  • 与服务收敛、EDR 防护配合使用,形成多层防护
WDAC 比 AppLocker 更靠近内核层、控制更严格,但配置复杂度也更高:按资产重要级别选择,不必所有机器一刀切。

易错点

  • 直接上强制模式:未覆盖全部软件时,业务与运维工具被拦死,恢复成本极高
  • 规则全用文件哈希:每次补丁都要重新维护,很快不可维护并出现漏放
  • 没有应急放行流程:上线后遇到必须运行的新程序时无法临时放行
  • 只在一台机器验证就全量推送:不同角色的机器软件清单差异大,误伤面不可控

数据来源与参考

  • Microsoft Learn:Windows Defender Application Control(WDAC)
  • NIST SP 800-167:应用白名单指南

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌