Windows XP 客户端的软件限制策略一

目标

  使用本模块可以实现下列目标:


  设计和部署软件限制策略


  选择正确的规则类型并使用它来标识软件


  控制软件限制策略使用的检查级别


  将软件限制策略配置为始终允许管理员运行软件


  适用范围


  本模块适用于下列产品和技术:


  Windows Server 2003 域中的 Windows XP Professional Service Pack (SP) 1 客户端www.xker.com()
  独立的 Windows XP Professional SP1 客户端


  如何使用本模块


  此模块详细描述了软件限制策略以及如何使用它们来控制软件在本地计算机上运行的能力。


  软件限制策略


  软件限制策略为管理员提供了一套策略驱动机制,用于标识软件并控制该软件在本地计算机上运行的能力。这些策略可以确保环境中运行 Windows XP Professional 的计算机之间不存在已知冲突,并保护计算机免受恶意病毒和特洛伊木马程序的攻击。软件限制策略与 Active Directory 和组策略完全集成。还可以在独立计算机上使用该策略。


  软件限制策略的工作性质使得此模块在结构上不同于本指南中的其他模块。管理员首先定义允许在环境中的客户端上运行的应用程序集,然后确定该策略将对客户端应用的限制,而不是根据前面模块中的指示性建议来配置组策略的设置选项。


  软件限制策略最初包括不受限设置和不允许设置的默认安全级别,以及为组策略对象 (GPO) 定义的规则。既可以对整个域应用该策略,也可以对环境中的本地计算机或用户应用该策略。软件限制策略提供了很多用于标识软件的方法,以及一个基于策略的基础结构,以强制实施有关已标识软件运行方式的规则。用户在运行软件程序时,必须遵守环境中的管理员在软件限制策略中建立的规则。


  可以使用软件限制策略执行下列操作:


  控制哪些软件可以在环境中的客户端上运行。


  限制用户对多用户计算机上的特定文件的访问。


  确定可以向客户端添加受信任的出版商的用户。


  定义策略是影响客户端上的所有用户还是用户子集。


  禁止可执行文件在本地计算机、OU、站点或域上运行。


  软件限制策略体系结构


  软件限制策略体系结构提供了下列强大功能:


  基于域或本地计算机的策略实施。管理员创建该策略,然后定义哪些应用程序是受信任的应用程序,哪些不是受信任的应用程序。该策略在运行时强制实施,用户不会收到允许其选择是否运行可执行文件的提示。


  应用范围并不仅局限于可执行文件的策略。软件的构成尚无明确定义。该策略可以控制 Microsoft Visual BasicScripting Edition (VBScript)、Microsoft JScript以及其他脚本语言。它还与 Windows Installer 功能集成在一起,以控制可以在客户端上安装哪些程序包。此功能包含一个应用程序编程接口 (API),用于协调策略运行时与其他运行时。


  可缩放的策略。该策略在拥有多种计算机类型和应用程序的大型企业中必须具有可管理性,但同时它还必须在单独的环境中运行。软件限制策略利用 Active Directory 和组策略实现可管理性。该策略存储在 GPO 中。还可以通过将 GPO 存储为本地计算机策略对象,在单独的非域联接环境中使用此策略功能。


  灵活策略。管理员可以灵活地禁止未授权脚本的运行,并可调整 Microsoft ActiveX控件或锁定客户端。


  启用严格加密以标识软件的策略。该策略可以使用哈希、证书或签名标识软件。


  实现软件限制策略体系结构的过程包括三个阶段:


  1.管理员或委托机构使用组策略 Microsoft 管理控制台 (MMC) 管理单元为 Active Directory 容器站点、域或 OU 创建策略。Microsoft 建议为软件限制策略创建单独的 GPO.


  注意:要为本地独立计算机新建软件限制策略,您必须是本地计算机中 Administrators 组的成员。要配置这些设置,请单击“Windows 设置”、“安全设置”,然后单击“软件限制策略”。

#p#副标题#e#


  2.计算机级策略在启动时下载并生效。用户策略在用户登录到系统或域时生效。要更新策略,请使用 gpupdate.exe /force 命令访问该策略。


  3.当用户启动程序或脚本、操作系统或脚本主机时,该策略将根据强制实施的优先规则来确定它是否可以运行。


  不受限或不允许设置


  软件限制策略由两部分组成:


  用于确定哪些程序可以运行的默认规则。


  默认规则的例外清单。


  可以将用于标识软件的默认规则设置为“不受限的”或“不允许的”(实际上是指运行还是不运行)。


  将默认规则设置为“不受限的”允许管理员定义例外内容,或定义一组不允许运行的程序。在具有松散管理客户端的环境中请使用“不受限的”默认设置。例如,可以禁止用户安装将与现有程序冲突的程序,方法是创建一个规则来阻止该程序运行。


  一种更安全的方法是将默认规则设置为“不允许的”,然后只允许特定的程序集运行。在“不允许的”默认设置下,管理员必须为每个应用程序定义所有规则,并确保用户在其计算机上拥有正确的安全设置,以便访问允许他们运行的应用程序。“不允许的”默认设置是确保 Windows XP 客户端安全的首选默认设置。


  标识软件的四个规则


  软件限制策略中的规则标识一个或多个应用程序,以指定是否允许它们运行。创建规则主要包括标识应用程序,然后将其标识为“不允许的”默认设置的例外。每个规则都可以包含用于描述其用途的注释。Windows XP 中的内置实施引擎首先在软件限制策略中查询规则,然后才允许程序运行。


  软件限制策略使用下列四个规则来标识软件:


  哈希规则 – 使用可执行文件的加密指印。


  证书规则 – 使用软件发布者为 .exe 文件提供的数字签名证书。


  路径规则 – 使用 .exe 文件位置的本地路径、通用命名约定 (UNC) 路径或注册表路径。


  区域规则 – 使用可执行文件源自的 Internet 区域(如果该文件是使用 Microsoft Internet Explorer 下载的)。


  哈希规则


  哈希是唯一标识软件程序或可执行文件(即使该程序或可执行文件已被移动或重命名)的指印。这样,管理员可以使用哈希来跟踪他(或她)不希望用户运行的特定版本的可执行文件或程序。如果程序在安全或隐私方面存在漏洞,或者可能会破坏系统的稳定性,则可以使用哈希规则。


  使用哈希规则,软件程序始终具有唯一可标识性,因为哈希规则匹配基于涉及文件内容的加密计算。唯一受哈希规则影响的文件类型是在“软件限制策略”的详细信息窗格中“指派的文件类型”部分列出的那些文件类型。


  哈希规则比较适合于静态环境。如果客户端中的软件经常升级,则应在每个程序更新后将哈希重新应用于其可执行文件。哈希规则非常适用于未向其相应程序的可执行文件应用更改或升级的环境。


  哈希规则由下列三个数据段组成,并以冒号分隔:


  MD5 或 SHA-1 哈希值。


  文件长度。


  哈希算法 ID 编号。


  数字签名文件使用签名中包含的哈希值(可能是 MD5 或 SHA-1)。非数字签名的可执行文件使用 MD5 哈希值。


  哈希规则的格式如下所示:


  [MD5 或 SHA1 哈希值]:[文件长度]:[哈希算法 ID]


  以下哈希规则示例用于内容与 MD5 哈希值(由哈希算法标识符 32771 表示)和哈希算法 7bc04acc0d6480af862d22d724c3b049 相匹配的 126 个字节长的文件:


  7bc04acc0d6480af862d22d724c3b049:126:32771


  管理员要限制或允许的每个文件都需要包含一个哈希规则。软件更新后,由于原始可执行文件的哈希值通常已被覆盖,因此管理员必须为每个应用程序新建一个哈希规则。执行下列步骤将哈希规则应用于现有的可执行文件。


  要将哈希规则应用于现有的可执行文件,请执行下列操作:

#p#副标题#e#


  1.在组策略对象编辑器工具栏上,单击“Windows 设置”、“安全设置”、“软件限制策略”,然后右键单击“其他规则”。


  2.单击快捷菜单上的“新散列规则”。


“新散列规则”对话框

  图 6.1


  “新散列规则”对话框


  3.单击“浏览”选择要哈希的文件。本例中的可执行文件为 Excel.exe.新文件哈希值显示在“文件哈希:”框中。应用程序版本显示在“文件信息:”框中。


  4.选择要用于此规则的安全级别默认设置。可供选择的选项包括:


  不允许的


  不受限的


  证书规则


  证书规则指定代码签名软件发布者的证书。例如,管理员可能需要所有脚本和 ActiveX 控件的签名证书。符合证书规则的允许来源包括:


  商业证书颁发机构 (CA),如 VeriSign.


  Windows 2000 或 Windows Server 2003公钥基础结构 (PKI)。


  自签名证书。


  证书规则是一种非常有效的标识软件的方法,因为它使用已签名文件的签名中包含的已签名哈希来匹配文件,而不管文件的名称或位置如何。要创建证书规则的例外,可以使用哈希规则对其进行标识。


  启用证书规则


  证书规则在默认情况下不启用。可以执行下列步骤来启用证书规则。


  要启用证书规则,请执行下列操作:


  1.在组策略对象编辑器中打开 GPO.


  2.在控制台树中,单击“安全选项”。


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


  4.单击“启用”以启用证书规则。


  大多数商业 Web 站点的软件代码都由商业 CA 进行签名。这些证书通常在一到几年内有效。使用证书规则时,应注意证书的有效期。可以与软件发布者联系,以获取有关他们所发行证书的有效期的详细信息。从商务 CA 收到证书时,可以将其导出到文件中,以创建证书规则。可以执行下列步骤来导出证书。


  要导出证书,请执行下列操作:


  1.选择要颁发证书的受信任发布者。本例中的证书发布者为 Microsoft MSN。


“安全设置警告”对话框显示了受信任的出版商

  图 6.2


  “安全设置警告”对话框显示了受信任的出版商


  2.单击“详细信息”选项卡。


  注意:将此证书复制到文件,然后使用它创建证书规则。


“证书”对话框的“详细信息”选项卡

  图 6.3


  “证书”对话框的“详细信息”选项卡


  3.随即将显示“证书导出向导”欢迎页面。单击“下一步”继续操作。


“证书导出向导”欢迎页面

  图 6.4


  “证书导出向导”欢迎页面


  4.在“导出文件格式”页面上,选择“DER 编码二进制 X.509(。CER)”,然后单击“下一步”创建扩展名为 (。cer) 的证书文件。


“证书导出向导”的“导出文件格式”页面显示了选定的编码方法

  图 6.5“证书导出向导”的“导出文件格式”页面显示了选定的编码方法


  5.在“要导出的文件”页面上,指定描述性的证书规则文件名。该证书将导出到 Windows XP 中的 Certificate Directory.


“证书导出向导”的“要导出的文件”页面显示了文件名示例

  图 6.6“证书导出向导”的“要导出的文件”页面显示了文件名示例


  6.随即将显示“正在完成证书导出向导”页面,其中包含一个显示证书文件的指定设置的列表。检查这些设置,然后单击“完成”以导出该文件。


“正在完成证书导出向导”页面显示了指定设置

  图 6.7


  “正在完成证书导出向导”页面显示了指定设置


  现在可以使用此文件创建证书规则。


“新建证书”对话框显示了指定设置

  图 6.8


  “新建证书”对话框显示了指定设置


  路径规则


  路径规则指定程序的文件夹路径或完全限定路径。当路径规则指定文件夹时,它将匹配该文件夹中包含的任何程序以及相关子文件夹中包含的任何程序。路径规则既支持本地路径也支持 UNC 路径。


  管理员必须在路径规则中定义用于启动特定应用程序的所有目录。例如,如果管理员在桌面上创建了一个用于启动应用程序的快捷方式,则在路径规则中,用户必须能够同时访问可执行文件路径和快捷方式路径才能运行该应用程序。试图仅使用这两个路径之一来运行应用程序将触发“Software Restricted”警告。

#p#副标题#e#


  许多应用程序使用 %ProgramFiles% 变量将文件安装在运行 Windows XP Professional 的计算机硬盘上。如果将该变量设置为不同驱动器上的其他目录,某些应用程序仍会将文件复制到原来的 C:\Program Files 子目录中。因此,最好将路径规则定义到默认目录位置。


  在路径规则中使用环境变量


  可以将路径规则定义为使用环境变量。由于路径规则在客户端环境中进行评估,因此管理员可以借助环境变量使规则适合于特定用户的环境。以下两个示例显示了将环境变量应用于路径规则的实例。


  “%UserProfile% 匹配 C:\Documents and Settings\User 以及该目录下的所有子文件夹。


  “%ProgramFiles%\Application 匹配 C:\Program Files\Application 以及该目录下的所有子文件夹。


  注意:环境变量不受访问控制列表 (ACL) 的保护。环境变量有两种类型:User 和 System.能够启动命令提示的用户可以将 User 环境变量重新定义到不同的路径。只有 Administrators 组中的用户可以更改 System 环境变量。


  以下是 Windows XP Professional 中默认环境变量的当前列表: