第二课,规则详解
书接上回
基础部分,如何建立规则:
首先,打开组策略
开始-运行,输入 “gpedit.msc”(不包含引号)并回车。
在弹出的对话框中,依次展开 计算机配置-Windows设置-安全设置-软件限制策略
如果你之前没有配置过软件限制策略,那么可以在菜单栏上选择 操作-创建新的策略
如图
然后转到“其它规则”项,在菜单栏选择“操作”,在下拉菜单选择“新路径规则”
在弹出的对话框中,就可以编辑规则了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~华丽丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
软件限制策略的其实并不复杂,在规则设置上是十分简单的,只有五个安全级别,不像HIPS那样,光
AD部分就细分成N项。
但软件限制策略的难点在于:如何确保你的规则真正有效并按你的意愿去工作,即如何保证规则的正
确性和有效性。
从四道题目的答对率来看,发现问题还是不少的
附上题目的参考答案
1.D
考点:注2、注4、注7
这题的C选项是陷阱,因为TXT文件不在规则的阻挡范围之内。
D项参考注7,F:/Folder1/Folder.2/Folder.3 (注意“.”)正好能匹配 F:/**/*/*.*,因此Folder.3下面的EXE文件不能被打开
2.D
说明:此题的考点为“AD权限的分配/最低权限原则”
我们先整理一下父子进程的关系:
iexplore.exe -> test.exe -> test2.exe
(基本用户) (受限的) (受限的)
其中,test.exe从Temp目录启动,受规则“%Temp% 受限的”的限制,其权限降为“受限的”。test2.exe从桌面启动,虽然桌面的程序是不受限的,但由于其父进程为test.exe,故继承test.exe的权限,故test2.exe的最终获得访问令牌还是“受限的”
另外要注意的是,复制、创建文件等操作都不会构成权限的继承
3.考点:注1、注3、综合分析
说明:F:/win* 和 F:/win*/ 仅相差一个字符 “/”,由注1可知,* 并不包括斜杠。那么斜杠“/”在这里的作用是什么?
实际上,这个斜杠在规则中的作用相当于声明斜杠前的路径指的是目录,而不是文件,注意到这点后,就可以看出区别了:
F:/win* 既可以匹配到 F:/windows、F:/windir、F:/winrar等目录,也可以匹配到F:/winrar.exe、F:/winNT.bat等文件
而F:/win*/ 仅能匹配到目录
4.考点:NTFS权限
此题答案不唯一,只要是合理可行的方案即可
下面答案仅供参考:
限制QQ的行为,可以把QQ设为基本用户。
防止QQ广告,可以对Tencent下的AD目录调整NTFS权限——取消Users组的创建、写入权限
不允许QQ调用浏览器,可以对IE调整NTFS权限——取消Users组的“读取和运行”的权限
下面将详细讨论规则部分
一、再次强调一下通配符的使用
Windows里面默认
* :任意个字符(包括0个),但不包括斜杠
? :1个字符
在组策略中*不包括斜杠,这和HIPS是不同的,一定要注意
例如:
C:/Windows/system32 可以表示为 */*/system32
而以下的表达式都是无效的:
*/system32 、system32/*、system32
二、根目录规则
软件限制策略对初学者来说有一定的难度,因为它没有HIPS那么丰富的功能选项,故利用规则实现某一功能需要一定的
技巧。
根目录规则就是一例(禁止在某个目录的根目录下的程序行为)
若在EQ中,设置规则时取消“包含该目录下面的所有文件”选项就可以保证规则仅对根目录起效
而组策略却不是那么简单就可以做到。
看看下面的规则:
基础部分,如何建立规则:
首先,打开组策略
开始-运行,输入 “gpedit.msc”(不包含引号)并回车。
在弹出的对话框中,依次展开 计算机配置-Windows设置-安全设置-软件限制策略
如果你之前没有配置过软件限制策略,那么可以在菜单栏上选择 操作-创建新的策略
如图
然后转到“其它规则”项,在菜单栏选择“操作”,在下拉菜单选择“新路径规则”
在弹出的对话框中,就可以编辑规则了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~华丽丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
软件限制策略的其实并不复杂,在规则设置上是十分简单的,只有五个安全级别,不像HIPS那样,光
AD部分就细分成N项。
但软件限制策略的难点在于:如何确保你的规则真正有效并按你的意愿去工作,即如何保证规则的正
确性和有效性。
从四道题目的答对率来看,发现问题还是不少的
附上题目的参考答案
引用:
考点:注2、注4、注7
这题的C选项是陷阱,因为TXT文件不在规则的阻挡范围之内。
D项参考注7,F:/Folder1/Folder.2/Folder.3 (注意“.”)正好能匹配 F:/**/*/*.*,因此Folder.3下面的EXE文件不能被打开
2.D
说明:此题的考点为“AD权限的分配/最低权限原则”
我们先整理一下父子进程的关系:
iexplore.exe -> test.exe -> test2.exe
(基本用户) (受限的) (受限的)
其中,test.exe从Temp目录启动,受规则“%Temp% 受限的”的限制,其权限降为“受限的”。test2.exe从桌面启动,虽然桌面的程序是不受限的,但由于其父进程为test.exe,故继承test.exe的权限,故test2.exe的最终获得访问令牌还是“受限的”
另外要注意的是,复制、创建文件等操作都不会构成权限的继承
3.考点:注1、注3、综合分析
说明:F:/win* 和 F:/win*/ 仅相差一个字符 “/”,由注1可知,* 并不包括斜杠。那么斜杠“/”在这里的作用是什么?
实际上,这个斜杠在规则中的作用相当于声明斜杠前的路径指的是目录,而不是文件,注意到这点后,就可以看出区别了:
F:/win* 既可以匹配到 F:/windows、F:/windir、F:/winrar等目录,也可以匹配到F:/winrar.exe、F:/winNT.bat等文件
而F:/win*/ 仅能匹配到目录
4.考点:NTFS权限
此题答案不唯一,只要是合理可行的方案即可
下面答案仅供参考:
限制QQ的行为,可以把QQ设为基本用户。
防止QQ广告,可以对Tencent下的AD目录调整NTFS权限——取消Users组的创建、写入权限
不允许QQ调用浏览器,可以对IE调整NTFS权限——取消Users组的“读取和运行”的权限
下面将详细讨论规则部分
一、再次强调一下通配符的使用
Windows里面默认
* :任意个字符(包括0个),但不包括斜杠
? :1个字符
在组策略中*不包括斜杠,这和HIPS是不同的,一定要注意
例如:
C:/Windows/system32 可以表示为 */*/system32
而以下的表达式都是无效的:
*/system32 、system32/*、system32
二、根目录规则
软件限制策略对初学者来说有一定的难度,因为它没有HIPS那么丰富的功能选项,故利用规则实现某一功能需要一定的
技巧。
根目录规则就是一例(禁止在某个目录的根目录下的程序行为)
若在EQ中,设置规则时取消“包含该目录下面的所有文件”选项就可以保证规则仅对根目录起效
而组策略却不是那么简单就可以做到。
看看下面的规则:
引用:
C:/Program Files/*.* 不允许的
前面已经提过,* 不包含斜杠,因此这个规则可视为Program Files的根目录规则。在此规则下,形
如 C:/Program Files/a.exe 等程序将不能启动。
但这规则可能导致一些问题,因为通配符即可以匹配到文件,也可以匹配到文件夹。
如果Program Files存在带有“.”的目录(形如C:/Program Files/TTplayer5.2),一样可以和规则
C:/Program Files/*.* 匹配,这将导致该文件夹下的程序无法运行,造成误伤。
改进一下的话,可以用两条规则来实现根目录限制
如这样就保证了子目录的程序不受规则影响引用:
C:/Program Files 不允许的
C:/Program Files/*/ 不受限的
三、一些规则的模板
根目录规则: 某目录/* + 某目录/*/*
目录规则(包含目录中所有文件):某目录/* 或 某目录/ 或 某目录
含“*”的目录规则: 某目录*/ (注意要加上斜杠“/”)
文件型规则: a.exe 、*.com 等
绝对路径规则: 如 C:/Windows/explorer.exe
全局型规则: *
这里需要说明的是, 为什么全局型规则要使用“*”?
因为 * 属于仅有通配符的规则,其覆盖范围是最大的,而优先级是最低的,不会遗漏,便于排除,
最适合作为全局规则。
对比“*.*”,一个字符“.”的存在使规则的优先级提高了,这将会给排除工作带来不便
四、规则实例
1. 保证上网安全
很多人问,浏览毒网时,病毒会下载到什么位置执行?
首先是,下载到网页缓存中(Content.IE5),这点很多人都注意到了。不过呢,病毒一般却不会选
择在缓存中执行,而是通过浏览器复制病毒文件到其它目录,例如Windows。system32、Temp,当前
用户文件夹、桌面、系统盘根目录、ProgramFiles根目录及其公有子目录、浏览器所在目录等
所以在这里再重复一次已说过N次的话,不要以为把缓存目录设为不允许的就万事大吉了。
至于防范,比较好的方法就是禁止浏览器在敏感位置新建文件,这点使用“浏览器基本用户”就可以
做到,规则如下如果使用的是其它浏览器,也可以设成 基本用户引用:
%ProgramFiles%/Internet Explorer/iexplore.exe 基本用户
若配合以下规则,效果更佳:并设置用户变量Temp的NTFS权限:引用:
*/Documents and Settings 不允许的 程序一般不会从Documents and Settings中启动
%APPDATA% 不允许的 当前用户的Application Data根目录限制
%APPDATA%/*/ 不受限的 允许程序从Application Data的子目录启动
%SystemDrive%/*.* 不允许的 禁止程序从系统盘根目录启动
%Temp% 不受限的 允许程序从Temp目录启动,安装软件必须
%TMP% 不受限的 同上
Temp的默认路径为 Documents and Settings/Administrator/Local Settings/Temp
在系统盘格式为NTFS的情况下,右击Temp文件夹,选择“安全”项,取消 Users组的“ 读取与运行”
权限即可。(同时要取消Everyone组的访问权,且保证Administrators组具有完全访问权限)
如此设置的作用是:基本用户下的程序将无法从Temp文件夹运行程序
2.U盘规则
比较实际的做法是不允许的安全度更高一些,这样也不会影响U盘的一般使用(拷贝、删除等)引用:
U盘:/* 不允许的、不信任的、受限的,都可以
假设你的U盘一般盘符是I,那么规则可以写成:3.双后缀文件防范规则引用:
I:/* 不允许的
以下是微软的帮助:双后缀文件可能的形式比较多,这里仅放出谍照一张引用:
注意
某些病毒使用的文件具有两个扩展名以使得危险文件看起来像安全的文件。例如,Document.txt.exe
或 Photos.jpg.exe。最后面的扩展名是 Windows 将尝试打开的扩展名。具有两个扩展名的合法文件
非常少,因此避免下载或打开这种类型的文件。
有些文件下载起来比程序或宏文件更安全,例如文本 (.txt) 或图像 (.jpg, .gif, .png) 文件。但
是,仍然要警惕未知的来源,因为已知这些文件中的一些文件使用了特意精心设计的格式,可以利用
计算机系统的漏洞。
4.全局规则
就一条:如果设成受限的或者不信任/不允许的话,无疑会更安全,但也会带来一些不便。综合考虑还是基本用户比较适合引用:
* 基本用户
在全局规则下,肯定需要对合法的程序进行排除的。 在排除的时候,你就会发现使用 * 作为全局规
则的优越性了——任何一条规则的优先级都比它高,所以我们可以很方便地进行排除。
为了减少排除的工作量,这里建议大家把软件集中安装在少数的目录,例如ProgramFiles目录,那么
排除时就可以对整个目录进行,不必慢慢添加
示例排除规则:还要排除一些文件格式,以使其被正常打开:引用:
%ProgramFiles% 不受限的 (软件所在目录)
*/ApplicationSetups 不受限的 (安装软件用的文件夹)5. 其它辅助规则引用:
*.ade 不受限的
*.adp 不受限的
*.msi 不受限的
*.msp 不受限的
*.chm 不受限的
*.hlp 不受限的
*.pcd 不受限的
CMD限制策略:由于桌面一般只放快捷方式,所以引用:
%Comspec% 基本用户同时要让快捷方式能够正常工作:引用:
%HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders/Desktop% 不允许的计划任务功能很少会用到,所以引用:
*.lnk 不受限的帮助文件阅读器的管制策略:引用:
%SystemRoot%/task 不允许的脚本宿主管制引用:
%WinDir%/hh.exe 受限的 (防范CHM捆毒)
%WinDir%/winhelp.exe 受限的
%WinDir%/winhlp32.exe 受限的一些不会有程序启动的位置、一些极少用到的系统程序,你不用但病毒会用,所以...........引用:
%WinDir%/system32/?script.exe 受限的(或者直接不允许)
规则可以有很多,大可自己发挥,放出图一张:
禁止伪装系统程序
如:剩下的规则就留给各位自由发挥了引用:
lsass.exe 不允许的
%WinDir%/system32/lsass.exe 不受限的
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~华丽丽的分割线,怎么? 不够华丽?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
至此,教程完毕
这次就不布置作业了[:01:]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
组策略规则发布:
根据防入口和全局防护的思路,做了两套规则——简单规则和全局规则[:01:]
简单规则说明:
以基本用户限制主流浏览器
Avant.exe Brexpo.exe firefox.exe GE.exe GreenBrowser.exe gsfbwsr.exe iexplore.exe MaxFox.exe maxthon.exe
miniie.exe netscape.exe opera.exe Orca.exe realplay.exe Safari.exe SeaMonkey.exe Sleipnir.exe theworld.exe
TTraveler.exe
限制或禁用一些不常用的系统程序
禁止程序从U盘启动(需要手动修改一下规则)
全局规则说明:
采用全局基本用户
并加入了数目可观的系统程序白名单
规则默认状态没有对system32目录进行白名单式的限制,主要考虑到一些安全软件会安装程序文件在这些目录下,如DW、
ZA等
如果想打开此限制,进入System32的白名单模式,可以把规则中的
%WinDir%System32/*.exe 设成“基本用户”或者“受限的”
默认排除(不受限的)的目录有:
1.所有分区根目录下的Program Files文件夹 请把软件安装在此目录中,或者另外进行目录排除
2.所有分区根目录下的“安装程序”文件夹 请从此目录安装程序,或者另外进行目录排除
3.所有分区根目录下的“信任目录”文件夹
4.System32下exe后缀的程序
以基本用户限制的主流浏览器
Avant.exe Brexpo.exe firefox.exe GE.exe GreenBrowser.exe gsfbwsr.exe iexplore.exe MaxFox.exe maxthon.exe
miniie.exe netscape.exe opera.exe Orca.exe realplay.exe Safari.exe SeaMonkey.exe Sleipnir.exe theworld.exe
TTraveler.exe
另外提醒一下,大家在设置规则时,注意要考虑以下4条系统默认规则的影响:
%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% 路径 不受限的
相当于规则:
%SystemRoot% 不受限的 整个Windows目录不受限
%SystemRoot%/*.exe 不受限的 Windows下的exe文件不受限
%SystemRoot%/System32/*.exe 不受限的 System32下的exe文件不受限
%ProgramFiles% 不受限的 整个ProgramFiles目录不受限
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
规则已做成安装包,双击运行即可导入
简单规则和全局规则之间可以方便地进行转换^_^
若需要取消所有规则,执行“还原软件限制策略”附件中的批处理即可
规则可能还不是很完善,欢迎测试和反馈意见