ForeFront毋庸置疑,是一款比较完美的安全工具。不过其同其他软件一样,如果部署或者维护不当,也会发发脾气。借助这个机会,笔者总结一下自己在部署与维护ForeFront过程中经常遇到的问题。就当作抛砖引玉,帮助各位读者以后少走冤枉路。
常见问题一:CPU占用率居高不下。
有时候部署完ForeFront之后,管理员会发现系统中有一个Svchost进程CPU占用率一直居高不下。这主要是因为包含Wuauserv实例的Svchost进程可能在运行ForeFront代理的计算机上无限使用CPU所造成的。
当然在微软的操作系统中,CPU占用率达到100%且持续很长的一段时间,这种情况比较多见,也并不见得是ForeFront系统惹的祸。此时管理员就需要确定,到底是不是ForeFront导致了CPU过渡使用问题。笔者这里采用的是排除法,可以根据如下步骤来进行判断。
第一步查看任务管理器中的相关信息。打开操作系统的任务管理器。在任务管理器中,单击进程选项卡, 在查看菜单上单击选择列,会出现如下的对话框。然后选中“PID进程标识符”复选框,单击确定。此时在任务管理器中,就会对了一列PID。这是进程在后台对硬的一个进程序列号。在任务管理器中的进程选项卡上,找到CPU使用率达到100%的Svchost进程,并记录下其PID号。

第二步打开操作系统的命令行窗口,然后使用Tasklist /svc命令,系统就会列出相关的进程与所占用CPU的时间。系统管理员需要找到占用处理器时间的Svchost的PID,并确定Wuausery是否处于这个实例的服务列。如果包含Wuauserv的Svchost实例占用了100%的处理器时间,那么笔者不幸的要告诉你,这是由于Forefront部署不当所造成的。管理员需要采取以下的措施来解决问题。
原因分析:
如果在部署Forefront的时候部署不当,那么就有可能会出现如上的问题。笔者分了一下,之所以CPU使用率占用了100%,大部分情况出现在当WSUS服务器上存在大量适用却已经被取代的更新的时候。一般情况下更换更快的CPU也不能够解决问题。如果WSUS服务器配置不当的话,就有可能导致这种情况。如当按照如下进行配置的话,这个问题出现的几率就会比较高。
在WSUS的高级选项卡的选项和自动批准下,分别选择了“自动批准更新的最新补丁”和“当更新到期时拒绝更新”的复选框。显而易见,这两个选项有点自相矛盾的一面。一方面自动批准,另一方面又是拒绝更新。此时如果补丁数量比较多的花,就会让CPU无所适从。久而久之,就导致CPU的使用率达到100%。
解决措施:
要解决这个问题,一个比较简便的方法就是以上两个选项只选中一个。如可以在WSUS服务器上,明确拒绝已取代的所有更新。一般情况下,如此设置的话,在窗口的底部会看到如下的提示信息:选定的更新已到期,并且不能够批准安装或者检测,建议拒绝此更新等信息。不过更新仍然是需要的。此时要用户手工批准并安装更新。显然这个解决措施给管理员增加了额外的工作量。
两个互相矛盾的选项可以同时选择。显而易见这是系统自身的漏洞所造成的。自从发现这个问题之后,微软为此专门出了一个补丁。系统管理员可以将这个补丁下载下来,并进行安装。从而彻底解决这个漏洞对系统运行带来的负面影响。
常见问题二:使用FCSLocalPolicy命令时提示“访问被拒绝”错误信息。
有时候Forefront系统管理员可能需要将基于ClientSecurity的注册表策略合并到本地注册表中,以简化管理与提高性能。此时系统提供了一个命令来完成这个操作,而不用管理员手动的一个个更新。此时需要用到的命令是FCSLocalPolicy。
不过这个命令如果在Vista操作系统上适用可能会遇到一个小麻烦。在使用这个命令将注册表策略合并到本地注册表中的时候,系统可能会提示“访问被拒绝”的错误信息。遇到这种情况的话,系统管理员该如何排除这个故障呢?
原因分析:
在微软操作系统中,修改注册表往往需要比较高的权限。在XP或者2003操作系统中,只要用户具有注册表的修改权限即可。但是在Vista操作系统中,对于这一点要求有点“变态”,其必须以管理员身份才能够修改注册表。也就是说,即使某个用户具有注册表的修改权限,但是如果没有管理员身份的话,仍然不行。
解决措施:
既然原因找到了,那么解决起来也就简单了。一个比较简便的方法就是提升用户的权限。如在Vista操作系统上可以如下操作。单击“开始”菜单,然后选择“所有程序”。再单击“附件”,右键单击“命令提示符”,然后单击“以管理员身份运行”。最后运行这个命令即可。由于以前在2003操作系统上使用这个命令来合并注册表的时候,没有遇到这个问题。而在Vista操作系统上发生这个问题的时候,让笔者一下子懵了。查看了很多资料,还询问了微软官方的专家之后,才找到了问题的原因,并想到了应对的措施。各位如果在Vista操作系统上部署Forefront软件的时候,需要注意这个问题。
常见问题三:针对同一客户端的警报会生成两次。
如现在Forefront检测到某个客户端受到恶意软件的感染。在Forefront系统的警报信息中会出现重复的警报。虽然这并不影响到系统的正常使用,但是会增加警报系统中的记录数量,不利于数据的分析。
原因分析:
这主要是Forefront自身的警报机制所造成的。通常情况下,当某个客户端受到恶意软件感染的话,客户端会生成两次警报。第一次警报针对组织中的恶意软件检测生成;第二次警报则是针对单独计算机上的恶意软件检测生成(虽然是同一个客户端所造成的,但是Forefront认为是不同的对象)。
解决措施:
这个问题也比较容易解决。在一些分析工具上,如SQL报表分析工具,都可以加入以西过滤条件。为此在分析Forefront警报信息的时候,可以加入相关的过滤语句,如只显示针对单独计算机的恶意软件警报信息等等。换句话说,无法从根本上避免这些重复记录,而只有从报表角度出发,进行过滤来解决这个问题。