组策略软件限制策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组策略——软件限制策略导读
实际上,本教程主要为以下内容:
理论部分:
1.软件限制策略的路径规则的优先级问题
2.在路径规则中如何使用通配符
3.规则的权限继承问题
4.软件限制策略如何实现3D部署(难点是NTFS权限),软件限制策略的精髓在于权限,如何部署策略也就是如何设置权限
规则部分:
5.如何用软件限制策略防毒(也就是如何写规则)
6.规则的示例与下载
理论部分
软件限制策略包括证书规则、散列规则、Internet 区域规则和路径规则。我们主要用到的是散列规则和路径规则,其中灵活性最好的就是路径规则了,所以一般我们谈到的策略规则,若没有特别说明,则直接指路径规则。
一.环境变量、通配符和优先级
关于环境变量(假定系统盘为 C盘)
%USERPROFILE%?? 表示 C:\Documents and Settings\当前用户名
%HOMEPATH% 表示 C:\Documents and Settings\当前用户名
%ALLUSERSPROFILE%?? 表示 C:\Documents and Settings\All Users
%ComSpec% 表示 C:\WINDOWS\System32\
%APPDATA%?? 表示 C:\Documents and Settings\当前用户名\Application Data
%ALLAPPDATA%?? 表示 C:\Documents and Settings\All Users\Application Data
%SYSTEMDRIVE% 表示 C:
%HOMEDRIVE% 表示 C:
%SYSTEMROOT%?? 表示 C:\WINDOWS
%WINDIR% 表示 C:\WINDOWS
%TEMP% 和 %TMP%?? 表示 C:\Documents and Settings\当前用户名\Local
Settings\Temp
%ProgramFiles% 表示 C:\Program Files
%CommonProgramFiles% 表示 C:\Program Files\Common Files
关于通配符:
Windows里面默认
* :任意个字符(包括0个),但不包括斜杠
:1个或0个字符
几个例子
*\Windows 匹配 C:\Windows、D:\Windows、E:\Windows 以及每个目录下的所有子文件夹。
C:\win* 匹配 C:\winnt、C:\windows、C:\windir 以及每个目录下的所有子文件夹。*.vbs 匹配 Windows XP Professional 中具有此扩展名的任何应用程序。
C:\Application Files\*.* 匹配特定目录(Application Files)中的应用程序文件,但不包括Application Files的子目录
关于优先级:
1.绝对路径 > 通配符相对路径
如 C:\Windows\ > *\Windows\
2.文件型规则 > 目录型规则
如若在Windows目录中,那么 > C:\Windows
3.环境变量 = 相应的实际路径 = 注册表键值路径
如 %ProgramFiles% = C:\Program Files =
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDi r%
4.散列规则比任何路径规则优先级都高
总的来说,就是规则越匹配越优先
注:
1. 通配符 * 并不包括斜杠 \。例如*\WINDOWS 匹配 C:\Windows,但不匹配
C:\Sandbox\WINDOWS
2. * 和 ** 是完全等效的,例如 **\**\abc = *\*\abc
3. C:\abc\* 可以直接写为 C:\abc\ 或者 C:\abc,最后的* 是可以省去的,因为软件限制策略的规则可以直接匹配到目录。
4. 软件限制策略只对“指派的文件类型”列表中的格式起效。例如 *.txt 不允许的,这样的规则实际上无效,除非你把TXT格式也加入“指派的文件类型”列表中。
5. * 和 *.* 是有区别的,后者要求文件名或路径必须含有“.”,而前者没有此限制,因此,*.* 的优先级比 * 的高
6. :\* 与 :\*.* 是截然不同的,前者是指所有分区下的每个目录下的所有子文件夹,简单说,就是整个硬盘;而 :\*.* 仅包括所有分区下的带“.”的文件或目录,一般情况
下,指的就是各盘根目录下的文件。那非一般情况是什么呢请参考第7点
7. :\*.* 中的“.”可能使规则范围不限于根目录。这里需要注意的是:有“.”的不一定是文件,可以是文件夹。例如 F:\,一样符合 :\*.*,所以规则对F:\下的所有文件及子目录都生效。
8.这是很多人写规则时的误区。首先引用《组策略软件限制策略规则包编写之菜鸟入门(修正版)》里的一段:
引用:
4、如何保护上网的安全
在浏览不安全的网页时,病毒会首先下载到IE缓存以及系统临时文件夹中,并自动运行,造成系统染毒,在了解了这个感染途径之后,我们可以利用软件限制策略进行封堵
%SYSTEMROOT%\tasks\**\*.* 不允许的(这个是计划任务,病毒藏身地之一)
%SYSTEMROOT%\Temp\**\*.* 不允许的
%USERPROFILE%\Cookies\*.* 不允许的
%USERPROFILE%\Local Settings\**\*.* 不允许的(这个是IE缓存、历史记录、临时文件所在位置)
说实话,上面引用的部分不少地方都是错误的
先不谈这样的规则能否保护上网安全,实际上这几条规则在设置时就犯了一些错误
例如:%USERPROFILE%\Local Settings\**\*.* 不允许的
可以看出,规则的原意是阻止程序从Local Settings(包括所有子目录)中启动
现在大家不妨想想这规则的实际作用是什么?
先参考注1和注2,** 和* 是等同的,而且不包含字符“\”。所以,这里规则的实际效果是“禁止程序从Local Settings文件夹的一级子目录中启动”,不包括Local Settings 根目录,也不包括二级和以下的子目录。
现在我们再来看看Local Settings的一级子目录有哪些:Temp、Temporary Internet Files、Application Data、History。
阻止程序从Temp根目录启动,直接的后果就是很多软件不能成功安装
那么,阻止程序从Temporary Internet Files根目录启动又如何呢?
实际上,由于IE的缓存并不是存放Temporary Internet Files根目录中,而是存于Temporary Internet Files的子目录的子目录里(-_-||),所以这种写法根本不能阻止程序从IE缓存中启动,是没有意义的规则
若要阻止程序从某个文件夹及所有子目录中启动,正确的写法应该是: