Windows XP 客户端的软件限制策略文档格式.docx
《Windows XP 客户端的软件限制策略文档格式.docx》由会员分享,可在线阅读,更多相关《Windows XP 客户端的软件限制策略文档格式.docx(35页珍藏版)》请在冰点文库上搜索。
这些策略可以确保环境中运行WindowsXPProfessional的计算机之间不存在已知冲突,并保护计算机免受恶意病毒和特洛伊木马程序的攻击。
软件限制策略与ActiveDirectory和组策略完全集成。
还可以在独立计算机上使用该策略。
软件限制策略的工作性质使得此模块在结构上不同于本指南中的其他模块。
管理员首先定义允许在环境中的客户端上运行的应用程序集,然后确定该策略将对客户端应用的限制,而不是根据前面模块中的指示性建议来配置组策略的设置选项。
软件限制策略最初包括不受限设置和不允许设置的默认安全级别,以及为组策略对象(GPO)定义的规则。
既可以对整个域应用该策略,也可以对环境中的本地计算机或用户应用该策略。
软件限制策略提供了很多用于标识软件的方法,以及一个基于策略的基础结构,以强制实施有关已标识软件运行方式的规则。
用户在运行软件程序时,必须遵守环境中的管理员在软件限制策略中建立的规则。
可以使用软件限制策略执行下列操作:
控制哪些软件可以在环境中的客户端上运行。
限制用户对多用户计算机上的特定文件的访问。
确定可以向客户端添加受信任的出版商的用户。
定义策略是影响客户端上的所有用户还是用户子集。
禁止可执行文件在本地计算机、OU、站点或域上运行。
软件限制策略体系结构提供了下列强大功能:
基于域或本地计算机的策略实施。
管理员创建该策略,然后定义哪些应用程序是受信任的应用程序,哪些不是受信任的应用程序。
该策略在运行时强制实施,用户不会收到允许其选择是否运行可执行文件的提示。
应用范围并不仅局限于可执行文件的策略。
软件的构成尚无明确定义。
该策略可以控制MicrosoftVisualBasic®
ScriptingEdition(VBScript)、MicrosoftJScript®
以及其他脚本语言。
它还与WindowsInstaller功能集成在一起,以控制可以在客户端上安装哪些程序包。
此功能包含一个应用程序编程接口(API),用于协调策略运行时与其他运行时。
可缩放的策略。
该策略在拥有多种计算机类型和应用程序的大型企业中必须具有可管理性,但同时它还必须在单独的环境中运行。
软件限制策略利用ActiveDirectory和组策略实现可管理性。
该策略存储在GPO中。
还可以通过将GPO存储为本地计算机策略对象,在单独的非域联接环境中使用此策略功能。
灵活策略。
管理员可以灵活地禁止未授权脚本的运行,并可调整MicrosoftActiveX®
控件或锁定客户端。
启用严格加密以标识软件的策略。
该策略可以使用哈希、证书或签名标识软件。
实现软件限制策略体系结构的过程包括三个阶段:
1.
管理员或委托机构使用组策略Microsoft管理控制台(MMC)管理单元为ActiveDirectory容器站点、域或OU创建策略。
Microsoft建议为软件限制策略创建单独的GPO。
注意:
要为本地独立计算机新建软件限制策略,您必须是本地计算机中Administrators组的成员。
要配置这些设置,请单击“Windows设置”、“安全设置”,然后单击“软件限制策略”。
2.
计算机级策略在启动时下载并生效。
用户策略在用户登录到系统或域时生效。
要更新策略,请使用gpupdate.exe/force命令访问该策略。
3.
当用户启动程序或脚本、操作系统或脚本主机时,该策略将根据强制实施的优先规则来确定它是否可以运行。
不受限或不允许设置
软件限制策略由两部分组成:
用于确定哪些程序可以运行的默认规则。
默认规则的例外清单。
可以将用于标识软件的默认规则设置为“不受限的”或“不允许的”(实际上是指运行还是不运行)。
将默认规则设置为“不受限的”允许管理员定义例外内容,或定义一组不允许运行的程序。
在具有松散管理客户端的环境中请使用“不受限的”默认设置。
例如,可以禁止用户安装将与现有程序冲突的程序,方法是创建一个规则来阻止该程序运行。
一种更安全的方法是将默认规则设置为“不允许的”,然后只允许特定的程序集运行。
在“不允许的”默认设置下,管理员必须为每个应用程序定义所有规则,并确保用户在其计算机上拥有正确的安全设置,以便访问允许他们运行的应用程序。
“不允许的”默认设置是确保WindowsXP客户端安全的首选默认设置。
标识软件的四个规则
软件限制策略中的规则标识一个或多个应用程序,以指定是否允许它们运行。
创建规则主要包括标识应用程序,然后将其标识为“不允许的”默认设置的例外。
每个规则都可以包含用于描述其用途的注释。
WindowsXP中的内置实施引擎首先在软件限制策略中查询规则,然后才允许程序运行。
软件限制策略使用下列四个规则来标识软件:
哈希规则-使用可执行文件的加密指印。
证书规则-使用软件发布者为.exe文件提供的数字签名证书。
路径规则-使用.exe文件位置的本地路径、通用命名约定(UNC)路径或注册表路径。
区域规则-使用可执行文件源自的Internet区域(如果该文件是使用MicrosoftInternetExplorer下载的)。
哈希规则
哈希是唯一标识软件程序或可执行文件(即使该程序或可执行文件已被移动或重命名)的指印。
这样,管理员可以使用哈希来跟踪他(或她)不希望用户运行的特定版本的可执行文件或程序。
如果程序在安全或隐私方面存在漏洞,或者可能会破坏系统的稳定性,则可以使用哈希规则。
使用哈希规则,软件程序始终具有唯一可标识性,因为哈希规则匹配基于涉及文件内容的加密计算。
唯一受哈希规则影响的文件类型是在“软件限制策略”的详细信息窗格中“指派的文件类型”部分列出的那些文件类型。
哈希规则比较适合于静态环境。
如果客户端中的软件经常升级,则应在每个程序更新后将哈希重新应用于其可执行文件。
哈希规则非常适用于未向其相应程序的可执行文件应用更改或升级的环境。
哈希规则由下列三个数据段组成,并以冒号分隔:
MD5或SHA-1哈希值。
文件长度。
哈希算法ID编号。
数字签名文件使用签名中包含的哈希值(可能是MD5或SHA-1)。
非数字签名的可执行文件使用MD5哈希值。
哈希规则的格式如下所示:
[MD5或SHA1哈希值]:
[文件长度]:
[哈希算法ID]
以下哈希规则示例用于内容与MD5哈希值(由哈希算法标识符32771表示)和哈希算法7bc04acc0d6480af862d22d724c3b049相匹配的126个字节长的文件:
7bc04acc0d6480af862d22d724c3b049:
126:
32771
管理员要限制或允许的每个文件都需要包含一个哈希规则。
软件更新后,由于原始可执行文件的哈希值通常已被覆盖,因此管理员必须为每个应用程序新建一个哈希规则。
执行下列步骤将哈希规则应用于现有的可执行文件。
要将哈希规则应用于现有的可执行文件,请执行下列操作:
在组策略对象编辑器工具栏上,单击“Windows设置”、“安全设置”、“软件限制策略”,然后右键单击“其他规则”。
单击快捷菜单上的“新散列规则”。
图6.1
“新散列规则”对话框
单击“浏览”选择要哈希的文件。
本例中的可执行文件为Excel.exe。
新文件哈希值显示在“文件哈希:
”框中。
应用程序版本显示在“文件信息:
4.
选择要用于此规则的安全级别默认设置。
可供选择的选项包括:
不允许的
不受限的
证书规则
证书规则指定代码签名软件发布者的证书。
例如,管理员可能需要所有脚本和ActiveX控件的签名证书。
符合证书规则的允许来源包括:
商业证书颁发机构(CA),如VeriSign。
Windows2000或WindowsServer2003™公钥基础结构(PKI)。
自签名证书。
证书规则是一种非常有效的标识软件的方法,因为它使用已签名文件的签名中包含的已签名哈希来匹配文件,而不管文件的名称或位置如何。
要创建证书规则的例外,可以使用哈希规则对其进行标识。
启用证书规则
证书规则在默认情况下不启用。
可以执行下列步骤来启用证书规则。
要启用证书规则,请执行下列操作:
在组策略对象编辑器中打开GPO。
在控制台树中,单击“安全选项”。
在详细信息窗格中,双击“系统设置:
为软件限制策略对Windows可执行文件使用证书规则”。
单击“启用”以启用证书规则。
大多数商业Web站点的软件代码都由商业CA进行签名。
这些证书通常在一到几年内有效。
使用证书规则时,应注意证书的有效期。
可以与软件发布者联系,以获取有关他们所发行证书的有效期的详细信息。
从商务CA收到证书时,可以将其导出到文件中,以创建证书规则。
可以执行下列步骤来导出证书。
要导出证书,请执行下列操作:
选择要颁发证书的受信任发布者。
本例中的证书发布者为MicrosoftMSN®
。
图6.2
“安全设置警告”对话框显示了受信任的出版商
单击“详细信息”选项卡。
将此证书复制到文件,然后使用它创建证书规则。
图6.3
“证书”对话框的“详细信息”选项卡
随即将显示“证书导出向导”欢迎页面。
单击“下一步”继续操作。
图6.4
“证书导出向导”欢迎页面
在“导出文件格式”页面上,选择“DER编码二进制X.509(.CER)”,然后单击“下一步”创建扩展名为(.cer)的证书文件。
图6.5
“证书导出向导”的“导出文件格式”页面显示了选定的编码方法
5.
在“要导出的文件”页面上,指定描述性的证书规则文件名。
该证书将导出到WindowsXP中的CertificateDirectory。
图6.6
“证书导出向导”的“要导出的文件”页面显示了文件名示例
6.
随即将显示“正在完成证书导出向导”页面,其中包含一个显示证书文件的指定设置的列表。
检查这些设置,然后单击“完成”以导出该文件。
图6.7
“正在完成证书导出向导”页面显示了指定设置
现在可以使用此文件创建证书规则。
图6.8
“新建证书”对话框显示了指定设置
路径规则
路径规则指定程序的文件夹路径或完全限定路径。
当路径规则指定文件夹时,它将匹配该文件夹中包含的任何程序以及相关子文件夹中包含的任何程序。
路径规则既支持本地路径也支持UNC路径。
管理员必须在路径规则中定义用于启动特定应用程序的所有目录。
例如,如果管理员在桌面上创建了一个用于启动应用程序的快捷方式,则在路径规则中,用户必须能够同时访问可执行文件路径和快捷方式路径才能运行该应用程序。
试图仅使用这两个路径之一来运行应用程序将触发“SoftwareRestricted”警告。
许多应用程序使用%ProgramFiles%变量将文件安装在运行WindowsXPProfessional的计算机硬盘上。
如果将该变量设置为不同驱动器上的其他目录,某些应用程序仍会将文件复制到原来的C:
\ProgramFiles子目录中。
因此,最好将路径规则定义到默认目录位置。
在路径规则中使用环境变量
可以将路径规则定义为使用环境变量。
由于路径规则在客户端环境中进行评估,因此管理员可以借助环境变量使规则适合于特定用户的环境。
以下两个示例显示了将环境变量应用于路径规则的实例。
“%UserProfile%匹配C:
\DocumentsandSettings\User以及该目录下的所有子文件夹。
“%ProgramFiles%\Application匹配C:
\ProgramFiles\Application以及该目录下的所有子文件夹。
环境变量不受访问控制列表(ACL)的保护。
环境变量有两种类型:
User和System。
能够启动命令提示的用户可以将User环境变量重新定义到不同的路径。
只有Administrators组中的用户可以更改System环境变量。
以下是WindowsXPProfessional中默认环境变量的当前列表:
表6.1:
XPProfessional的默认环境变量
变量名
说明
ALLUSERSPROFILE
返回所有用户配置文件位置的本地变量。
APPDATA
返回应用程序在默认情况下存储数据的位置的本地变量。
CD
返回当前目录字符串的本地变量。
CMDCMDLINE
返回用于启动当前Cmd.exe程序的确切命令行的本地变量。
CMDEXTVERSION
返回当前命令处理器扩展的版本号的系统变量。
COMPUTERNAME
返回计算机名称的系统变量。
COMSPEC
将精确路径返回给命令外壳可执行文件的系统变量。
DATE
返回当前日期的系统变量。
该变量与date/t命令使用相同的格式。
Cmd.exe程序生成此变量。
有关详细信息,请参阅Date命令。
ERRORLEVEL
返回最近使用命令的错误代码的系统变量。
非零值通常表示错误。
HOMEDRIVE
返回用户主目录的本地工作站驱动器号的系统变量。
此变量是基于在组中为“本地用户”和“组”指定的主目录值设置的。
HOMEPATH
返回用户主目录的完整路径的系统变量。
HOMESHARE
返回用户共享主目录的网络路径的系统变量。
LOGONSEVER
本地变量,返回验证当前登录会话的域控制器的名称。
NUMBER_OF_PROCESSORS
指定计算机上安装的处理器数目的系统变量。
OS
返回操作系统名称的系统变量。
WindowsXPProfessional将操作系统显示为MicrosoftWindowsNT。
PATH
指定可执行文件的搜索路径的系统变量。
PATHEXT
系统变量,返回操作系统将其视为可执行文件的文件扩展名的列表。
PROCESSOR_ARCHITECTURE
返回处理器芯片结构的系统变量。
值:
x86、IA64。
PROCESSOR_IDENTFIER
返回处理器描述的系统变量。
PROCESSOR_LEVEL
返回计算机处理器型号的系统变量。
PROCESSOR_REVISION
返回处理器修订号的系统变量。
PROMPT
返回当前解释程序的命令提示设置的本地变量。
由Cmd.exe生成。
RANDOM
返回0到32767之间的随机十进制数的系统变量,由Cmd.exe程序生成。
SYSTEMDRIVE
返回包含Windows根目录(例如,系统根目录)的驱动器的系统变量。
SYSTEMROOT
返回Windows根目录位置的系统变量。
TEMP或TMP
系统和用户变量,返回当前登录的用户可以使用的应用程序的默认临时目录。
某些应用程序需要使用TEMP,而其他应用程序需要使用TMP。
TIME
返回当前时间的系统变量。
该变量与time/t命令使用相同的格式,并由Cmd.exe生成。
有关详细信息,请参阅Time命令。
USERDOMAIN
返回包含用户帐户的域的名称的本地变量。
USERNAME
返回当前登录用户名的本地变量。
USERPROFILE
返回当前用户配置文件位置的本地变量。
WINDIR
返回操作系统目录位置的系统变量。
在路径规则中使用通配符
在路径规则中可以使用“?
”和“*”通配符。
以下示例显示了应用于不同路径规则的通配符:
“\\DC?
?
\login$”匹配\\DC?
01\login$、\\DC?
02\login$,依此类推。
“*\Windows”匹配C:
\Windows、D:
\Windows、E:
\Windows以及每个目录下的所有子文件夹。
“C:
\win*”匹配C:
\winnt、C:
\windows、C:
\windir以及每个目录下的所有子文件夹。
“*.vbs”匹配WindowsXPProfessional中具有此扩展名的任何应用程序。
\ApplicationFiles\*.*”匹配特定子目录中的所有应用程序文件。
注册表路径规则
许多应用程序将其安装文件夹或应用程序目录的路径存储在Windows注册表中。
有些应用程序可以安装在文件系统中的任何位置。
要找到它们,可以创建路径规则来查找这些注册表项。
使用特定文件夹路径(如C:
\ProgramFiles\MicrosoftPlatformSDK)或环境变量(如%ProgramFiles%\MicrosoftPlatformSDK)可能不会很容易地标识这些位置。
但是,如果程序将其应用程序目录存储在注册表中,则可以创建一个路径规则,该路径规则将使用注册表中所存储的值,例如:
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlatformSDK\Directories\InstallDir%。
此类路径规则称为注册表路径规则,其格式如下所示:
%<
RegistryHive>
\<
RegistryKeyName>
ValueName>
%
任何注册表路径规则后缀都不应在规则中的最后一个%符号之后紧跟一个\字符。
必须完整写出注册表配置单元的名称,缩写无效。
如果将默认规则设置为“不允许的”,将设置四个注册表路径,以便操作系统能够访问系统文件以执行正常操作。
创建这些注册表路径规则是为了避免将您自己和所有其他用户锁定在系统之外。
这些注册表规则被设置为“不受限的”。
只有高级用户才可以修改或删除这些规则。
注册表路径规则设置如下所示:
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\
CurrentVersion\SystemRoot%
CurrentVersion\SystemRoot%\*.exe
CurrentVersion\SystemRoot%\System32\*.exe
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
CurrentVersion\ProgramFilesDir%
路径规则优先权
如果有多个匹配的路径规则,则最具体的匹配规则优先权最高。
以下一组路径按优先权从最高(最具体的匹配)到最低(最一般的匹配)排序:
Drive:
\Folder1\Folder2\FileName.Extension
\Folder1\Folder2\*.Extension
*.Extension
\Folder1\Folder2\
\Folder1\
区域规则
可以使用区域规则标识从下列任意区域(在InternetExplorer中定义)下载的软件:
Internet
Intranet
受限站点
受信任的站点
我的电脑
Internet区域规则的当前版本仅适用于WindowsInstaller(*.msi)程序包。
此规则不适用于通过InternetExplorer下载的软件。
受区域规则影响的所有其他文件类型已在此模块后面提供的指派文件类型表中列出。
有一个由所有区域规则共享的指派文件类型组成的列表。
路径规则建议
使用下表确定最适合于应用程序的用户和环境的路径规则。
表6.2:
确定给定应用程序的最佳路径规则
任务
推荐规则
允许或不允许特定程序版本。
哈希规则浏览到文件以创建哈希。
标识始终安装在同一位置的程序。
带有环境变量的路径规则
%ProgramFiles%\InternetExplorer\iexplore.exe
标识可以安装在客户端计算机上的任何位置的程序。
%HKEY_LOCAL_MACHINE\SOFTWARE\ComputerAssociates\InoculateI