了解 AppLocker 中的发布者规则条件

本文介绍如何应用 AppLocker 发布者规则条件以及可用的控件。

只能对经过数字签名的文件制定发布者条件。 此条件根据应用的数字签名和扩展属性标识应用的文件。 数字签名包含有关 (发布者) 创建应用的公司的信息。 从二进制资源获取的扩展属性包含应用所属的产品的名称和应用的版本号。 发布者可以是软件开发公司,例如 Microsoft 或组织的信息技术部门。 发布服务器条件比文件哈希条件更易于维护,并且比路径条件更安全。 在发布文件的新版本时,可能需要更新指定到版本级别的规则。 下表描述了发布者条件的优点和缺点。

发布者条件优势 发布者条件的缺点
  • 不需要频繁更新。
  • 可以在证书中应用不同的值。
  • 单个规则可用于允许整个产品套件。
  • 可以在发布者规则中使用星号 (*) 通配符来指定应匹配任何值。
  • 文件必须经过签名。
  • 尽管可以使用单个规则来允许整个产品套件,但套件中的所有文件都必须统一签名。
  • 根据以下规范,通配符可用作发布者规则字段中的值:

    • 发布者

      星号 (*) 字符本身表示任何发布服务器。 与任何字符串值结合使用时,规则仅限于具有与字符串匹配的已签名证书中的值的发布者。 换句话说,如果与此字段中的其他字符一起使用,则星号不会被视为通配符。 例如,使用字符“M*”将发布者名称限制为仅名称为“M*”的发布者。使用字符“*x*”将发布者名称限制为名称“*x*”。问号 (?) 不是此字段中的有效通配符。

    • 产品名称

      星号 (*) 字符本身表示任何产品名称。 与任何字符串值结合使用时,规则仅限于发布者的乘积,且签名证书中的值与字符串匹配。 换句话说,如果与此字段中的其他字符一起使用,则星号不会被视为通配符。 问号 (?) 不是此字段中的有效通配符。

    • 文件名

      星号 (*) 或问号 ( ) 字符本身表示任何文件名。 与任何字符串值结合使用时,字符串将与包含该字符串的任何文件名匹配。

    • 文件版本

      星号 (*) 字符本身表示任何文件版本。 如果要将文件版本限制为特定版本或作为起点,可以声明文件版本,然后使用以下选项应用限制:

      • 没错。 该规则仅适用于此版本的应用
      • 以及更高版本。 规则适用于此版本和所有更高版本。
      • 下面。 规则适用于此版本和所有早期版本。

    下表介绍了如何应用发布者条件。

    选项 发布者条件允许或拒绝...
    所有已签名文件 发布者签名的所有文件。
    仅限发布者 由指定发布者签名的所有文件。
    发布者和产品名称 由命名发布者签名的指定产品的所有文件。
    发布者、产品名称和文件名 由发布者签名的命名产品的命名文件的任何版本。
    发布者、产品名称、文件名和文件版本 完全
    由发布者签名的命名产品的命名文件的指定版本。
    发布者、产品名称、文件名和文件版本 及更高版本
    由发布者签名的命名文件的指定版本和文件的任何更高版本。
    发布者、产品名称、文件名和文件版本 和以下
    命名文件的指定版本以及发布者签名的命名产品的任何旧版本。
    自定义 可以编辑“发布者”、“产品名称”、“文件名”和“版本”字段以创建自定义规则。

    有关三种类型的 AppLocker 规则条件及其优点和缺点的概述,请参阅 了解 AppLocker 规则条件类型