您的位置:首页 > 其它

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

2012-03-01 11:17 435 查看
其实WINXP组策略中的软件限制策略完全可以实现HIPS的功能

设置得当的话,完全可以防御大部分的网络威胁

要设置组策略,先来了解一下系统环境变量和通配符

环境变量

%USERPROFILE% 表示 C:\Documents and Settings\当前用户名

%ALLUSERSPROFILE% 表示 C:\Documents and Settings\All Users

%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

通配符

? 表示任意单个字符

* 表示任意多个字符

**或*? 表示零个或多个含有反斜杠的字符,即包含子文件夹

接下来开始设置“软件限制策略



设置完成后,将C:\Windows\\system32\GroupPolicy\Machine\Registry.pol文件拷贝出来

这个文件就是你所设置的规则。重做系统后,将备份的这个文件覆盖到源路径中,就可以恢复规则

也可以将这个文件做成一个自解压EXE格式的文件

自解压脚本为

Path=%windir%\system32\GroupPolicy\Machine\

SavePath

Setup=gpupdate /force

Silent=1

Overwrite=1



一、软件限制策略的作用

首先说一下HIPS的3D

AD——程序保护 保护应用程序不被恶意修改、删除、注入

FD——文件保护 保护关键的文件不被恶意修改、删除,禁止恶意程序创建和读取文件

RD——注册表保护 保护注册表关键位置不被恶意修改、读取、删除

XP系统软件限制策略可以做到上面的AD与FD,至于RD,可以通过注册表权限设置来实现

因此可以说,XP本身就具备3D功能,只是不被大家所熟悉。

二、软件限制策略的优劣势

1、优势

优势是很明显的,它是系统的一部分,不存在兼容性问题,不占用内存,属于系统最底层保护,保护能力远不是HIPS可以比拟的

2、劣势

劣势也很明显,与HIPS相比,它不够灵活和智能,不存在学习模式,它只会默认阻止或放行,不会询问用户,若规则设置不当,可能导致某些程序不能运行

三、软件限制策略 规则编写实例

我直接以一些最常见的例子来说明

1、首先要学会系统通配符、环境变量的含义,以及软件限制策略规则的优先级

2、如何阻止恶意程序运行

首先要注意,恶意程序一般会藏身在什么地方

?: 分区根目录

C:WINDOWS (后面讲解一律以系统在C盘为例)

C:WINDOWSsystem32

C:Documents and SettingsAdministrator

C:Documents and SettingsAdministratorApplication Data

C:Documents and SettingsAll Users

C:Documents and SettingsAll UsersApplication Data

C:Documents and SettingsAdministrator「开始」菜单程序启动

C:Documents and SettingsAll Users「开始」菜单程序启动

C:Program Files

C:Program FilesCommon Files

注意:

C:Documents and SettingsAdministrator

C:Documents and SettingsAdministratorApplication Data

C:Documents and SettingsAll Users

C:Documents and SettingsAll UsersApplication Data

C:Documents and SettingsAdministrator「开始」菜单程序启动

C:Documents and SettingsAll Users「开始」菜单程序启动

C:Program Files

C:Program FilesCommon Files

这8个路径下是没有可执行文件的,只有在它们的子目录下才有可能存在可执行文件,那么基于这一点,规则就容易写了

%ALLAPPDATA%*.* 不允许的

%ALLUSERSPROFILE%*.* 不允许的

%ALLUSERPROFILE%「开始」菜单程序启动*.* 不允许的

%APPDATA%*.* 不允许的

%USERSPROFILE%*.*

%USERPROFILE%「开始」菜单程序启动*.* 不允许的

%ProgramFiles%*.* 不允许的

%CommonProgramFiles%*.* 不允许的

那么对于

C:WINDOWS C:WINDOWSsystem32 这两个路径的规则怎么写呢?

C:WINDOWS下只有explorer.exe、notepad.exe、摄像头程序、声卡管理程序是需要运行的,而其他都不需要运行

则其规则可以这样写:

%SYSTEMROOT%*.* 不允许的 (首先禁止C:WINDOWS下运行可执行文件)

C:WINDOWSexplorer.exe 不受限的

C:WINDOWS otepad.exe 不受限的

C:WINDOWSamcap.exe 不受限的

C:WINDOWSRTHDCPL.EXE 不受限的

(然后利用绝对路径优先级大于通配符路径的原则,设置上述几个排除规则,则,在C:WINDOWS下,除了explorer.exe、notepad.exe、摄像头程序、声卡管理程序可以运行外,其他所有的可执行文件均不可运行)

对于C:WINDOWSsystem32就不能像上面那样写规则了,在SYSTEM32下面很多系统必须的可执行文件,如果一个一个排除,那太累了。所以,对system32,我们只要对它的子文件作一些限制,并对系统关键进程进行保护

子文件夹的限制

%SYSTEMROOT%system32config***.* 不允许的

%SYSTEMROOT%system32drivers***.* 不允许的

%SYSTEMROOT%system32spool***.* 不允许的

当然你可以限制更多的子文件夹

3、如何保护system32下的系统关键进程

有些进程是系统启动时必须加载的,你不能阻止它的运行,但这些进程又常常被恶意软件仿冒,怎么办?其实很简单,这些仿冒的进程,其路径不可能出现在system32下,因为它们不可能替换这些核心文件,它们往往出现在其他的路径中。那么我们可以这样应对:

C:WINDOWSsystem32csrss.exe 不受限的

C:WINDOWSsystem32ctfmon.exe 不受限的

C:WINDOWSsystem32lsass.exe 不受限的

C:WINDOWSsystem32 undll32.exe 不受限的

C:WINDOWSsystem32services.exe 不受限的

C:WINDOWSsystem32smss.exe 不受限的

C:WINDOWSsystem32spoolsv.exe 不受限的

C:WINDOWSsystem32svchost.exe 不受限的

C:WINDOWSsystem32winlogon.exe 不受限的

先完全允许正常路径下这些进程,再屏蔽掉其他路径下仿冒进程

csrss.* 不允许的 (.* 表示任意后缀名,这样就涵盖了 bat com 等等可执行的后缀)

ctfm?n.* 不允许的

lass.* 不允许的

lssas.* 不允许的

rund*.* 不允许的

services.* 不允许的

smss.* 不允许的

sp???sv.* 不允许的

s??h?st.* 不允许的

s?vch?st.* 不允许的

win??g?n.* 不允许的

4、如何保护上网的安全

在浏览不安全的网页时,病毒会首先下载到IE缓存以及系统临时文件夹中,并自动运行,造成系统染毒,在了解了这个感染途径之后,我们可以利用软件限制策略进行封堵

%SYSTEMROOT% asks***.* 不允许的 (这个是计划任务,病毒藏身地之一)

%SYSTEMROOT%Temp***.* 不允许的

%USERPROFILE%Cookies*.* 不允许的

%USERPROFILE%Local Settings***.* 不允许的 (这个是IE缓存、历史记录、临时文件所在位置)

另外可以免疫一些常见的流氓软件

3721.* 不允许的

CNNIC.* 不允许的

*Bar.* 不允许的

等等,不赘述,大家可以自己添加

注意,*.* 这个格式只会阻止可执行文件,而不会阻止 .txt .jpg 等等文件

另外演示两条禁止从回收站和备份文件夹执行文件的规则

?:Recycler***.* 不允许的

?:System Volume Information***.* 不允许的

5、如何防止U盘病毒的入侵

这个简单,两条规则就可以彻底搞定

?:autorun.inf 不允许的

?:*.* 不允许的

6、预防双后缀名的典型恶意软件

许多恶意软件,他有双后缀,比如 mm.jpg.exe

由于很多人默认不显示后缀名,所以你看到的文件名是 mm.jpg

对于这类恶意,我本来想以一条规则彻底免疫

*.*.* 不允许的

可是这样做了之后,却发现我的ACDSee 3.1 无法运行

于是改成

*.???.bat 不允许的

*.???.cmd 不允许的

*.???.com 不允许的

*.???.exe 不允许的

*.???.pif 不允许的

这样5条规则,ACDSEE没有问题了。我现在还没搞清楚,我的ACDSEE并没有双后缀,为何不能运行

7、其他规则

注意 %USERPROFILE%Local Settings***.* 这条规则设置后,禁止了从临时文件夹执行文件,那么一些自解压的单文件就无法运行了,因为这类文件是首先解压到临时文件夹,然后从临时文件夹运行的。如果你的电脑中有自解压的单文件,那么,删除这条规则,增加3条:

%USERPROFILE%Local SettingsApplication Data***.* 不允许的

%USERPROFILE%Local SettingsHistory***.* 不允许的

%USERPROFILE%Local SettingsTemporary Internet Files***.* 不允许的

威金的预防,很简单三条

logo?.* 不允许的

logo??.* 不允许的

_desktop.ini 不允许的

小浩病毒的预防

xiaohao.exe 不允许的

禁止conimi.exe进程

c?nime.* 不允许的

禁止QQ自动更新

QQUpdateCenter.exe 不允许的

TIMPlatform.exe 不允许的

禁止遨游自动更新

maxupdate.exe 不允许的

禁止小红伞C版的广告

avnotify.exe 不允许的

………………………………

就不一一列举了

大家根据自己的实际情况来设置吧

3)软件限制策略的优先级,从高到底排列如下:

散列规则
证书规则
路径规则(包含注册表路径规则)
Internet区域规则

路径规则优先权
如果有多个匹配的路径规则,则最具体的匹配规则优先权最高。以下一组路径按优先权从最高(最具体的匹配)到最低(最一般的匹配)排序:

Drive:\Folder1\Folder2\FileName.Extension

Drive:\Folder1\Folder2\*.Extension

*.Extension

Drive:\Folder1\Folder2\

Drive:\Folder1

最后附上我自己精简后的规则,比较大众化,下载解压后直接运行即可

运行前,先备份C:WINDOWSsystem32GroupPolicyMachineRegistry.pol 这个文件

如果导入规则出现不良反应,可以用原文件替换回去

有兴趣的朋友可以深入研究,不良反应究竟是触发了哪一条规则,如何设置能达到最佳效果


附带啰嗦一句,现在很多病毒采用劫持IFEO的方法,致使杀毒软件无法启动。解决方法如下:

打开注册表编辑器,找到

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options

右击——权限,取消所有用户的写入、修改权限,仅保留读取和删除权限

规则导入完成之后,利用NTFS格式的安全设定,设置Registry.pol 的权限,取消所有用户的修改、写入和删除权限,这样恶意软件便不能修改或删除这个规则了

同理,可以利用NTFS的权限设置,保护任意文件不被修改和删除,和软件限制策略相辅相成,达到HIPS的FD功能。

这个是FAT格式无法享有的优越性

关于环境变量(假定系统盘为 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

%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

注:

1. 通配符 * 并不包括斜杠 。例如*WINDOWS 匹配 C:Windows,但不匹配 C:SandboxWINDOWS

2. * 和 ** 是完全等效的,例如 ****abc = **abc

3. C:abc* 可以直接写为 C:abc 或者 C:abc,最后的* 是可以省去的,因为软件限制策略中已经存储了执行文件类型作为 * 的内容了。(指派的文件类型)

4. 软件限制策略只对“指派的文件类型”列表中的格式起效。例如 *.txt 不允许的,这样的规则实际上无效,除非你把TXT格式也加入“指派的文件类型”列表中。

5. * 和 *.* 是有区别的,后者要求文件名或路径必须含有“.”,而前者没有此限制,因此,*.* 的优先级比 * 的高

6. ?:* 与 ?:*.* 是截然不同的,前者是指所有分区下的每个目录下的所有子文件夹,简单说,就是整个硬盘;而 ?:*.* 仅包括所有分区下的带“.”的文件或目录,一般情况

下,指的就是各盘根目录下的文件。那非一般情况是什么呢?请参考第7点

7. ?:*.* 中的“.” 可能使规则范围不限于根目录。这里需要注意的是:有“.”的不一定是文件,可以是文件夹。例如 F:ab.c,一样符合 ?:*.*,所以规则对F:ab.c下的所有文件及子目录都生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: