使用 AppLocker 规则

 

适用对象:Windows 8.1, Windows Server 2012 R2, Windows Server 2012, Windows 8

本主题介绍 AppLocker 规则类型以及如何使用它们为使用您的应用程序控制策略Windows Server® 2012和Windows® 8。

过程

下表介绍了三种 AppLocker 强制模式。 在此处定义的强制模式设置可以覆盖由具有较高优先级派生从链接组策略对象 (GPO) 的设置。

强制模式

说明

未配置

这是此处定义的规则这意味着将强制实施除非具有较高优先级链接的 GPO 具有不同的值设置为此设置的默认设置。

强制规则

强制执行规则。

仅审核

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

当各个 GPO 中的 AppLocker 策略合并时,将合并所有 GPO 中的规则,并应用入选 GPO 的强制模式设置。

璝惠 Gpo 和组策略继承,请参阅组策略规划和部署指南https://go.microsoft.com/fwlink/p/?linkid=143138

规则集合

AppLocker 用户界面访问通过 Microsoft 管理控制台 (MMC) 中,并且它被组织到规则集合,如可执行文件、 脚本、 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 组的成员运行所有应用程序。

  • 允许的成员每个人都组来运行应用程序位于 Windows 文件夹中。

  • 允许的成员每个人都组来运行应用程序位于 Program Files 文件夹中。

脚本默认规则类型包括:

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

  • 允许的成员每个人都组运行位于 Program Files 文件夹中的脚本。

  • 允许的成员每个人都组运行位于 Windows 文件夹中的脚本。

Windows Installer 默认规则类型包括:

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

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

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

DLL 默认规则类型:

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

  • 允许的成员每个人都组运行位于 Program Files 文件夹中的 Dll。

  • 允许的成员每个人都组运行位于 Windows 文件夹中的 Dll。

打包应用程序默认规则类型:

  • 允许的成员每个人都组以安装和运行已全部签名的打包应用程序并且打包应用安装程序。

AppLocker 规则行为

如果不存在特定规则集合的 AppLocker 规则,则允许运行所有采用该文件格式的文件。 但是,如果为特定规则集合创建了 AppLocker 规则,则只允许运行规则中明确允许的文件。 例如,如果创建的可执行规则允许运行 %SystemDrive%\FilePath 中的 .exe 文件,则只允许运行该路径中的可执行文件。

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

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

  • **拒绝。**您可以指定哪些文件允许运行在您的环境,并为哪些用户或用户组。 还可以配置例外以标识从规则中排除的文件。

重要

为获得最佳的操作,使用允许操作异常。 可以使用的组合允许和拒绝操作但理解的拒绝操作会覆盖在所有情况下允许的操作,并就能够绕过。

重要

如果运行的计算机将加入Windows Server 2012或Windows 8到已用于可执行文件强制执行 AppLocker 规则的域,用户将无法运行任何打包的应用程序,除非您还可以创建的打包应用程序的规则。 如果您想要继续控制可执行文件时允许您的环境中的任何打包的应用程序,应创建默认规则的打包应用程序并设置为仅审核的打包应用程序的规则集合的强制模式。

规则例外

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

此规则的效果会阻止一些用户(如技术支持人员)运行其支持任务所必需的程序。 若要解决此问题,创建适用于技术支持用户组的第二个规则:"允许技术支持才能运行注册表编辑器"。 如果你创建的拒绝规则不允许任何用户运行注册表编辑器,则该拒绝规则将覆盖允许技术支持用户组运行注册表编辑器的第二个规则。

DLL 规则集合

由于默认情况下 DLL 规则集合处于未启用状态,必须执行下列过程之后才能创建和强制执行 DLL 规则。

必须至少具有本地 Administrators 组中的成员身份或同等身份才能完成此过程。

启用 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 操作系统的计算机, 只能使用软件限制策略。 如果组策略对象 (GPO) 中定义了 AppLocker 规则,则只应用这些规则。 若要确保软件限制策略规则与 AppLocker 规则之间的互操作性,请在不同的 GPO 中定义软件限制策略规则和 AppLocker 规则。

  • 安装程序规则集合是仅在上可用的打包应用程序和打包应用程序Windows Server 2012和Windows 8。

  • 当强制执行可执行文件的规则集合规则并打包的应用和打包的应用安装程序规则集合不包含任何规则、 没有打包的应用程序和打包的应用安装程序可以运行。 为了允许任何打包应用程序和打包的应用安装程序必须为打包应用程序创建规则和打包应用安装程序的规则集合。

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

  • 已配置的自定义 URL 可包含在阻止应用程序时显示的消息中。

  • 开始时,由于应用程序被阻止,技术支持呼叫的次数会增加,直到用户了解他们无法运行被阻止的应用程序为止。

请参阅

AppLocker 概述 [客户端]