科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道Windows组策略中软件限制策略的优先权

Windows组策略中软件限制策略的优先权

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对于Windows的组策略,也许大家使用的更多的只是“管理模板”里的各项功能。优先权按从高到低的顺序排列如下:散列规则 >证书规则 >路径规则 >Internet 区域规则  如果存在多个路径规则冲突,则最具限制性的规则占有优先权。

2008年8月22日

关键字: 操作系统 优先权 组策略 Windows

  • 评论
  • 分享微博
  • 分享邮件

  对于Windows的组策略,也许大家使用的更多的只是“管理模板”里的各项功能。对于“软件限制策略”相信用过的朋友们不是很多。

  软件限制策略如果用的好的话,相信可以和某些HIPS类软件相类比了。如果再结合NTFS权限和注册表权限,完全可以实现系统的全方位的安全配置,同时由于这是系统内置的功能,与系统无缝结合,不会占用额外的CPU及内存资源,更不会有不兼容的现象,由于其位于系统的最底层,其拦截能力也是其它软件所无法比拟的,不足之处则是其设置不够灵活和智能,不会询问用户。下面我们就来全面的了解一下软件限制策略。

  本系列文章将从以下几方面为重点来进行讲解:

  ·概述

  ·附加规则和安全级别

  ·软件限制策略的优先权

  ·规则的权限分配及继承

  ·如何编写规则

  ·示例规则

  今天我们讲述软件限制策略的优先权。

  一个特定的程序可以有多个不同的规则适用,为此,可以按下列优先权顺序来使用这些规则。

  优先权按从高到低的顺序排列如下:散列规则 >证书规则 >路径规则 >Internet 区域规则

  如果存在多个路径规则冲突,则最具限制性的规则占有优先权。总的原则就是:规则越匹配越优先。

  例如:

  C:\Windows\System32\Taskmgr.exe

  C:\Windows\System32\*.exe

  *.exe

  C:\Windows\System32\

  C:\Windows\

  本例是按优先权从高到低排列的。从这里我们可以看出:

  绝对路径 >通配符路径

  文件名规则 >目录规则

  对于同样是目录规则的,则目录数匹配越多就越优先。

  如果同时存在两个相似的规则,则最具限制性的规则优先权最高。例如,如果 C:\Windows\ 上有一个路径规则,其安全级别为“不允许的”,而 %windir% 上也有一个路径规则,其安全级别为“不受限制的”,则会采用最具限制性的规则,即“不允许的”。

  这里,我们再顺便介绍一下环境变量和通配符。

  在路径规则里,允许使用诸如“%windir%”“%userprofile%”之类的环境变量。一般情况下,我们的系统是在C盘,但也有些人基于其它一些原因如要安装双系统等,将系统安装在其它比如D盘下面,这时我们平常用到的一些路径比如“C:\windows\”就会无效,为了防止这种情况,我们就可以使用系统变量,像“%windir%”,系统会自动为我们匹配其目录。我们在创建规则的时候也可以使用这些环境变量,以适用于不同的系统。

  下面列出的是一些常使用的环境变量,更多的环境变量你可以运行 CMD 然后运行 SET 命令进行查看。

  ALLUSERSPROFILE = C:\Documents and Settings\All Users

  APPDATA = C:\Documents and Settings\Administrator\Application Data

  CommonProgramFiles = C:\Program Files\Common Files

  ComSpec = C:\WINDOWS\system32\cmd.exe

  HOMEDRIVE = C:

  HOMEPATH = \Documents and Settings\Administrator

  ProgramFiles = C:\Program Files

  SystemDrive = C:

  SystemRoot = C:\WINDOWS

  TEMP = C:\Documents and Settings\当前用户名\Local Settings\Temp

  TMP = C:\Windows\Temp

  USERPROFILE = C:\Documents and Settings\Administrator

  WINDIR = C:\WINDOWS

  同样,路径规则也支持使用通配符,对DOS熟悉的筒子应该知道这个东西,就是“?”和“*”。

   :包括1个或0个字符

  * :包括任意个字符(包括0个),但不包括斜杠

  对于通配符,其实网上很多教程上的做法是有误的。

  这条规则本意是 阻止所有被指派的文件从 Local Settings 目录(包括其子目录)启动,但是经过验证发现,“**”和“*”是完全等效的,并且“*”不包括“\”。那么这条规则的实际意思就是“阻止所有被指派的文件从 Local Settings 的一级目录运行”,不包括 Local Settings 目录本身,也不包括二级及其下的所有子目录。我们来看看 Local Settings 目录下的一级目录有哪些呢?默认情况下是:Temp、Temporary Internet Files、Application Data、History,那么这条规则里就包括有 禁止TEMP目录下的所有被指派的文件运行 的意思,其根本结果就是会造成很多软件无法安装。因为有些软件在安装时会先行解压到TEMP目录。

  影响最大(简直可以列入本年度十大最错误的做法中了)的一条:?:\autorun.inf “不允许的”

  相信对 软件限制策略 有研究的筒子都见过这条规则吧,这条规则的本意是阻止所有盘根目录下的 autorun.inf 文件运行,以阻止U盘病毒的运行。它也确实达到了它的目的, autorun.inf 文件双击的时候被阻止了。但病毒被阻止了吗?答案是否定的,病毒还是会被正常运行。

  为什么呢?我们来了解一下系统是怎么处理 autorun.inf 文件的。

  首先,svchost.exe 读取 autorun.inf,然后 explorer.exe 读取 autorun.inf,再然后 explorer.exe 将 autorun.inf 里的相关内容写入注册表中 MountPoints2 这个键值。只要 explorer.exe 成功写入注册表,那么这个 autorun.inf 文件的使命就完成了,U盘里的病毒就等着你去双击U盘了。

  那么我们的软件限制策略中,将 autorun.inf 设为”不允许的”这一做法在这个过程中起到什么作用?

  很遗憾地告诉你:没有任何作用。

  真要说它起到的作用,仅仅是阻止你打开 autorun.inf 这个文件而已。所以,对于 autorun.inf 的所有策略,都是无效的。

  真要想防止U盘病毒的运行,策略的设置只有一种方法:

  :\*.* 不允许

  意思就是阻止所有盘下面的被指派文件运行。当然,如果你只想阻止U盘下的文件运行的话,那就将规则里的“?”改为具体的盘符即可。

  下次我们介绍组策略规则的权限分配及继承。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章