使用 AppLocker 规则

本主题面向 IT 专业人员介绍了 AppLocker 规则类型以及如何针对你的应用程序控制策略使用它们。

本部分内容

主题 描述

创建使用文件哈希条件的规则

面向 IT 专业人员的本主题介绍了如何创建带有文件哈希条件的 AppLocker 规则。

创建使用路径条件的规则

面向 IT 专业人员的本主题介绍了如何创建带有路径条件的 AppLocker 规则。

创建使用发布者条件的规则

面向 IT 专业人员的本主题介绍了如何创建带有发布者条件的 AppLocker 规则。

创建 AppLocker 默认规则

面向 IT 专业人员的本主题介绍了创建将允许 Windows 系统文件运行的标准 AppLocker 规则集的步骤。

为 AppLocker 规则添加例外

面向 IT 专业人员的本主题介绍了指定哪些应用可以或不可以作为 AppLocker 规则的例外运行的步骤。

创建封装应用规则

面向 IT 专业人员的本主题介绍了如何创建带有发布者条件的封装应用的 AppLocker 规则。

删除 AppLocker 规则

面向 IT 专业人员的本主题介绍了删除 AppLocker 规则的步骤。

编辑 AppLocker 规则

面向 IT 专业人员的本主题介绍在 AppLocker 中编辑发布者规则、路径规则和文件哈希规则的步骤。

启用 DLL 规则集合

面向 IT 专业人员的本主题介绍启用 AppLocker 的 DLL 规则集合功能的步骤。

强制执行 AppLocker 规则

面向 IT 专业人员的本主题介绍如何使用 AppLocker 强制执行应用程序控制规则。

运行自动生成规则向导

本主题面向 IT 专业人员介绍了通过在引用设备上运行向导创建 AppLocker 规则的步骤。

 

下表描述了三种 AppLocker 强制执行模式。此处定义的强制执行模式设置可由派生自具有较高优先级的已链接组策略对象 (GPO) 的设置覆盖。

强制执行模式 描述

未配置

这是默认设置,表示此处定义的规则将强制执行,除非具有较高优先级的已链接 GPO 针对此设置具有其他值。

强制执行规则

强制执行规则。

仅审核

规则已审核,但未强制执行。当用户运行受 AppLocker 规则影响的应用时,该应用将允许运行,并且有关该应用的信息将添加到 AppLocker 事件日志中。仅审核的强制执行模式可帮助你确定在强制执行该策略前哪些应用将受其影响。当将规则集合的 AppLocker 策略设置为“仅审核”时,将不强制执行该规则集合的规则。

 

在合并来自各种 GPO 的 AppLocker 策略后,所有 GPO 的规则也将合并,并且将应用所选 GPO 的强制执行模式设置。

规则集合

AppLocker 控制台由以下规则集合组成:可执行文件、脚本、Windows Installer 文件、封装应用和封装应用安装程序以及 DLL 文件。这些集合为你提供了一种简单的方法来区分不同应用类型的规则。下表列出了每个规则集合中所包含的文件格式。

规则集合 关联的文件格式

可执行文件

.exe

.com

脚本

.ps1

.bat

.cmd

.vbs

.js

Windows Installer 文件

.msi

.msp

.mst

封装应用和封装应用安装程序

.appx

DLL 文件

.dll

.ocx

 

要点  

如果你使用 DLL 规则,则需要为所有允许的应用所使用的每个 DLL 创建一个允许规则。

在使用 DLL 规则时,AppLocker 必须检查应用程序加载的每个 DLL。因此,如果使用 DLL 规则,用户可能会遇到性能降低的情形。

默认情况下不启用 DLL 规则集合。若要了解如何启用 DLL 规则集合,请参阅 DLL 规则集合。

 

规则条件

规则条件是用于帮助 AppLocker 标识要应用规则的应用的标准。三个主要规则条件为发布者、路径和文件哈希。

  • 发布者:基于应用的数字签名标识它

  • 路径:通过应用在计算机文件系统中或网络上的位置来标识它

  • 文件哈希:表示已标识文件的系统计算的加密哈希

发布者

此条件将基于应用的数字签名和扩展属性(如果可用)标识它。数字签名包含有关创建应用的公司(发布者)的信息。可执行文件、dll、Windows Installer、封装应用和封装应用安装程序还具有扩展属性,可从二进制资源获取这些属性。对于可执行文件、dll 和 Windows Installer,这些属性将包含该文件所属产品的名称、发布者提供的文件的原始名称,以及该文件的版本号。对于封装应用和封装应用安装程序,这些扩展属性将包含应用包的名称和版本。

注意  

封装应用和封装应用安装程序规则集合中创建的规则只能具有发布者条件,因为 Windows 不支持未签名的封装应用和封装应用安装程序。

 

注意  

尽可能使用发布者规则条件,因为它们可以使应用更新以及文件位置的更改保持有效性。

 

当你为发布者条件选择引用文件时,该向导将创建用于指定发布者、产品、文件名和版本号的规则。你可以通过以下方法使该规则变得更为通用:向上移动滑块,或者在产品、文件名或版本号字段中使用通配符 (*)。

注意  

若要为“创建规则向导”中某一发布者规则条件的任何字段输入自定义值,则必须选中“使用自定义值”复选框。选中此复选框后,你无法使用滑块。

 

“文件版本”****和“程序包版本”用于控制用户是否可以运行应用的特定版本、早期版本或更高版本。你可以选择一个版本号,然后配置以下选项:

  • **原版本。**该规则仅适用于此版本的应用

  • **更高版本。**该规则适用于此版本以及所有更高版本。

  • **早期版本。**该规则适用于此版本以及所有早期版本。

下表描述了如何应用发布者条件。

选项 发布者条件允许或拒绝...

所有已签名的文件

由任一发布者签名的所有文件。

仅发布者

由命名发布者签名的所有文件。

发布者和产品名称

针对指定产品由命名发布者签名的所有文件。

发布者、产品名称和文件名

针对命名产品由发布者签名的命名文件或程序包的任一版本。

发布者、产品名称、文件名和文件版本

原版本

针对命名产品由发布者签名的命名文件或程序包的指定版本。

发布者、产品名称、文件名和文件版本

更高版本

针对该产品由发布者签名的命名文件或程序包的指定版本以及所有新版本。

发布者、产品名称、文件名和文件版本

早期版本

针对该产品由发布者签名的命名文件或程序包的指定版本以及所有早期版本。

自定义

你可以编辑“发布者”、“产品名称”、“文件名”、“版本”、“程序包名称”和“程序包版本”字段来创建自定义规则。

 

路径

此规则条件会通过应用程序在计算机文件系统中或网络上的位置对其进行标识。

AppLocker 针对已知路径使用自定义路径变量,如 Program Files 和 Windows。

下表详细介绍了这些路径变量。

Windows 目录或磁盘 AppLocker 路径变量 Windows 环境变量

Windows

%WINDIR%

%SystemRoot%

System32

%SYSTEM32%

%SystemDirectory%

Windows 安装目录

%OSDRIVE%

%SystemDrive%

Program Files

%PROGRAMFILES%

%ProgramFiles% 和

%ProgramFiles(x86)%

可移动媒体(例如 CD 或 DVD)

%REMOVABLE%

可移动存储设备(例如 U 盘)

%HOT%

 

要点  

因为路径规则条件可以配置为包含大量的文件夹和文件,所以应仔细计划路径条件。例如,如果一条带有路径条件的允许规则包含允许非管理员将数据写入到的文件夹位置,则用户可以将未经批准的文件复制到该位置并运行这些文件。出于此原因,最佳做法是不为标准用户可写入位置(如用户配置文件)创建路径条件。

 

文件哈希

当你选择文件哈希规则条件时,系统将计算已标识文件的加密哈希。此规则条件的优点是,由于每个文件具有唯一的哈希,所以文件哈希规则条件只适用于一个文件。缺点是,每次更新文件(如安全更新或升级)时都将更改文件的哈希。因此,必须手动更新文件哈希规则。

AppLocker 默认规则

AppLocker 允许你为每个规则集合生成默认规则。

可执行的默认规则类型包括:

  • 允许本地 Administrators 组的成员运行所有应用。

  • 允许 Everyone 组的成员运行 Windows 文件夹中的应用。

  • 允许 Everyone 组的成员运行 Program Files 文件夹中的应用。

脚本默认规则类型包括:

  • 允许本地 Administrators 组的成员运行所有脚本。

  • 允许 Everyone 组的成员运行 Program Files 文件夹中的脚本。

  • 允许 Everyone 组的成员运行 Windows 文件夹中的脚本。

Windows Installer 默认规则类型包括:

  • 允许本地 Administrators 组的成员运行所有 Windows Installer 文件。

  • 允许 Everyone 组的成员运行所有已进行数字签名的 Windows Installer 文件。

  • 允许 Everyone 组的成员运行 Windows\Installer 文件夹中的所有 Windows Installer 文件。

DLL 默认规则类型:

  • 允许本地 Administrators 组的成员运行所有 DLL。

  • 允许 Everyone 组的成员运行 Program Files 文件夹中的 DLL。

  • 允许 Everyone 组的成员运行 Windows 文件夹中的 DLL。

封装应用默认规则类型:

  • 允许 Everyone 组的成员安装和运行所有已签名的封装应用和封装应用安装程序。

AppLocker 规则行为

如果不存在特定规则集合的任何 AppLocker 规则,则允许运行所有具有该文件格式的文件。但是,当创建特定规则集合的 AppLocker 规则时,仅允许运行规则中明确允许的文件。例如,如果你创建允许运行 %SystemDrive%\FilePath 中的 .exe 文件的可执行规则,则仅允许运行位于该路径的可执行文件。

可将规则配置为使用允许或拒绝操作:

  • **允许。**你可以指定允许在你的环境中运行的文件以及所针对的用户或用户组。你还可以配置例外以标识从规则中排除的文件。

  • **拒绝。**你可以指定 not 允许在你的环境中运行的文件以及所针对的用户或用户组。你还可以配置例外以标识从规则中排除的文件。

要点  

有关最佳实践,请使用具有例外的允许操作。 你可以结合使用允许和拒绝操作,但须了解拒绝操作将在所有情况下替代允许操作,不过可以规避。

 

要点  

如果将至少运行 Windows Server 2012 或 Windows 8 的计算机加入到已强制执行可执行文件的 AppLocker 规则的某个域,用户将无法运行任何封装应用,除非你还为封装应用创建了相关规则。如果你想要在你的环境中允许任何封装应用,同时继续控制可执行文件,则应为封装应用创建默认规则,并针对封装应用规则集合将强制执行模式设置为仅审核。

 

规则例外

可以将 AppLocker 规则应用到个别用户,也可以应用到用户组。如果你将规则应用到用户组,则该组中的所有用户都会受到该规则的影响。如果你需要允许用户组的子集使用应用,可以为该子集创建特殊规则。例如,“允许所有人运行除注册表编辑器之外的 Windows”规则允许组织的中所有人运行 Windows 操作系统,但不允许任何人运行注册表编辑器。

此规则的效果将阻止用户(如技术支持人员)运行其支持任务所需的程序。若要解决此问题,请创建应用于支持人员用户组的第二个规则:“允许技术支持人员运行注册表编辑器。”如果你创建不允许任何用户运行注册表编辑器的拒绝规则,拒绝规则将替代允许支持人员用户组运行注册表编辑器的第二个规则。

DLL 规则集合

因为 DLL 规则集合默认处于禁用状态,所以你必须先执行以下过程,然后才能创建和强制执行 DLL 规则。

本地 Administrators 组中的成员身份或同等身份是完成此过程的最低要求。

Mt431872.wedge(zh-cn,VS.85).gif启用 DLL 规则集合

  1. 单击“开始”、键入 secpol.msc,然后按 ENTER。

  2. 如果出现“用户帐户控制”对话框,请确认它所显示的操作是你要采取的操作,然后单击“是”****。

  3. 在控制台树中,双击“应用程序控制策略”、右键单击“AppLocker”****,然后单击“属性”。

  4. 单击“高级”选项卡、选中“启用 DLL 规则集合”复选框,然后单击“确定”

    要点  

    在强制执行 DLL 规则前,请确保允许的任何应用使用每个 DLL 的允许规则。

     

AppLocker 向导

你可以使用两个 AppLocker 向导来创建规则:

  1. “创建规则向导”允许你一次创建一个规则。

  2. “自动生成规则向导”允许你一次创建多个规则。可以选择一个文件夹,并允许该向导针对该文件夹中的相关文件创建规则,也可以选择封装应用,并允许该向导针对已安装在计算机上的所有封装应用创建规则。你还可以指定要应用规则的用户或组。此向导将仅自动生成允许规则。

其他注意事项

  • 默认情况下,AppLocker 规则不允许用户打开或运行任何未明确允许的文件。管理员应使允许的应用程序列表保持最新状态。

  • 有两种类型的 AppLocker 条件,不会保留以下应用更新:

    • 文件哈希条件文件哈希规则条件可用于任何应用,因为在创建规则时会生成应用的一个加密哈希值。但是,该哈希值特定于精确版本的应用。如果组织内部使用了多个版本的应用程序,你需要为使用中的每个版本创建文件哈希条件,并为发布的所有新版本创建文件哈希条件。

    • 已设置特定产品版本的发布者条件如果你使用版本选项创建发布者规则条件,则在安装新版本的应用时,该规则将无法保留。必须创建一个新的发布者条件,或者必须编辑不太具体的规则中的版本。

  • 如果未对应用进行数字签名,则无法使用该应用的发布者规则条件。

  • AppLocker 规则无法用于管理运行早于 Windows Server 2008 R2 或 Windows 7 的 Windows 操作系统的计算机。必须改为使用软件限制策略。如果 AppLocker 规则已在组策略对象 (GPO) 中定义,则仅应用这些规则。若要确保软件限制策略规则与 AppLocker 规则之间的互操作性,请在不同的 GPO 中定义软件限制策略规则和 AppLocker 规则。

  • 封装应用和封装应用安装程序规则集合在至少运行 Windows Server 2012 和 Windows 8 的设备上可用。

  • 如果强制执行可执行的规则集合的规则,且封装应用和封装应用安装程序规则集合未包含任何规则,则不允许运行封装应用和封装应用安装程序。若要允许任何封装应用和封装应用安装程序运行,必须为封装应用和封装应用安装程序规则集合创建规则。

  • 当 AppLocker 规则集合设置为“仅审核”时,不强制执行这些规则。当用户运行包含在规则中的应用程序时,应用将打开并正常运行,而有关该应用的信息将被=添加到 AppLocker 事件日志中。

  • 自定义配置的 URL 可以包含在应用被阻止时所显示的消息中。

  • 希望一开始能增加技术支持呼叫次数,因为已阻止的应用需要在用户了解他们不能运行应用后运行。