单位的网络管理员肯定都遇到过这种困扰,老板不希望员工在工作的时间聊QQ或者玩游戏,而总有员工会私下里安装被禁止的软件。怎样避免这种情况?虽然有监控软件可以用,不过这样显得有些侵犯隐私。同时还有一种很麻烦的情况,现在越来越多的病毒通过电子邮件传播,很多人都是无意中运行了电子邮件的附件而中毒的,有没有什么好的手段 可以避免员工运行来历不明的文件?现在好了,如果你的客户端是Windows XP Professional,那么就可以使用其中的软件限制策略。
简单来说,软件限制策略是一种技术,通过这种技术,管理员可以决定哪些程序(虽然这里用了“程序”这个字眼,不过不单指exe文件,我们可以通过该技术限制任何类型扩展名的文件被执行)是可信赖的,而哪些是不可信赖的,对于不可信赖的程序,则系统会拒绝执行。通常,管理员可以让系统使用以下几种方式鉴别软件是否可信赖:文件的路径、文件的哈希(Hash)值、文件的证书、文件被下载的网站在Internet选项中的区域、文件的发行商、特定扩展名的所有文件,以及其他强制属性。
软件限制策略不仅可以在单机的Windows XP操作系统中设置,可以设置仅影响当前用户或用户组,或者影响所有本地登录到这台计算机上的所有用户;也可以通过域对所有加入该域的客户端计算机进行设置,同样可以设置影响某个特定的用户或用户组,或者所有用户。我们这里会以单机的形式进行说明,并设置影响 所有用户。单机和工作组环境下的设置和这个是类似的。另一方面,有时我们可能因为错误的设置而导致某些系统组件无法运行(例如禁止运行所有msc后缀的文件而无法打开组策略编辑器),这种情况下我们只要重新启动系统到安全模式,然后使用Administrator账号登录并删除或修改这一策略即可。因为安全模式下使用Administrator账号登录是不受这些策略影响的。
在本例中,我们假设了这样的应用:员工的计算机仅可运行操作系统自带的所有程序(C盘),以及工作所必须的Word、Excel、PowerPoint和Outlook,其版本号皆为2003,并假设Office程序安装在D盘,员工电脑的操作系统为Windows XP Professional。
运行Gpedit.msc打开组策略编辑器,仔细看就可以发现,在“计算机配置”和“用户设置”下都各有一个软件限制策略的条目,到底使用哪个?如果你希望这个策略仅对某个特定用户或用户组生效,则使用“用户配置”下的策略;如果你希望对本地登录到计算机的所有用户生效,则使用“ 计算机配置”下的策略。这里我们需要对所有用户生效,因此选择使用“计算机配置”下的策略。
在开始配置之前我们还需要考虑一个问题,我们所允许的软件都有哪些特征,而禁用的软件又有哪些特征,我们要想出一种最佳的策略,能使所有需要的软件正确运行,而所有不必要的软件一个都无法运行。在本例中,我们允许的大部分程序都位于系统盘(C盘)的Program Files以及Windows文件夹下,因此我们在这里可以通过文件所在路径的方法决定哪些程序是被信任的。而对于安装在D盘的Office程序,也可任意通过路径或者文件哈希的方法来决定。
点击打开“计算机配置”下的软件限制策略条目,接着在“操作”菜单下点击“创建新的策略”(目前在安装SP1的XP上,这里默认是没有任何策略的,但是对于安装SP2的系统,这里已经有了建好的默认策略),系统将会创建两个新的条目:“安全级别”和“其它规则”。其中在安全级别条目下有两条规则,“不允许的”和“不受限的”,其中前者的意思是,默认情况下,所有软件都不允许运行,只有特别配置过的少数软件才可以运行; 而后者的意思是,默认情况下,所有软件都可以运行,只有特别配置过的少数软件才被禁止运行。因为我们本例中需要运行的软件都已经定下来了,因此我们需要使用“不允许的”作为默认规则。双击这条规则,然后点击“设为默认”按钮,并在同意警告信息后继续。
接着打开“其他规则”条目,可以看到,默认情况下这里已经有四个规则,都是根据注册表路径设置的,而且默认都设置为“不受限的”。强烈提醒你,千万不要修改这四个规则,否则你的系统运行将会遇到很大麻烦,因为这四个路径都涉及到了重要系统程序及文件所在的 位置。同时,我们前面说过的,位于系统盘下Program Files文件夹以及Windows文件夹下的文件是允许运行的,而这四条默认的规则已经包含了这个路径,因此我们后面要做的只是为Office程序添加一个规则。在右侧面板的空白处点击鼠标右键,选择“新建哈希规则”,然后可以看到下图的界面。在这里点击“浏览”按钮,然后定位所有允许使用的Office程序的可执行文件(还记得分别是什么吗?winword.exe、excel.exe、powerpnt.exe、outlook.exe),并双击加入。接着在“安全级别”下拉菜单下选择“不受限的”,然后点击确定退出。重复以上步骤,把这四个软件的可执行文件都添加进来,并设置为不受限的。
到这里大家可以考虑一个问题,为什么我们选择为每个程序的可执行文件建立哈希规则?统一为Office应用程序建立一个路径规则不是更简单?其实这样才可以避免可执行文件被替换,或者用户把一些不需要安装的绿色软件复制到这个目录下运行。因为如果建立的是目录规则,那么所有保存在允许目录下的文件都将可以被执行,包括允许程序本身的文件,也包括用户复制进 来的任何其他文件。而哈希规则就不同了,一个特定文件的哈希值是固定的,只要文件内容不发生变化,那么它的哈希值就永远不会变。这样也就避免了造假的可能。不过同时也存在一个问题,虽然文件的哈希值可以不变化,但是文件本身可能会需要某些改变。例如你安装 了一个Word的补丁程序,那么winword.exe文件的哈希值可能就会变化。因此如果你选择创建这种规则,每当软件更新后你也需要看情况同步更新一下相应的规则。否则正常程序的运行也会被影响。
除此之外,这里还有几条策略可以被我们利用:强制,可以限定软件限制策略应用到哪些文件以及是否应用到Administrator账户;指派的文件类型,用于指定具有哪些扩展名的文件可以被系统认为是可执行文件,我们可以添加或删除某种类型扩展名的文件;收信任的出版商,则可以用来决定哪些用户可以选择收信任的出版商,以及信任之前还需要采取的其他操作。这三个策略可以根据自己的实 际情况作出选择。
当软件显示策略设置好之后,一旦被限制的用户试图运行被禁止的程序,那么系统将会立刻发出警告并拒绝执行。