目标 使用本模块可以实现下列目标 设计和部署软件限制策略 选择正确的规则类型并使用它来标识软件 控制软件限制策略使用的检查级别 将软件限制策略配置为始终允许管理员运行软件 适用范围 本模块适用于下列产品和技术 Windows Server 域中的 Windows XP Professional Service Pack (SP) 客户端 独立的 Windows XP Professional SP 客户端 如何使用本模块 此模块详细描述了软件限制策略以及如何使用它们来控制软件在本地计算机上运行的能力 软件限制策略 软件限制策略为管理员提供了一套策略驱动机制用于标识软件并控制该软件在本地计算机上运行的能力这些策略可以确保环境中运行 Windows XP Professional 的计算机之间不存在已知沖突并保护计算机免受恶意病毒和特洛伊木马程序的攻击软件限制策略与 Active Directory 和组策略完全集成还可以在独立计算机上使用该策略 软件限制策略的工作性质使得此模块在结构上不同于本指南中的其他模块管理员首先定义允许在环境中的客户端上运行的应用程序集然后确定该策略将对客户端应用的限制而不是根据前面模块中的指示性建议来配置组策略的设置选项 软件限制策略最初包括不受限设置和不允许设置的默认安全级别以及为组策略对象 (GPO) 定义的规则既可以对整个域应用该策略也可以对环境中的本地计算机或用户应用该策略软件限制策略提供了很多用于标识软件的方法以及一个基于策略的基础结构以强制实施有关已标识软件运行方式的规则用户在运行软件程序时必须遵守环境中的管理员在软件限制策略中建立的规则 可以使用软件限制策略执行下列操作 控制哪些软件可以在环境中的客户端上运行 限制用户对多用户计算机上的特定文件的访问 确定可以向客户端添加受信任的出版商的用户 定义策略是影响客户端上的所有用户还是用户子集 禁止可执行文件在本地计算机OU站点或域上运行 软件限制策略体系结构 软件限制策略体系结构提供了下列强大功能 基于域或本地计算机的策略实施管理员创建该策略然后定义哪些应用程序是受信任的应用程序哪些不是受信任的应用程序该策略在运行时强制实施用户不会收到允许其选择是否运行可执行文件的提示 应用范围并不仅局限于可执行文件的策略软件的构成尚无明确定义该策略可以控制 Microsoft Visual BasicScripting Edition (VBScript)Microsoft JScript以及其他脚本语言它还与 Windows Installer 功能集成在一起以控制可以在客户端上安装哪些程序包此功能包含一个应用程序编程接口 (API)用于协调策略运行时与其他运行时 可缩放的策略该策略在拥有多种计算机类型和应用程序的大型企业中必须具有可管理性但同时它还必须在单独的环境中运行软件限制策略利用 Active Directory 和组策略实现可管理性该策略存储在 GPO 中还可以通过将 GPO 存储为本地计算机策略对象在单独的非域联接环境中使用此策略功能 灵活策略管理员可以灵活地禁止未授权脚本的运行并可调整 Microsoft ActiveX控件或锁定客户端 启用严格加密以标识软件的策略该策略可以使用哈希证书或签名标识软件 实现软件限制策略体系结构的过程包括三个阶段 管理员或委托机构使用组策略 Microsoft 管理控制台 (MMC) 管理单元为 Active Directory 容器站点域或 OU 创建策略Microsoft 建议为软件限制策略创建单独的 GPO 注意要为本地独立计算机新建软件限制策略您必须是本地计算机中 Administrators 组的成员要配置这些设置请单击Windows 设置安全设置然后单击软件限制策略 计算机级策略在启动时下载并生效用户策略在用户登录到系统或域时生效要更新策略请使用 gpupdateexe /force 命令访问该策略 当用户启动程序或脚本操作系统或脚本主机时该策略将根据强制实施的优先规则来确定它是否可以运行 不受限或不允许设置 软件限制策略由两部分组成 用于确定哪些程序可以运行的默认规则 默认规则的例外清单 可以将用于标识软件的默认规则设置为不受限的或不允许的(实际上是指运行还是不运行) 将默认规则设置为不受限的允许管理员定义例外内容或定义一组不允许运行的程序在具有松散管理客户端的环境中请使用不受限的默认设置例如可以禁止用户安装将与现有程序沖突的程序方法是创建一个规则来阻止该程序运行 一种更安全的方法是将默认规则设置为不允许的然后只允许特定的程序集运行在不允许的默认设置下管理员必须为每个应用程序定义所有规则并确保用户在其计算机上拥有正确的安全设置以便访问允许他们运行的应用程序不允许的默认设置是确保 Windows XP 客户端安全的首选默认设置 标识软件的四个规则 软件限制策略中的规则标识一个或多个应用程序以指定是否允许它们运行创建规则主要包括标识应用程序然后将其标识为不允许的默认设置的例外每个规则都可以包含用于描述其用途的注释Windows XP 中的内置实施引擎首先在软件限制策略中查询规则然后才允许程序运行 软件限制策略使用下列四个规则来标识软件 哈希规则 使用可执行文件的加密指印 证书规则 使用软件发布者为 exe 文件提供的数字签名证书 路径规则 使用 exe 文件位置的本地路径通用命名约定 (UNC) 路径或注册表路径 区域规则 使用可执行文件源自的 Internet 区域(如果该文件是使用 Microsoft Internet Explorer 下载的) 哈希规则 哈希是唯一标识软件程序或可执行文件(即使该程序或可执行文件已被移动或重命名)的指印这样管理员可以使用哈希来跟蹤他(或她)不希望用户运行的特定版本的可执行文件或程序如果程序在安全或隐私方面存在漏洞或者可能会破坏系统的稳定性则可以使用哈希规则 使用哈希规则软件程序始终具有唯一可标识性因为哈希规则匹配基于涉及文件内容的加密计算唯一受哈希规则影响的文件类型是在软件限制策略的详细信息窗格中指派的文件类型部分列出的那些文件类型 哈希规则比较适合于静态环境如果客户端中的软件经常升级则应在每个程序更新后将哈希重新应用于其可执行文件哈希规则非常适用于未向其相应程序的可执行文件应用更改或升级的环境 哈希规则由下列三个数据段组成并以冒号分隔 MD 或 SHA 哈希值 文件长度 哈希算法 ID 编号 数字签名文件使用签名中包含的哈希值(可能是 MD 或 SHA)非数字签名的可执行文件使用 MD 哈希值 哈希规则的格式如下所示 [MD 或 SHA 哈希值][文件长度][哈希算法 ID] 以下哈希规则示例用于内容与 MD 哈希值(由哈希算法标识符 表示)和哈希算法 bcaccdafddcb 相匹配的 个字节长的文件 bcaccdafddcb 管理员要限制或允许的每个文件都需要包含一个哈希规则软件更新后由于原始可执行文件的哈希值通常已被覆盖因此管理员必须为每个应用程序新建一个哈希规则执行下列步骤将哈希规则应用于现有的可执行文件 要将哈希规则应用于现有的可执行文件请执行下列操作 在组策略对象编辑器工具栏上单击Windows 设置安全设置软件限制策略然后右键单击其他规则 单击快捷菜单上的新散列规则 图 新散列规则对话框 单击浏览选择要哈希的文件本例中的可执行文件为 Excelexe新文件哈希值显示在文件哈希框中应用程序版本显示在文件信息框中 选择要用于此规则的安全级别默认设置可供选择的选项包括 不允许的 不受限的 证书规则 证书规则指定代码签名软件发布者的证书例如管理员可能需要所有脚本和 ActiveX 控件的签名证书符合证书规则的允许来源包括 商业证书颁发机构 (CA)如 VeriSign Windows 或 Windows Server 公钥基础结构 (PKI) 自签名证书 证书规则是一种非常有效的标识软件的方法因为它使用已签名文件的签名中包含的已签名哈希来匹配文件而不管文件的名称或位置如何要创建证书规则的例外可以使用哈希规则对其进行标识 启用证书规则 证书规则在默认情况下不启用可以执行下列步骤来启用证书规则 要启用证书规则请执行下列操作 在组策略对象编辑器中打开 GPO 在控制台树中单击安全选项 在详细信息窗格中双击系统设置 为软件限制策略对 Windows 可执行文件使用证书规则 单击启用以启用证书规则 大多数商业 Web 站点的软件代码都由商业 CA 进行签名这些证书通常在一到几年内有效使用证书规则时应注意证书的有效期可以与软件发布者联系以获取有关他们所发行证书的有效期的详细信息从商务 CA 收到证书时可以将其导出到文件中以创建证书规则可以执行下列步骤来导出证书 要导出证书请执行下列操作 选择要颁发证书的受信任发布者本例中的证书发布者为 Microsoft MSN 图 安全设置警告对话框显示了受信任的出版商 单击详细信息选项卡 注意将此证书复制到文件然后使用它创建证书规则 图 证书对话框的详细信息选项卡 随即将显示证书导出向导欢迎页面单击下一步继续操作 图 证书导出向导欢迎页面 在导出文件格式页面上选择DER 编码二进制 X(CER)然后单击下一步创建扩展名为 (cer) 的证书文件 图 证书导出向导的导出文件格式页面显示了选定的编码方法 在要导出的文件页面上指定描述性的证书规则文件名该证书将导出到 Windows XP 中的 Certificate Directory 图 证书导出向导的要导出的文件页面显示了文件名示例 随即将显示正在完成证书导出向导页面其中包含一个显示证书文件的指定设置的列表检查这些设置然后单击完成以导出该文件 图 正在完成证书导出向导页面显示了指定设置 现在可以使用此文件创建证书规则 图 新建证书对话框显示了指定设置 路径规则 路径规则指定程序的文件夹路径或完全限定路径当路径规则指定文件夹时它将匹配该文件夹中包含的任何程序以及相关子文件夹中包含的任何程序路径规则既支持本地路径也支持 UNC 路径 管理员必须在路径规则中定义用于启动特定应用程序的所有目录例如如果管理员在桌面上创建了一个用于启动应用程序的快捷方式则在路径规则中用户必须能够同时访问可执行文件路径和快捷方式路径才能运行该应用程序试图仅使用这两个路径之一来运行应用程序将触发Software Restricted警告 许多应用程序使用 %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 中默认环境变量的当前列表 |