《SERVER2003组策略之软件限制策略教程》由会员分享,可在线阅读,更多相关《SERVER2003组策略之软件限制策略教程(49页珍藏版)》请在金锄头文库上搜索。
1、组策略之软件限制策略完全教程与规则示例(规则已发布)翻了一下HIPS区之前已有的组策略教程,发现存在几个问题:1.对于路径规则的优先级、通配符问题没有说清,甚至存在误区2.规则的权限设置只有“不允许的”和“不受限的”两个级别,不够灵活3.没有涉及权限和继承的问题4.规则的保护范围有限,甚至不能防网马所以,就有了此文在总结前人经验的基础上,重新解释组策略的软件限制策略第一课,理论部分软件限制策略包括证书规则、散列规则、Internet 区域规则和路径规则。我们主要用到的是散列规则和路径规则,其中灵活性最好的就是路径规则了,所以一般我们谈到的策略规则,若没有特别说明,则直接指路径规则。组策略.jp
2、g (32.37 KB)2008-3-2 03:53一.环境变量、通配符和优先级关于环境变量(假定系统盘为 C盘) %USERPROFILE% 表示 C:Documents and Settings当前用户名 %HOMEPATH% 表示 C:Documents and Settings当前用户名%ALLUSERSPROFILE% 表示 C:Documents and SettingsAll Users%ComSpec% 表示 C:WINDOWSSystem32cmd.exe %APPDATA% 表示 C:Documents and Settings当前用户名Application Data %
3、ALLAPPDATA% 表示 C:Documents and SettingsAll UsersApplication Data %SYSTEMDRIVE% 表示 C:%HOMEDRIVE% 表示 C:%SYSTEMROOT% 表示 C:WINDOWS %WINDIR% 表示 C:WINDOWS %TEMP% 和 %TMP% 表示 C:Documents and Settings当前用户名Local SettingsTemp %ProgramFiles% 表示 C:Program Files %CommonProgramFiles% 表示 C:Program FilesCommon Files
4、 关于通配符: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.绝对路
5、径 通配符相对路径 如 C:Windowsexplorer.exe *Windowsexplorer.exe 2.文件型规则 目录型规则 如若a.exe在Windows目录中,那么 a.exe C:Windows注:如何区分文件规则和目录规则?不严格地说,其区分标志为字符“.”。例如, *.* 就比 C:WINDOWS 的优先级要高,如果我们要排除WINDOWS根目录下的程序,就需要这样做 C:WINDOWS*.*而严格的说法是,只要规则中的字符能够匹配到文件名中,那么该规则就是文件型规则,否则为目录型规则。可见,文件型、目录型都是相对而言的3.环境变量 = 相应的实际路径 = 注册表键值路径
6、如 %ProgramFiles% = C:Program Files = %HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramFilesDir%4.若两条规则路径等效,那么两条规则合成的结果是:从严处理,以最低的权限为准。如“C:Windowsexplorer.exe 不受限的” + “C:Windowsexplorer.exe 基本用户”=“C:Windowsexplorer.exe 基本用户注:1. 通配符 * 并不包括斜杠 。例如*WINDOWS 匹配 C:Windows,但不匹配 C:SandboxWINDOW
7、S2. * 和 * 是完全等效的,例如 *abc = *abc3. C:abc* 可以直接写为 C:abc 或者 C:abc,最后的* 是可以省去的,因为软件限制策略中已经存储了执行文件类型作为 * 的内容了。(指派的文件类型)4. 软件限制策略只对“指派的文件类型”列表中的格式起效。例如 *.txt 不允许的,这样的规则实际上无效,除非你把TXT格式也加入“指派的文件类型”列表中。指派的文件类型 属性.jpg (27.83 KB)2008-3-2 03:535. * 和 *.* 是有区别的,后者要求文件名或路径必须含有“.”,而前者没有此限制,因此,*.* 的优先级比 * 的高6. ?:*
8、与 ?:*.* 是截然不同的,前者是指所有分区下的每个目录下的所有子文件夹,简单说,就是整个硬盘;而 ?:*.* 仅包括所有分区下的带“.”的文件或目录,一般情况下,指的就是各盘根目录下的文件。那非一般情况是什么呢?请参考第7点7. ?:*.* 中的“.” 可能使规则范围不限于根目录。这里需要注意的是:有“.”的不一定是文件,可以是文件夹。例如 F:ab.c,一样符合 ?:*.*,所以规则对F:ab.c下的所有文件及子目录都生效。8.首先引用组策略软件限制策略规则包编写之菜鸟入门(修正版)里的一段: 引用:4、如何保护上网的安全 在浏览不安全的网页时,病毒会首先下载到IE缓存以及系统临时文件夹
9、中,并自动运行,造成系统染毒,在了解了这个感染途径之后,我们可以利用软件限制策略进行封堵 %SYSTEMROOT%tasks*.* 不允许的 (这个是计划任务,病毒藏身地之一) %SYSTEMROOT%Temp*.* 不允许的 %USERPROFILE%Cookies*.* 不允许的 %USERPROFILE%Local Settings*.* 不允许的 (这个是IE缓存、历史记录、临时文件所在位置)说实话,上面引用的部分不少地方都是错误的先不谈这样的规则能否保护上网安全,实际上这几条规则在设置时就犯了一些错误例如:%USERPROFILE%Local Settings*.* 不允许的可以看出
10、,规则的原意是阻止程序从Local Settings(包括所有子目录)中启动现在大家不妨想想这规则的实际作用是什么?先参考注1和注2,* 和* 是等同的,而且不包含字符“”。所以,这里规则的实际效果是 “禁止程序从Local Settings文件夹的一级子目录中启动”,不包括Local Settings根目录,也不包括二级和以下的子目录。现在我们再来看看Local Settings的一级子目录有哪些:Temp、Temporary Internet Files、Application Data、History。阻止程序从Temp根目录启动,直接的后果就是很多软件不能成功安装那么,阻止程序从Tem
11、porary Internet Files根目录启动又如何呢?实际上,由于IE的缓存并不是存放Temporary Internet Files根目录中,而是存于Temporary Internet Files的子目录Content.IE5的子目录里(-_-|),所以这种写法根本不能阻止程序从IE缓存中启动,是没有意义的规则若要阻止程序从某个文件夹及所有子目录中启动,正确的写法应该是:某目录* 某目录* 某目录 某目录9. 引用:?:auutorrun.inff 不允允许的这是流传的的所谓防防U盘病病毒规则则,事实实上这条条规则是是没有作作用的,关关于这点点在 关关于各种种策略防防范U盘盘病毒的
12、的讨论 已经作作了分析析二.软软件限制制策略的的3D的的实现:“软件件限制策策略本身身即实现现AD,并并通过NNTFSS权限实实现FDD,同时时通过注注册表权权限实现现RD,从从而完成成3D的的部署”对于软件限制策略的AD限制,是由权限指派来完成的,而这个权限的指派,用的是微软内置的规则,即使我们修改“用户权限指派”项的内容,也无法对软件限制策略中的安全等级进行提权。所以,只要选择好安全等级,AD部分就已经部署好了,不能再作干预而软件件限制策略的FD和RD限制,分别由NTFS权限、注册表权限来完成。而与AD部分不同的是,这样限制是可以干预的,也就是说,我们可以通过调整NTFS和注册表权限来配置
13、FD和RD,这就比AD部分要灵活得多。小结一下,就是AD用户权利指派FDNTFS权限RD注册表权限先说AD部分,我们能选择的就是采用哪种权限等级,微软提供了五种等级:不受限的、基本用户、受限的、不信任的、不允许的。不受限的,最高的权限等级,但其意义并不是完全的不受限,而是“软件访问权由用户的访问权来决定”,即继承父进程的权限。基本用户,基本用户仅享有“跳过遍历检查”的特权,并拒绝享有管理员的权限。受限的,比基本用户限制更多,也仅享有“跳过遍历检查”的特权。不信任的,不允许对系统资源、用户资源进行访问,直接的结果就是程序将无法运行。不允许的,无条件地阻止程序执行或文件被打开很容易看出,按权限大小
14、排序为 不受限的 基本用户 受限的 不信任的 不允许的其中,基本用户 、受限的、不信任的 这三个安全等级是要手动打开的具体做法:打开注册表编辑器,展开至HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsSaferCodeIdentifiers新建一个DOWRD,命名为Levels,其值可以为0x10000 /增加受限的0x20000 /增加基本用户0x30000 /增加受限的,基本用户0x31000 /增加受限的,基本用户,不信任的设成0x31000(即4131000)即可如图:注册表编辑器.jpg (49.52 KB)2008-3-5 14:16或者将下面附件中的reg双击导入注册表即可safer.rar (279 Bytes) safer.rar (279 Bytes)Levels设置下载次数: 202008-3-5 14:16再强调两点:1.“不允许的”级别不包含任何FD操作。你可以对一个设定成“不允许的”文件进行读取、复制、粘贴、修改、删除等操作,组策略不会阻止,前提当然是你的用户级别拥有修改该文件的权限2.“不受限的”级别不等于不受限制,只是