在路径规则中使用通配符
在路径规则中可以使用“?”和“*” 通配符。以下示例显示了应用于不同路径规则的通配符:
“\\DC ???\login$”匹配 \\DC ?01\login$、\\DC ?02\login$,依此类推。
“*\Windows”匹配 C:\Windows、D:\Windows、E:\Windows 以及每个目录下的所有子文件夹。
“C:\win*”匹配 C:\winnt、C:\windows、C:\windir 以及每个目录下的所有子文件夹。
“*.vbs”匹配 Windows XP Professional 中具有此扩展名的任何应用程序。
“C:\Application Files\*.*”匹配特定子目录中的所有应用程序文件。
注册表路径规则
许多应用程序将其安装文件夹或应用程序目录的路径存储在 Windows 注册表中。有些应用程序可以安装在文件系统中的任何位置。要找到它们,可以创建路径规则来查找这些注册表项。
使用特定文件夹路径(如 C:\Program Files\Microsoft Platform SDK)或环境变量(如 %ProgramFiles%\Microsoft Platform SDK)可能不会很容易地标识这些位置。但是,如果程序将其应用程序目录存储在注册表中,则可以创建一个路径规则,该路径规则将使用注册表中所存储的值,例如:
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlatformSDK\Directories\Install Dir%.
此类路径规则称为注册表路径规则,其格式如下所示:
%<Registry Hive>\<Registry Key Name>\<Value Name>%
注意:任何注册表路径规则后缀都不应在规则中的最后一个 % 符号之后紧跟一个 \ 字符。必须完整写出注册表配置单元的名称,缩写无效。
如果将默认规则设置为“不允许的”,将设置四个注册表路径,以便操作系统能够访问系统文件以执行正常操作。创建这些注册表路径规则是为了避免将您自己和所有其他用户锁定在系统之外。这些注册表规则被设置为“不受限的”。只有高级用户才可以修改或删除这些规则。注册表路径规则设置如下所示:
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\SystemRoot%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\SystemRoot%\*.exe
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\SystemRoot%\System32\*.exe
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\ProgramFilesDir%
路径规则优先权
如果有多个匹配的路径规则,则最具体的匹配规则优先权最高。以下一组路径按优先权从最高(最具体的匹配)到最低(最一般的匹配)排序:
Drive:\Folder1\Folder2\FileName.Extension
Drive:\Folder1\Folder2\*.Extension
*.Extension
Drive:\Folder1\Folder2\
Drive:\Folder1\
区域规则
可以使用区域规则标识从下列任意区域(在 Internet Explorer 中定义)下载的软件:
Internet
Intranet
受限站点
受信任的站点
我的电脑
Internet 区域规则的当前版本仅适用于 Windows Installer (*.msi) 程序包。此规则不适用于通过 Internet Explorer 下载的软件。受区域规则影响的所有其他文件类型已在此模块后面提供的指派文件类型表中列出。有一个由所有区域规则共享的指派文件类型组成的列表。
路径规则建议
使用下表确定最适合于应用程序的用户和环境的路径规则。
表 6.2:确定给定应用程序的最佳路径规则 任务 推荐规则 允许或不允许特定程序版本。 哈希规则浏览到文件以创建哈希。
标识始终安装在同一位置的程序。
带有环境变量的路径规则%ProgramFiles%\Internet Explorer\iexplore.exe标识可以安装在客户端计算机上的任何位置的程序。
注册表路径规则%HKEY_LOCAL_MACHINE\SOFTWARE\ ComputerAssociates\InoculateIT\6.0\Path\HOME% 标识中央服务器上的一组脚本。路径规则\\SERVER_NAME\Share
标识一组服务器上的一组脚本。 例如,DC01、DC02 和 DC03。 带有通配符的路径规则\\DC??\Share 禁止所有 .vbs 文件,但登录脚本目录中的 .vbs 文件除外。 带有通配符的路径规则*.VBS 设置为“不允许的” \\LOGIN_SRV\Share\*.VBS 设置为“不受限的” 不允许由病毒安装的名称始终为 flcss.exe 的文件。 路径规则flcss.exe 设置为“不允许的” 标识一组可以在任何位置运行的脚本。 证书规则使用证书对脚本进行数字签名。 允许从受信任的 Internet 区域站点安装软件。 区域规则将“受信任的站点”设置为“不受限的”。软件限制策略优先权规则
规则按特定顺序进行评估。与程序匹配程度较高的规则比与同一程序匹配程度较低的规则优先。如果为同一软件建立了两个不同安全级别的相同规则,则安全级别最高的规则优先。例如,如果将两个哈希规则(一个哈希规则的安全级别为“不允许的”,另一个的安全级别为“不受限的”)应用于同一软件程序,则安全级别为“不允许的”的规则优先,程序将不会运行。以下列表定义了规则的优先权顺序(从具体到一般):
1.哈希规则
2.证书规则
3.路径规则
4.区域规则
5.默认规则
软件限制策略选项
本部分讨论了影响软件限制策略行为的各种强制选项。这些选项将改变数字签名文件的 Microsoft Authenticode信任设置的强制行为范围。有两个强制选项:“动态链接库 (DLL) 检查”和“跳过管理员”。
DLL 检查
大多数程序都由可执行文件和许多支持 DLL 组成。默认情况下,不会对 DLL 强制实施软件限制策略规则。这是针对大多数客户的推荐选项,下面列出了这样做的三个原因:
不允许主要可执行文件可以阻止程序运行,因此无需再阻止构成程序的 DLL.
由于 DLL 检查必须检查链接到应用程序的所有库,因此会降低系统性能。例如,如果用户在登录会话中运行了 10 个程序,则软件限制策略将评估每个程序。打开 DLL 检查后,软件限制策略将评估每个程序中的每个 DLL 负载。如果每个程序使用 20 个 DLL,这将导致 10 个可执行程序检查以及 200 个 DLL 检查,因此软件限制策略必须执行 210 次评估。
Internet Explorer 之类的程序由可执行文件、iexplore.exe 和多个支持 DLL 组成。
将默认安全级别设置为“不允许的”将强制系统不仅要标识主要可执行文件(在允许该程序运行之前),还要标识作为 .exe 文件组成部分的所有 DLL,这将加重系统负担。
如果要最高限度地确保环境中运行的程序的安全性,则建议您使用“DLL 检查”选项。这是因为尽管病毒主要攻击可执行文件,但某些病毒却专门攻击 DLL.
要确保程序中不包含病毒,可以使用一组哈希规则来标识可执行文件以及构成该文件的所有 DLL.
要关闭“DLL 检查”选项,请执行下列操作:
在“强制属性”对话框中,选择“除去库文件(如 Dll)之外的所有软件文件” .
图 6.9
“强制属性”对话框显示了文件和用户强制选项