🛡️ AppLocker 应用控制

组策略 GPO · 第 7 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. AppLocker 概述
  2. 启用 Application Identity 服务
  3. 创建默认规则
  4. 自定义规则(EXE/MSI/脚本)
  5. 规则异常与条件
  6. 审核模式与强制模式
  7. 常见问题

1. AppLocker 概述

AppLocker 是 Windows 的应用程序白名单控制工具,通过规则限制哪些程序可以运行。

规则类型控制的文件条件类型
可执行规则.exe .com .bat .cmd .ps1 .vbs .js发布者/路径/文件哈希
Windows 安装程序规则.msi .msp .mst发布者/路径/文件哈希
脚本规则.ps1 .vbs .js .bat .cmd发布者/路径/文件哈希
打包应用规则.appx(UWP 应用)发布者/包名

2. 启用 Application Identity 服务

AppLocker 依赖 Application Identity 服务,必须设为自动启动。

PowerShell - 启用 Application Identity 服务
# 通过 GPO 首选项设置服务自动启动
# 或在本地先验证
Set-Service -Name AppIDSvc -StartupType Automatic
Start-Service AppIDSvc
Get-Service AppIDSvc

3. 创建默认规则

路径:计算机配置 → 策略 → Windows 设置 → 安全设置 → 应用程序控制策略 → AppLocker

1

GPO 编辑器 → AppLocker → 可执行规则 → 右键 → 创建默认规则

2

系统自动创建 3 条默认规则:

默认规则说明
允许 Administrators 组运行所有应用程序管理员不受限制
允许 Everyone 组运行 Windows 文件夹中的程序C:\Windows\*
允许 Everyone 组运行 Program Files 中的程序C:\Program Files\*
⚠️ 必须保留默认规则

默认规则确保系统正常运行。如果删除所有规则且强制模式开启,系统将无法启动任何程序(包括登录界面)。

3

Windows 安装程序规则脚本规则 重复创建默认规则

4. 自定义规则(EXE/MSI/脚本)

4.1 基于发布者的规则(推荐)

根据数字签名信息匹配,版本灵活且安全。

1

右键 可执行规则创建新规则

2

权限:允许 | 用户/组:Everyone

3

条件:发布者 → 浏览选择已签名的 exe 文件 → 拖动滑块到 "文件名" 级别

4.2 基于路径的规则

根据文件路径匹配,支持通配符。

示例路径规则
# 允许特定目录下的程序
%PROGRAMFILES%\CompanyApp\*

# 允许特定用户的程序
%USERPROFILE%\AppData\Local\MyApp\*

# 拒绝特定目录
%HOMEDRIVE%\Temp\*

4.3 基于哈希的规则

根据文件哈希值匹配,最安全但维护成本高(文件更新需重新生成规则)。

PowerShell - 获取文件哈希
# 获取文件的 AppLocker 哈希
Get-AppLockerFileInformation -Path "C:\Tools\admin.exe" |
    Select-Object Path, @{N='Hash';E={$_.Hash}}

5. 规则异常与条件

规则可添加 异常,排除特定条件。

场景规则异常
允许所有 Office 程序,但拒绝 Access发布者:Microsoft Office文件名:MSACCESS.EXE
允许 Program Files,拒绝某子目录路径:%PROGRAMFILES%\*路径:%PROGRAMFILES%\HackTool\*

6. 审核模式与强制模式

PowerShell - 切换 AppLocker 强制模式
# 查看当前强制模式
Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollectionTypes

# 设置为审核模式(仅记录,不阻止)
Set-AppLockerPolicy -XMLPolicy "C:\Temp\AppLocker-Audit.xml" -LdapPath "LDAP://DC=iehang,DC=cn"

# 查看 AppLocker 审核事件
Get-WinEvent -LogName "Microsoft-Windows-AppLocker/EXE and DLL" -MaxEvents 50
💡 最佳实践
  1. 先审核,后强制 — 先在审核模式下运行 1-2 周,收集被阻止的程序
  2. 根据审核日志补充规则 — 确保无误拦
  3. 切换为强制模式 — 确认规则完善后再开启

7. 常见问题

Q1:AppLocker 和 SRP(软件限制策略)有什么区别

AppLocker 是 SRP 的升级版:① AppLocker 支持基于发布者的规则(SRP 不支持)② AppLocker 支持基于用户/组的规则 ③ AppLocker 有审核模式 ④ AppLocker 仅支持 Win7+/Server2008R2+。新环境 优先使用 AppLocker

Q2:开启 AppLocker 后系统无法登录

安全模式登录 → 检查默认规则是否完整 → 确认 Windows 目录和 Program Files 目录的允许规则存在。如果 GPO 导致无法登录,可从另一台 DC 上删除/禁用该 GPO 链接。