Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

网络安全扫描工具Nessus(下)

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  经过前面的介绍,相信大家已经了解到Nessus的强大功能了。现在你可能会耽心她的工作效率,特别是对一个具有相当规模的局域网来进行一个全面的安全扫描,将会是一个相当漫长的过程,而且在进行安全扫描的过程当中也会占用一定的网络带宽。如此一来用户必须挑选时间进行安全扫描,以避开网络使用的繁忙期,这岂不是很伤脑筋?

  其实Nessus的开发者们就想到这些问题了,通过适当的设置您就可以实现后台扫描和断点续查等功能。只不过这些功能的使用都建立在KB saving之上。KB即资料库(knwledge base),其中保存了从被扫描主机中收集来的信息,包括主机中打开的端口、主机的操作系统类型等。它首先是为了减少多余的测试,比如说:插件A扫描的结果可以共享给其它插件使用。测试结束后KB将会从内存释放,在下一次扫描中再重新使用。它设计的出发点是尽量利用其它的检查结果,减少占用网络资源,同时也能提高工作效率。

1.KB saving

  KB 保存功能是一个实验功能,所以在缺省的情况下它并没有被激活。这里实验功能并不代表着其代码中含有的许多bug,只是因为这个功能是在nessus1.0版以后才被开发出来的,而1.0版本是一个运行稳定的版本,所以将该功能做为缺省的功能在1.0版本中打开,可能会对1.0版本的运行带来潜在的不稳定因素。在Nessus1.1.0及后继版本中KB保存功能将会被做为缺省开启的。

  打开KB saving功能,需要重新编译nessus:

./configure –enable-save-kb
make
make install

   编译安装完毕后,运行nessusd –d 确认KB保存功能已经被开启:

/usr/local/sbin/nessusd -d
This is Nessus 1.0.5 for Linux 2.2.16-3
compiled with gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
Current setup :
Experimental session-saving : disabled
Experimental KB saving : enabled
Thread manager : fork
Crypto layer : peks/0.8
nasl : 1.0.5
libnessus : 1.0.5
Running as euid : 0

  运行客户端程序会出现一个新的选项,如下图所示:

图-1

  需要在客户端选择“Enable KB saving”才能激活这些功能,这样,收集到的远程主机的所有相关内容都会保存到硬盘上,如下图所示:

图-2

  如果你只选择该选项,nessusd也只做这一项动作,即保存你在远程主机上所在的测试的所有数据,仅此而已,这样还没有体现出它的优势。每个主机的测试内容都会分别保存在一个文件中。这些文件位于:/usr/local/var/nessus/username/kds目录中。Username是用户登录到nessusd的用户名。

  在激活了”Enable KB saving”以后,以后的操作可以减少测试主机的工作量,当然这是建立在用户已经进行扫描所收集的数据资料之上的。用户可以选择只对资料库中已有的主机进行扫描,也可以选择扫描资料库中没有的主机,或者选择扫描已经过了时间期限的主机。

  为了完成这几种扫描功能,KB saving提供了以下三个选项如下图,这三个选项分别是:“Test all hosts”,”Only test hosts that have been tested in the past”,”Only tests hosts that have never been tested in the past”。

图-3

  这三个选项分别完成的功能是:

If Test all hosts:该选项将对用户设定的全部主机进行扫描。
Only test hosts that have been tested in the past:只对资料库中已有的主机,也就是以前曾经扫描过的主机再进行一次扫描。这样在target中设置的主机范围内,只对上一次进行测试的主机进行扫描,减少了扫描占用的网络带宽。
Only test hosts that have never been tested in th past:对以前从未扫描过的主机或是超过指定时间未进行的扫描的主机进行扫描,这样将会在资料库中建立新的数据。

  重复使用资料库中保存的数据是比较危险的,对于假设的这种情况:如果一台前天刚经过扫描的主机,在昨天被黑客攻入,黑客在主机主开启了一个服务端口,这时如果我们按照资料库的记录进行扫描就不会扫描这个端口。但是另一方面,对于一个安全性比较好的网络,利用历史扫描资料库可以节少大量的时间,提高扫描速度,用节省下来的时间对主机进行指定的安全检查。

  选中Reuse the knowledge bases about the hosts for the test,

图-4

  则在进行扫描时nessusd会使用调入到内存中的旧资料库,用以下几个选项可以控制nessusd的下一步操作:

图-5

  如果选择了”Do not execute scanners that have already been executed“,扫描时将不会使用以前使用过的扫描插件,下面的三个选项也是对扫描选使用的插件进行了相同的限制。如果你只是想利用最新下载的plugins进行安全检查,应该将这三个选项全部选中。

  前面提到了资料的时间期限问题,这个期限是可以设置的,max age of a saved KB定义了资料库中数据的有效期,它的缺省值是864000(单位秒),即10天,过了这个时间期限的数据都要做废,要重新进行扫描获取新的资料,该参数可以根据你的实际情况进行灵活设置。

图-6

2.断点续查(session-saving)

  有些时候,负责发起安全扫描的主机会因为某种原因down掉,这样就需要重新进行安全扫描,这无疑是一个既消耗时间,又消耗网络带宽的过程。为了解决这个问题,nessus引进了session-saving功能。该功能可以使得新的扫描过程从上一次中断的地方开始,所以我称之为断点续查。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:WEB安全工具   下一篇:SNARE-系统入侵分析和报告环境

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号