组策略之软件限制策略——完全教程与规则示例

组策略之软件限制策略——完全教程与规则示例(规则已发布)

翻了一下HIPS区之前已有的组策略教程,发现存在几个问题:
1.对于路径规则的优先级、通配符问题没有说清,甚至存在误区
2.规则的权限设置只有“不允许的”和“不受限的”两个级别,不够灵活
3.没有涉及权限和继承的问题
4.规则的保护范围有限,甚至不能防网马

所以,就有了此文
在总结前人经验的基础上,重新解释组策略的软件限制策略

第一课,理论部分

软件限制策略包括证书规则、散列规则、Internet 区域规则和路径规则。我们主要用到的是散列规则和路径规则,其中灵活性最好的就是路径规则了,所以一般我们谈到的策略规则,若没有特别说明,则直接指路径规则。




一.环境变量、通配符和优先级
关于环境变量(假定系统盘为 C盘)
%USERPROFILE%  表示 C:/Documents and Settings/当前用户名
%HOMEPATH%    表示 C:/Documents and Settings/当前用户名
%ALLUSERSPROFILE%  表示 C:/Documents and Settings/All Users
%ComSpec%  表示 C:/WINDOWS/System32/cmd.exe
%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个字符

几个例子
*/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/explorer.exe > */Windows/explorer.exe  

2.文件型规则 > 目录型规则      
如若a.exe在Windows目录中,那么   a.exe > C:/Windows
注:如何区分文件规则和目录规则?不严格地说,其区分标志为字符“.”。
例如, *.* 就比 C:/WINDOWS 的优先级要高,如果我们要排除WINDOWS根目录下的程序,就需要这样做 C:/WINDOWS/*.*
而严格的说法是,只要规则中的字符能够匹配到文件名中,那么该规则就是文件型规则,否则为目录型规则。可见,文件型、目录型都是相对而言的

3.环境变量 = 相应的实际路径 = 注册表键值路径
如 %ProgramFiles% = C:/Program Files = %HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/ProgramFilesDir%

4.若两条规则路径等效,那么两条规则合成的结果是:从严处理,以最低的权限为准。
如“C:/Windows/explorer.exe 不受限的” + “C:/Windows/explorer.exe 基本用户”=
“C:/Windows/explorer.exe 基本用户

总的来说,就是规则越匹配越优先

注:
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:/ab.c,一样符合 ?:/*.
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值