AppLocker 进程和交互

面向 IT 专业人员的本主题介绍在 AppLocker 评估和强制执行规则时的进程依赖关系和交互。

AppLocker 如何实现策略

AppLocker 策略是 AppLocker 规则的集合,其中可能包含任何一条已配置的强制设置。应用时,将在策略内评估每条规则,而且根据强制设置和组策略结构应用规则集合。

AppLocker 策略是通过应用程序标识服务(它是评估策略的引擎)在计算机上强制执行的。如果该服务未运行,将不会强制执行策略。即使产品或二进制文件的名称为空,应用程序标识服务仍然将信息从二进制文件返回到本地安全策略管理单元的结果窗格中。

根据应用程序标识服务要求,AppLocker 策略将以安全描述符格式存储。它使用文件路径、哈希或完全限定的二进制文件名属性构成规则的允许或拒绝操作。每个规则都作为访问控制项 (ACE) 存储在安全描述符中,并包含以下信息:

  • 允许或拒绝 ACE(在安全描述符定义语言 (SDDL) 形式中为“XA”或“XD”)。

  • 此规则适用的用户安全标识符 (SID)。(默认值是通过身份验证的用户 SID,或者在 SDDL 中为“AU”)。

  • 规则条件包含 appid 属性。

例如,规则的 SDDL 允许 %windir% 目录中的所有文件使用以下格式运行:XA;;FX;;;AU;(APPID://PATH == "%windir%\*")。

DLL 和可执行文件的 AppLocker 策略由内核模式代码读取并缓存,它是 appid.sys 的一部分。只要应用新策略,appid.sys 就会收到策略转换器任务发出的通知。对于其他文件类型,每次调用 SaferIdentifyLevel 时,就会读取 AppLocker 策略。

了解 AppLocker 规则

AppLocker 规则是对文件设置的一个控制,用来管理是否允许为特定用户或组运行文件。规则适用于五种不同类型的文件或集合:

  • 可执行文件规则用来控制用户或组是否可以运行可执行文件。可执行文件通常具有 .exe 或 .com 文件扩展名,而且适用于应用程序。

  • 脚本规则用来控制用户或组是否可以运行具有 ps1、.bat、.cmd、.vbs 和 .js 文件扩展名的脚本。

  • Windows Installer 规则用来控制用户或组是否可以运行具有 .msi、.mst 和 .ms(Windows Installer 修补程序)文件扩展名的文件。

  • DLL 规则控制用户或组是否可以运行具有 .dll 和 .ocx 文件扩展名的文件。

  • 封装应用和封装应用安装程序规则控制用户或组是否可以运行或安装封装应用。封装应用安装程序具有 .appx 扩展名。

有三种不同类型的条件可应用到规则:

  • 发布者规则条件用来控制用户或组是否可以从特定的软件发布者运行文件。必须签署该文件。

  • 路径规则条件用来控制用户或组是否可以从特定目录或其子目录运行文件。

  • 规则上的文件哈希条件控制用户或组是否可以运行带有匹配加密哈希的文件。

了解 AppLocker 策略

AppLocker 策略是一组规则集合及其已应用到一台或多台计算机的相应已配置的强制设置。

  • 了解 AppLocker 强制设置

    规则强制仅应用于规则集合,而非个别规则。AppLocker 将规则分为四组:可执行文件、Windows Installer 文件、脚本和 DLL 文件。规则强制的选项为“未配置”,“强制执行规则”****或“仅审核”。所有这些 AppLocker 规则集合一起组成了应用程序控制策略或 AppLocker 策略。默认情况下,如果未配置强制而且规则显示在规则集合中,那么就会强制执行这些规则。

了解 AppLocker 和组策略

可以使用组策略在单独对象或与其他策略的组合中创建、修改和分配 AppLocker 策略。

  • 了解组策略中的 AppLocker 规则和强制设置继承

    使用组策略分配 AppLocker 策略时,将强制执行未配置的规则集合。组策略不会覆盖或替换链接的组策略对象 (GPO) 中已存在的规则,它还应用现有规则之外的 AppLocker 规则。在允许规则配置前,AppLocker 将处理显式拒绝规则配置;而对于规则强制,将应用对 GPO 的最后一次写入。

相关主题

AppLocker 技术参考