使用软件限制策略规则

本主题介绍使用软件限制策略处理证书、路径、Internet 区域和哈希规则的过程。

简介

通过软件限制策略,可以通过标识和指定允许运行的软件,来保护计算环境免遭不受信任的软件的危害。 可以针对组策略对象 (GPO) 定义默认安全级别“不受限”或“不允许”,以便按默认设置允许或不允许运行软件。 为特定的软件创建软件限制策略规则,可以指定此默认安全级别的例外。 例如,默认安全级别设置为“不允许”时,你可以创建允许运行特定软件的规则。 规则类型如下:

有关管理软件限制策略的其他任务的信息,请参阅管理软件限制策略

使用证书规则

软件限制策略还可以根据软件的签名证书来识别软件。 你可以创建一个证书规则来识别软件,然后根据安全级别允许或不允许运行该软件。 例如,可以使用证书规则自动信任来自域中受信任源的软件,且不提示用户。 还可以使用证书规则来运行操作系统的不受允许区域中的文件。 默认情况下,不会启用证书规则。

使用组策略为域创建规则时,你必须具有创建或修改组策略对象的权限。 如果要为本地计算机创建规则,则你必须拥有该计算机上的管理凭据。

创建证书规则的步骤

  1. 打开“软件限制策略”。

  2. 在控制台树或详细信息窗格中,右键单击“其他规则”,然后单击“新建证书规则”。

  3. 单击“浏览”,然后选择证书或签名的文件

  4. 在“安全级别”中,单击“不允许”或“无限制”。

  5. 在“描述”中键入此规则的描述,然后单击“确定”

注意

  • 可能需要为组策略对象 (GPO) 创建新的软件限制策略设置(如果尚未这样做)。
  • 默认情况下,不会启用证书规则。
  • 证书规则影响的文件类型只有软件限制策略详细信息窗格中“指定的文件类型”所列出的那些文件类型。 有一个指定文件类型列表由所有规则共享。
  • 若要使软件限制策略生效,用户必须通过注销然后再登录计算机来更新策略设置。
  • 如果向策略设置应用了多个软件限制策略规则,将优先执行用于处理冲突的规则。

启用证书规则

根据环境的不同,启用证书规则的过程将有所不同:

为本地计算机启用证书规则

  1. 打开“本地安全设置”。

  2. 在控制台树中,单击位于“安全设置/本地策略”下的“安全选项”。

  3. 在详细信息窗格中,双击“系统设置: 将 Windows 可执行文件中的证书规则用于软件限制策略”

  4. 执行下列操作之一,然后单击“确定”

    • 若要启用证书规则,请单击“启用”

    • 若要禁用证书规则,请单击“禁用”

为组策略对象启用证书规则,并且你位于已加入域的服务器上

  1. 打开 Microsoft 管理控制台 (MMC)。

  2. 在“文件”菜单中,单击“添加/删除管理单元”,然后单击“添加”

  3. 单击“本地组策略对象编辑器”,然后单击“添加”

  4. 在“选择组策略对象”中单击“浏览”

  5. 在“浏览组策略对象”中,选择相应域、站点或组织单位中的某个组策略对象 (GPO),或者新建一个,然后单击“完成”。

  6. 单击“关闭”,然后单击“确定”

  7. 在控制台树中,单击“GroupPolicyObject [ComputerName] 策略/计算机配置/Windows 设置/安全设置/本地策略/”下的“安全选项”。

  8. 在详细信息窗格中,双击“系统设置: 将 Windows 可执行文件中的证书规则用于软件限制策略”

  9. 如果尚未定义此策略设置,请选中“定义这些策略设置”复选框

  10. 执行下列操作之一,然后单击“确定”

    • 若要启用证书规则,请单击“启用”

    • 若要禁用证书规则,请单击“禁用”

为组策略对象启用证书规则,并且你位于安装了远程服务器管理工具的域控制器或工作站上

  1. 打开“Active Directory 用户和计算机”。

  2. 在控制台树中,右键单击你要为其启用证书规则的组策略对象 (GPO)。

  3. 单击“属性”,然后单击“组策略”选项卡。

  4. 单击“编辑”打开要编辑的 GPO。 也可以单击“新建”以创建一个新的 GPO,然后单击“编辑”

  5. 在控制台树中,单击“GroupPolicyObject [ComputerName] 策略/计算机配置/Windows 设置/安全设置/本地策略/”下的“安全选项”。

  6. 在详细信息窗格中,双击“系统设置: 将 Windows 可执行文件中的证书规则用于软件限制策略”

  7. 如果尚未定义此策略设置,请选中“定义这些策略设置”复选框

  8. 执行下列操作之一,然后单击“确定”

    • 若要启用证书规则,请单击“启用”

    • 若要禁用证书规则,请单击“禁用”

仅为域控制器启用证书规则,并且你位于安装了远程服务器管理工具的域控制器或工作站上

  1. 打开“域控制器安全设置”。

  2. 在控制台树中,单击“GroupPolicyObject [ComputerName] 策略/计算机配置/Windows 设置/安全设置/本地策略/”下的“安全选项”

  3. 在详细信息窗格中,双击“系统设置: 将 Windows 可执行文件中的证书规则用于软件限制策略”

  4. 如果尚未定义此策略设置,请选中“定义这些策略设置”复选框

  5. 执行下列操作之一,然后单击“确定”

    • 若要启用证书规则,请单击“启用”

    • 若要禁用证书规则,请单击“禁用”

注意

只有在执行此过程后,证书规则才会生效。

设置受信任的发布者选项

越来越多的软件发行商和应用程序开发人员使用软件签名来证实其应用程序来自受信任的源。 但是,许多用户并不了解或没有注意他们所安装的应用程序关联的签名证书。

管理员使用证书路径验证策略的“受信任的发布者”选项卡中的策略设置,可以控制哪些证书可以作为来自受信任的发布者而被接受。

配置本地计算机的受信任的发布者策略设置的步骤
  1. 在“开始”屏幕上,键入 gpedit.msc,然后按 Enter 键。

  2. 在控制台树中的“本地计算机策略\计算机配置\Windows 设置\安全设置”下,单击“公钥策略”

  3. 双击“证书路径验证设置”,然后单击“受信任的发布者”选项卡。

  4. 选中“定义这些策略设置”复选框,选择要应用的策略设置,然后单击“确定”应用新设置。

配置域的受信任的发布者策略设置的步骤
  1. 打开“组策略管理” 。

  2. 在控制台树中,双击包含要编辑的“默认域策略”组策略对象 (GPO) 的林和域中的“组策略对象”。

  3. 右键单击“默认域策略”GPO,然后单击“编辑”

  4. 在控制台树中的“计算机配置\Windows 设置\安全设置”下,单击“公钥策略”

  5. 双击“证书路径验证设置”,然后单击“受信任的发布者”选项卡。

  6. 选中“定义这些策略设置”复选框,选择要应用的策略设置,然后单击“确定”应用新设置。

仅允许管理员管理用于本地计算机代码签名的证书的步骤
  1. 在“开始”屏幕上,在桌面上的“搜索程序和文件”或 Windows 8 中键入 gpedit.msc,然后按 Enter 键。

  2. 在控制台树中的“默认域策略”或“本地计算机策略”下,双击“计算机配置”、“Windows 设置”和“安全设置”,然后单击“公钥策略”。

  3. 双击“证书路径验证设置”,然后单击“受信任的发布者”选项卡。

  4. 选中“定义这些策略设置”复选框。

  5. 在“受信任的发布者管理”下,单击“仅允许所有管理员管理受信任的发布者”,然后单击“确定”应用新设置。

仅允许管理员管理用于域代码签名的证书的步骤
  1. 打开“组策略管理” 。

  2. 在控制台树中,双击包含要编辑的“默认域策略” GPO 的林和域中的“组策略对象”。

  3. 右键单击“默认域策略”GPO,然后单击“编辑”

  4. 在控制台树中的“计算机配置\Windows 设置\安全设置”下,单击“公钥策略”

  5. 双击“证书路径验证设置”,然后单击“受信任的发布者”选项卡。

  6. 选中“定义这些策略设置”复选框,实施所需的更改,然后单击“确定”以应用新设置。

使用哈希规则

哈希是具有固定长度的一系列字节,用于唯一标识某个软件程序或文件。 哈希由哈希算法计算。 为软件程序创建哈希规则后,软件限制策略将计算该程序的哈希。 当用户尝试打开某个软件程序时,会将该程序的哈希与软件限制策略的现有哈希规则进行比较。 不管软件程序位于计算机上的哪个位置,该程序的哈希都始终相同。 但是,如果以任何方式对软件程序做了更改,则其哈希也会更改,不再与软件限制策略的哈希规则中的哈希匹配。

例如,可以创建一个哈希规则并将安全级别设置为“不允许”,以防止用户运行特定的文件。 可以重命名某个文件或将其移到另一个文件夹,而哈希仍保持相同。 但是,如果对该文件进行了任何更改,则也会更改它的哈希值,并允许它绕过限制。

创建哈希规则的步骤

  1. 打开“软件限制策略”。

  2. 在控制台树或详细信息窗格中,右键单击“其他规则”,然后单击“新建哈希规则”。

  3. 单击“浏览”以查找文件。

    注意

    在 Windows XP 中,可以在“文件哈希”中粘贴预先计算的哈希。 在 Windows Server 2008 R2、Windows 7 和更高版本中,此选项不可用。

  4. 在“安全级别”中,单击“不允许”或“无限制”。

  5. 在“描述”中键入此规则的描述,然后单击“确定”

注意

  • 可能需要为组策略对象 (GPO) 创建新的软件限制策略设置(如果尚未这样做)。
  • 可以针对病毒或特洛伊木马程序创建一个哈希规则以防止它们运行。
  • 如果你想要让其他人使用哈希规则来防止运行某个病毒,可以使用软件限制策略来计算该病毒的哈希,然后通过电子邮件向其他人员发送哈希值。 永远不要用电子邮件发送病毒本身。
  • 如果已通过电子邮件发送病毒,则还可以创建路径规则以防止执行电子邮件附件。
  • 重命名某个文件或将其移到另一个文件夹后,哈希将保持相同。 对文件本身的任何更改都会产生不同的哈希。
  • 哈希规则影响的文件类型只有软件限制策略详细信息窗格中“指定的文件类型”所列出的那些文件类型。 有一个指定文件类型列表由所有规则共享。
  • 若要使软件限制策略生效,用户必须通过注销然后再登录计算机来更新策略设置。
  • 如果向策略设置应用了多个软件限制策略规则,将优先执行用于处理冲突的规则。

使用 Internet 区域规则

Internet 区域规则只适用于 Windows Installer 程序包。 区域规则可以识别通过 Internet Explorer 指定的区域中的软件。 这些区域为“Internet”、“本地 Intranet”、“受限制的站点”、“受信任的站点”和“我的电脑”。 Internet 区域规则旨在防止用户下载和安装软件。

创建 Internet 区域规则的步骤

  1. 打开“软件限制策略”。

  2. 在控制台树或详细信息窗格中,右键单击“其他规则”,然后单击“新建 Internet 区域规则”。

  3. 在“Internet 区域”中单击一个 Internet 区域

  4. 在“安全级别”中,单击“不允许”或“不受限”,然后单击“确定”。

注意

  • 可能需要为组策略对象 (GPO) 创建新的软件限制策略设置(如果尚未这样做)。
  • 区域规则只适用于文件类型为 .msi 的文件(即 Windows Installer 程序包)。
  • 若要使软件限制策略生效,用户必须通过注销然后再登录计算机来更新策略设置。
  • 如果向策略设置应用了多个软件限制策略规则,将优先执行用于处理冲突的规则。

使用路径规则

路径规则根据软件的文件路径来识别软件。 例如,如果计算机的默认安全级别为“不允许”,则你仍可为每个用户授予对特定文件夹的无限制访问权限。 你可以创建一个路径规则,方法是使用文件路径,并将路径规则的安全级别设置为“不受限”。 这种类型的规则的某些常见路径为 %userprofile%、%windir%、%appdata%、%programfiles% 和 %temp%。 还可以创建注册表路径规则,这些规则使用软件的注册表项作为其路径。

由于这些规则是按路径指定的,因此,如果移动了软件程序,路径规则将不再适用。

创建路径规则的步骤

  1. 打开“软件限制策略”。

  2. 在控制台树或详细信息窗格中,右键单击“其他规则”,然后单击“新建路径规则”。

  3. 在“路径”中键入一个路径,或者单击“浏览”查找文件或文件夹

  4. 在“安全级别”中,单击“不允许”或“无限制”。

  5. 在“描述”中键入此规则的描述,然后单击“确定”

注意

  • 在某些文件夹(如 Windows 文件夹)上,将安全级别设置为“不允许”可能会对操作系统的运行产生负面影响。 请确保不要禁止运行操作系统的某个关键组件或某个依赖程序。

注意

  • 可能需要为组策略对象 (GPO) 创建新的软件限制策略(如果尚未这样做)。
  • 如果为安全级别为“不允许”的软件创建了路径规则,用户仍可以通过将该软件复制到其他位置来运行该软件
  • 路径规则支持的通配符为 * 和 ?。
  • 可以在路径规则中使用环境变量,例如 %programfiles% 或 %systemroot%。
  • 在不知道软件存储在计算机中的哪个位置,但知道它的注册表项的情况下,如果要为该软件创建路径规则,你可以创建注册表路径规则。
  • 若要防止用户执行电子邮件附件,你可以针对电子邮件程序的附件目录创建路径规则,用于防止用户运行电子邮件附件。
  • 路径规则影响的文件类型只有软件限制策略详细信息窗格中“指定的文件类型”所列出的那些文件类型。 有一个指定文件类型列表由所有规则共享。
  • 若要使软件限制策略生效,用户必须通过注销然后再登录计算机来更新策略设置。
  • 如果向策略设置应用了多个软件限制策略规则,将优先执行用于处理冲突的规则。

创建注册表路径规则的步骤

  1. 在“开始”屏幕中,键入“regedit”。

  2. 在控制台树中,右键单击要为其创建规则的注册表项,然后单击“复制项名称”。 记下详细信息窗格中的值名称。

  3. 打开“软件限制策略”。

  4. 在控制台树或详细信息窗格中,右键单击“其他规则”,然后单击“新建路径规则”。

  5. 在“路径”中,粘贴注册表项名称,后接值名称。

  6. 请用百分号 (%) 将注册表路径括起来,例如,%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlatformSDK\Directories\InstallDir%。

  7. 在“安全级别”中,单击“不允许”或“无限制”。

  8. 在“描述”中键入此规则的描述,然后单击“确定”