AppLocker

本文提供 AppLocker 的说明,可帮助你确定组织是否可以从部署 AppLocker 应用程序控制策略中受益。 AppLocker 可帮助你控制用户可以运行的应用和文件。 它们包括可执行文件、脚本、Windows 安装程序文件、动态链接库 (DLL)、应用包和应用包安装程序。 Windows Defender应用程序控制的某些功能也使用 AppLocker。

注意

AppLocker 是一项深层防御安全功能,不被视为可防御的 Windows 安全功能。 当目标是提供强大的威胁防护,并且预计没有设计限制会阻止安全功能实现此目标时,应使用Windows Defender应用程序控制

注意

默认情况下,AppLocker 策略仅适用于在用户上下文中启动的代码。 在Windows 10、Windows 11和Windows Server 2016或更高版本上,可以将 AppLocker 策略应用于非用户进程,包括作为 SYSTEM 运行的进程。 有关详细信息,请参阅 AppLocker 规则集合扩展

AppLocker 可以帮助你:

  • 根据应用更新期间永久使用的文件属性来定义规则,例如:发布者名称(从数字签名派生)、产品名称、文件名和文件版本。 你还可以基于文件路径和哈希创建规则。
  • 向安全组或单个用户分配规则。
  • 创建规则异常。 例如,可以创建规则以允许所有用户运行除注册表编辑器 (regedit.exe) 之外的所有 Windows 二进制文件。
  • 使用仅审核模式部署策略,并在强制执行策略之前了解其效果。
  • 在暂存服务器上创建规则并测试它们,然后将它们导出到生产环境,之后将其导入到组策略对象。
  • 使用 Windows PowerShell 创建和管理 AppLocker 规则。

AppLocker 可帮助防止用户运行未经批准的应用。 AppLocker 解决了以下应用控制方案:

  • 应用程序清单:AppLocker 能够在仅审核模式下应用其策略,该模式允许所有应用启动活动,但在事件日志中注册。 可以收集这些事件以供进一步分析。 Windows PowerShell cmdlet 还帮助你以编程方式分析此数据。
  • 防止不需要的软件:当你从允许的应用列表中排除应用时,AppLocker 能够拒绝应用运行。 在生产环境中强制实施 AppLocker 规则时,将阻止任何未包含在允许规则中的应用运行。
  • 许可符合性:AppLocker 可帮助你创建规则,阻止未授权软件运行,并将许可软件限制为授权用户。
  • 软件标准化:可将 AppLocker 策略配置为仅允许受支持或批准的应用在业务组中的计算机上运行。 此配置允许更统一的应用部署。

何时使用 AppLocker

在许多组织中,信息是最有价值的资产,必须确保只有经过批准的用户才能访问这些信息。 访问控制技术,比如 Active Directory Rights Management Services (AD RMS) 和访问控制列表 (ACL) 有助于控制允许访问的用户。

然而,当用户运行某个进程时,该进程的访问级别等同于用户具有的数据访问级别。 因此,如果用户运行未经授权的软件(包括恶意软件),则很容易从组织中删除或传输敏感信息。 AppLocker 通过限制允许用户或组运行的文件来帮助缓解这些类型的安全问题。 由于 AppLocker 可以控制 DLL 和脚本,因此控制谁可以安装和运行 ActiveX 控件也很有用。

AppLocker 是组织的理想选择,它目前使用组策略管理其电脑。

下面是可以使用 AppLocker 的应用场景的示例:

  • 你组织的安全策略仅支持使用许可软件,因此你需要防止用户运行未经许可的软件,同时限制授权用户使用许可软件。
  • 如果某个应用不再受组织的支持,你需要防止它被所有人使用。
  • 在环境中引入不想要的软件的可能性比较大,因此你需要减少此威胁。
  • 应用中的许可证在组织中已吊销或过期,因此需要防止每个人都使用该许可证。
  • 新应用或新版本的应用已部署,因此需要防止用户运行旧版本。
  • 组织内不允许使用特定的软件工具,或者只有特定用户才能访问这些工具。
  • 单个用户或一小群用户需要使用被所有其他人拒绝的特定应用。
  • 组织中需要不同软件的一些人员共享一台计算机,你需要保护特定应用。
  • 除了其他措施,你还需要使用应用控制对敏感数据的访问。

AppLocker 可以帮助你保护组织内的数字资源、降低环境中引入的恶意软件的威胁并改进应用程序控制的管理及应用程序控制策略的维护。

安装 AppLocker

除 Windows 10 版本 1809 或更低版本外,所有版本的 Windows 都包含 AppLocker。 你可以为一台计算机编写 AppLocker 规则,也可以为一组计算机编写。 如果是为一台计算机编写规则,可以使用本地安全策略编辑器 (secpol.msc) 来编写。 如果是为一组计算机编写规则,可以使用组策略管理控制台 (GPMC) 在组策略对象内编写。

注意

GPMC 仅在运行 Windows 的客户端计算机中可用,只需安装远程服务器管理工具。 在运行 Windows Server 的计算机上,必须安装组策略管理功能。

在服务器核心上使用 AppLocker

不支持 Server Core 上的 AppLocker 安装。

虚拟化注意事项

可以使用 Windows 的虚拟化实例来管理 AppLocker 策略,但是它必须满足之前列出的所有系统要求。 也可以在虚拟化实例中运行组策略。 但是,如果删除虚拟化实例或发生故障,则可能会丢失创建和维护的策略。

安全注意事项

应用程序控制策略指定允许在本地计算机上运行的应用。 恶意软件的形式多种多样,这使得用户很难判断哪些软件可以安全地运行。 当恶意软件被激活时,可能会破坏硬盘驱动器上的内容、使网络内充斥可导致拒绝服务 (DoS) 攻击的请求、向 Internet 发送机密信息,或者危及计算机的安全。

对策是为组织中的电脑上的应用程序控制策略创建合理的设计。 AppLocker 可以包含在你的应用控制策略中,因为计算机上允许运行的软件是可控的。

有缺陷的应用程序控制策略实现可能会禁用需要的应用程序,或者允许恶意或非预期软件运行。 在将策略部署到生产环境中之前,应在实验室环境中全面测试这些策略。 组织必须提供足够的资源来管理和排查此类策略的实现问题,这一点也很重要。

有关特定安全问题的详细信息,请参阅 AppLocker 的安全注意事项。 使用 AppLocker 创建应用程序控制策略时,应了解以下安全注意事项:

  • 具有 AppLocker 策略设置权限的用户是谁?
  • 如何验证策略是否已强制执行?
  • 你应该审核的事件是什么?

有关安全规划的参考,可参见下表,其中标识了装有 AppLocker 的计算机的基线设置:

设置 默认值
帐户已创建
身份验证方法 不适用
管理接口 AppLocker 可以通过使用 Microsoft 管理控制台管理单元、组策略管理和 Windows PowerShell 来管理
端口已打开
所需的最小特权 本地计算机上的管理员;域管理或允许你创建、编辑和分配组策略对象的任何权利集。
协议已使用 不适用
计划任务 Appidpolicyconverter.exe 已放入计划任务中以待按需运行。
安全策略 不需要任何信息。 AppLocker 将创建安全策略。
需要系统服务 应用程序标识服务 (appidsvc) 在 LocalServiceAndNoImpersonation 下运行。
凭据的存储

本部分内容

文章 描述
管理 AppLocker 本文面向 IT 专业人员,提供了管理 AppLocker 策略时要使用的特定过程的链接。
AppLocker 设计指南 本文面向 IT 专业人员介绍了使用 AppLocker 部署应用程序控制策略所需的设计和规划步骤。
AppLocker 部署指南 本文面向 IT 专业人员介绍了概念,并介绍了部署 AppLocker 策略所需的步骤。
AppLocker 技术参考 此面向 IT 专业人员的概述文章提供了技术参考中的文章的链接。