如何简化Nessus安全扫描
2008-09-10 13:22:58 来源:WEB开发网们来看看如何简化Nessus安全扫描程序。除非你有一个十节点的测试网络,否则对于破坏系统和减缓运行速度的问题而言,扫描整个网络不失为一种快捷高效的方法。我见到过这样的情况:由于开放式连接消耗了服务器的内存, Nessus扫描导致整个QA支网渐渐停止运行。将网络分为更小的单元、易于管理的IP空间、以及在电子数据表中维护数据,你就可以避免这样的情况发生。这种方法考虑到了更为智能的扫描,甚至在使用一些缺乏重型企业管理功能的普通工具或者开源工具时都可以运行扫描。
所需的工具
你需要一个电子数据表程序,比如Microsoft Excel或者OpenOffice (openoffice.org)。对于扫描工具而言,你可能需要使用商业扫描器,或者下载Nessus (nessus.org)和 NMAP (insecure.org)
第一步:收集库存
创建一个电子数据表,列出你管理的所有系统,并得出如下的表格:
管理的系统 | 内部IP地址 | 外部地址 | 主机名称 | 全域名 | 操作系统 | 版本 | 目的 | 类型 | 系统主人 | 危险程度 |
这样就可能得到如下的记录设置:
管理的系统内部IP地址外部地址主机名称全域名操作系统版本目的类型系统主人危险程度
管理的系统 | 内部IP地址 | 外部地址 | 主机名称 | 全域名 | 操作系统 | 版本 | 目的 | 类型 | 系统主人 | 危险程度 |
(系统) | 192.168.1.23 | 65.214.43.37 | web02 | www.infosecmag.com | LINUX | 2.4.2 | 公共网络被服务 | 服务器 | 信息管理系统团队 | 高 |
完善网络的初始库存,难度比较大。这需要整个晚上才能完成对整个网络的扫描。然而,一旦你已经有了目录,很长一段时间里,你就不再需要采取大范围扫描这种方法。如果你已经有了网络的目录,那么直接进入第二步。
对于大型网络而言,最好的方法是以NMAP或者Nessus扫描程序为开始,收集主机名和相关的信息。虽然获取用户和目的数据资料需要花费一些时间,但是慢慢会收集齐这些数据的。只要你在网络上去除一个携带高风险漏洞的系统,系统的主人通常会很快现身。详细说明一些与网络相连接的系统的IP地址、主机名、FQDN(如果知道的话)和操作系统方面的信息。在电子数据表格中输入现有的数据,或者运行扫描程序,如果有用逗号隔开的信息,需要将其转存
第二步:系统分类
下一步是通过操作系统、逻辑地址和物理地址,对电子数据表格中的主机列表进行分类。网络构型和用户的不同导致分类的不同。比如,我会将我的网络分为波士顿地址和纽约地址。我又将波士顿的地址空间分为/24个支网络,底部的服务器要与其它的工作站区分开来。
一般来讲,我建议你使用工作表中的分类功能,首先根据危险程度对数据分类,然后再根据目的的不同进行分类。这样,就可以将Web服务器、不是很重要的桌面和R&D系统区分开来,即使它们的地址均为/24网络。下一个分类的是操作系统和版本。当安全漏洞扫描的目标是一个特殊的操作系统和版本时,这样分类的好处就体现出来了。你可以快速确定哪些系统是有漏洞的,以及系统的危险程度。可以帮助你确定修补次序。
你可以用任何方式来对数据进行分类,以满足特殊的安全需求。这只是我实际工作中得出的一些有用选择。此外,如果系统需要,在运行扫描时,你可以采取合适的预防工作,以防储存耗损。你也可以用自己喜欢的方式扩展电子数据表格。
第三步:扫描
你的系统已经分解为易于管理的部分,那么下一步是启动扫描工作。在Nessus扫描中,我一般用与电子数据表格中相同的名称来命名新的扫描任务。比如,我会用“生产型 Web 服务器”来命名一项任务,它包含了数据表中相关服务器组中的所有IP地址列表。或者我会用“纽约台式机”来命名任务,同样也是与数据表中的名称相同。这种方法提供了一个简化的仪表盘式的界面,这样建立任务时,很容易就可以锁定特殊环境。
由于这种命名方式可以将扫描器使用的插件数量最小化,精简到只满足特殊平台的需求,因此协调任务的名称可以给你带来益处,提高运行性能。在上面的例子中,我有一份生产型Web服务器的列表。如果它们全都是在Linux系统上运行的,那么我的插件选择就只限于少数平台特有的问题。如果你有Linux Web服务器,那么就没有理由浪费网络带宽,扫描Windows漏洞。
大多数扫描工具会接受上面提到的一系列命名。如果你使用的不是Nessus工具,那你需要仔细检查你的产品文本,产品文本中是关于如何使你的特殊扫描器接受定义扫描的档案。
如果你像Nessus之类的端口扫描器,那么你最好把目标文件分类为简单的表格形式文本文件。比如,我可以通过使用NMAP来剪切、粘贴或者输出Web服务器列表到可用的文本文件中。NMAP有一个标志,通过这个标志外部文件可以用来列举扫描的主机。下面是来自NMAP MAN主页的文本:
-iL
阅读专用文件的目标规范,而不是指令的目标规范。文件应该包含一列主机或网络符号,这些符号由留间隔、表格或换行符隔开。如果你想用n map指令从stdin.中读取主机符号,使用连字号(-)作为输入文件的名称。
同时运行NMAP和全面扫描,这大有益处。比如,最近的W32/NetSky-Z病毒,可以在TCP端口665上打开秘密监听功能。如果我仅仅使用现在的扫描器,为了查找到这种病毒,我就需要扫描所有的Windows分支网络。但是,由于我配置了NMAP主机文件,我就可以运行三条指令,使用端口标志,仅对665端口扫描。该扫描最多只需要15分钟。
建立一份电子数据表格,将你的网络分成更易于管理的IP空间。这可能需要花费一些时间。然而,当你发现指尖之下有一个性能强大的漏洞管理系统时,你就会觉得早期投资一些时间建立一份电子数据表格,是完全值得的。
更多精彩
赞助商链接