需在Windows Server 2012+启用AppLocker,通过GPMC配置默认规则、创建发布者/路径/哈希白名单,支持PowerShell批量导入,并先以审核模式测试再启用强制执行。

如果您希望在Windows Server上通过AppLocker实现对程序运行的精确控制,仅允许指定的可执行文件、脚本或安装包运行,则需要启用并配置AppLocker策略。以下是完成此配置的具体步骤:
一、确认系统版本与组策略功能可用性
AppLocker仅在Windows Server 2012及更高版本的“标准版”和“数据中心版”中提供,且必须启用“高级安全审核策略”和“应用控制策略”功能。该策略依赖于本地组策略对象(GPO)或域控制器上的组策略管理控制台(GPMC)进行部署。
1、按下 Win + R,输入 winver,确认系统版本为 Windows Server 2012 或更新版本。
2、以管理员身份运行 PowerShell,执行命令:Get-WindowsFeature Application-Server,验证 AppLocker 功能是否已安装;若未安装,运行 Install-WindowsFeature -Name Application-Server -IncludeManagementTools 启用。
3、打开“组策略管理”(gpmc.msc),确保目标服务器已加入域或可编辑本地组策略(gpedit.msc)。
二、启用AppLocker策略并创建默认规则
AppLocker默认不启用任何规则,需手动开启策略并生成基础白名单框架。默认规则可基于发布者、路径或文件哈希生成,其中发布者规则具备最佳可维护性,支持签名验证与自动版本更新适配。
1、在组策略管理控制台中,右键目标 GPO(如“Default Domain Policy”),选择“编辑”。
2、导航至 计算机配置 → 策略 → Windows 设置 → 安全设置 → 应用程序控制策略 → AppLocker。
3、右键“可执行规则”,选择“创建默认规则”;重复操作为“Windows 安装程序规则”、“脚本规则”和“DLL 规则”分别生成对应默认集。
4、返回 AppLocker 节点,右键任意规则类型,选择“属性”,勾选 “配置规则强制执行”,并在下拉菜单中启用“可执行规则”等所需类别。
三、手动添加精确的可执行文件白名单规则
默认规则仅放行系统目录与已签名的 Microsoft 二进制文件,实际业务软件需单独定义。推荐使用“发布者规则”以兼容合法更新,避免因文件版本变更导致拦截;当软件无有效数字签名时,可改用“路径规则”限定安装目录,或“文件哈希规则”锁定特定版本。
1、在“可执行规则”节点右键,选择“创建新规则”。
2、在向导第一页,取消勾选“用户或组”,点击“下一步”;第二页选择 “发布者” 作为条件类型,点击“浏览”定位到目标程序(如 C:\Program Files\MyApp\MyApp.exe),确认其数字签名有效。
3、第三页中,在“安全级别”处选择 “仅允许此发布者签名的文件”,并勾选 “应用于所有文件版本”。
4、第四页输入规则名称(如“MyApp Production Release”),点击“创建”。
四、通过PowerShell批量导入白名单规则
当需部署大量预定义规则时,图形界面逐条配置效率低下。可先导出基准规则为 XML 文件,再使用 Set-AppLockerPolicy cmdlet 批量载入,确保规则一致性与可复现性。
1、在已配置好规则的参考服务器上,运行:Get-AppLockerPolicy -Effective -Xml | Out-File C:\Rules\BaselinePolicy.xml。
2、将该 XML 文件复制至目标服务器,以管理员身份运行 PowerShell。
3、执行命令:Set-AppLockerPolicy -XmlPolicy (Get-Content C:\Rules\BaselinePolicy.xml -Raw) -Merge,参数 -Merge 表示叠加现有规则而非完全覆盖。
4、验证导入结果:Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollections。
五、测试与审计模式验证规则效果
直接启用强制模式可能导致关键服务中断,应先以“仅审核”模式运行策略,收集事件日志中的执行尝试记录,识别被误拦的合法程序并调整规则范围。
1、在 AppLocker 策略属性中,将各规则类型的状态由“已启用”改为 “审核模式”。
2、等待约15分钟,使策略生效;随后在目标服务器上打开“事件查看器”,定位至 应用程序和服务日志 → Microsoft → Windows → AppLocker → EXE and DLL。
3、筛选事件 ID 为 8003(被阻止)和 8004(已允许)的日志项,检查路径、发布者信息与时间戳。
4、根据审计日志中出现的合法程序路径或签名信息,补充新增白名单规则,确认无误后,再将策略状态切换为“已启用”。










