AppLocker白名单通过匹配发布者、路径、哈希等属性放行程序,需默认阻止未授权应用并正确配置OU、启用强制执行;创建默认规则后须开启审核模式验证,优先用发布者规则,脚本和服务需单独配置。
AppLocker白名单的核心逻辑
applocker不是简单“只允许运行列表里的程序”,而是通过规则匹配可执行文件的属性(如发布者、路径、哈希值)来放行。白名单效果成立的前提是:默认阻止所有未明确允许的应用,并确保规则作用范围覆盖目标用户或设备。
关键设置步骤
在“组策略管理编辑器”中依次展开:计算机配置 → 策略 → Windows 设置 → 安全设置 → 应用程序控制策略 → AppLocker。右键“可执行规则”选择“创建默认规则”——这会自动生成三条基础规则(允许Windows目录、Program Files、Program Files (x86) 下签名合法的程序),但默认不启用,需手动启用策略并设为“强制执行”。
- 启用前务必在测试OU中开启“审核模式”,观察事件日志(应用程序和服务日志 → Microsoft → Windows → AppLocker → EXE and DLL)确认拦截是否符合预期
- 添加自定义规则时优先用“发布者规则”(基于数字签名),比路径规则更安全;路径规则慎用通配符(如
C:\Tools\*.exe),避免误放恶意程序 - 对无签名的内部工具,用哈希规则最稳妥——右键规则→“自动生成规则”,选中该EXE文件即可生成唯一哈希项
常见失效原因
白名单不起作用,多数因以下配置疏漏:
- 策略链接到错误的OU,或GPO未启用/未刷新(
gpupdate /force后仍需重启或重新登录生效) - 规则应用范围设为“仅用户”但未配置用户策略,或设为“仅计算机”却在用户上下文中运行程序
- 遗漏脚本类执行(PowerShell、CMD、BAT)——需单独在“脚本规则”中配置,AppLocker默认不控制脚本
- 系统服务或计划任务调用的EXE被绕过(AppLocker默认不限制Local System账户启动的进程)
运维建议
生产环境上线前做三件事:
- 导出当前规则为XML备份(右键AppLocker节点→“所有任务”→“导出策略”),便于快速回滚
- 对关键业务软件,提前在测试机验证其所有依赖DLL和子进程是否都被规则覆盖(可用Process Monitor辅助分析)
- 定期检查AppLocker日志中的“已阻止”事件,识别新增的合法程序并及时补入白名单










