基于Nessus的漏洞扫描系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012.11
21
基于Nessus 的漏洞扫描
系统设计与实现
王景中 王雷硕
北方工业大学信息工程学院 北京 100144
摘要:本文介绍了基于Nessus 的漏洞扫描系统设计结构,分析了Nessus 漏洞扫描工具及其代码结构,设计出了基于Nessus 的漏洞扫描系统,详细阐述了漏洞扫描系统的框架;给出了预定IP 范围模块、配置漏洞扫描策略模块、预定插件集模块的详细设计;最后给出了实验结果及分析。
实验表明,该系统对目标主机的漏洞检测是较为有效的。
关键词:网络安全;漏洞扫描;Nessus 插件库;Web
0 引言
随着网络影响力的日益扩大,漏洞扫描系统也随之出现。
早期的漏洞扫描程序是专门为Unix 编写的,随后情况便发生了变化,现在几乎每一个平台都出现了扫描程序,扫描程序对提高Internet 的安全性有很大的帮助。
近年来随着扫描软件的发展,已
经出现了众多扫描工具,如Acunetix 公司的Acunetix Web Vulnerability Scanner, Watchfire 的AppScan 和N-Stalker 的N-Stealth 等,另外还有一些免费的扫描软件,如X-scan ,Nessus 等。
2003年文献[1]设计了安全漏洞扫描系统并且在此基础上实现了一个脚本自动生成器,极大地方便了漏洞插件的编写。
2008年文献[2]设计了基于多台扫描服务器的分布式网络漏洞扫描系统,弥补了传统扫描系统在应用过程中的不足,系统会根据运行情况调控各扫描服务器负载,保证系统正常运转。
2012年文献[3]设计了一款防火墙漏洞扫描系统,该系统可以利用漏洞扫描来弥补防火墙的不足,两者相结合使得网络更加安全。
以上这些漏洞扫描系统都有各自的优点,但是都存在着扫描效率低下的问题。
本文主要设计并实现基于Nessus 的漏洞扫描系统,充分利用了Nessus 插件易于编写,扫描效率高等优点,实现对目标主机高效全面的漏洞扫描。
1 Nessus 漏洞扫描器
本漏洞扫描系统使用的是Nessus 扫描工具,Nessus 采用插件技术,插件是由NASL 脚本语言编写的,用户通过控制
台选择需要扫描的漏洞对目标主机进行模拟攻击,用户如果想要加入新的扫描漏洞,只需加入新的插件即可。
Nessus 的扫描过程分为两个阶段:第一个阶段为端口扫描阶段,在该阶段判断目标主机所开放的端口。
第二阶段为探测阶段,在该阶段Nessus 判断操作系统的类型及开放的服
务,并调用相应的插件对指定的目标进行扫描。
2 系统设计与实现 2.1 系统框架
本系统采用Nessus 做服务器程序,采用Web 方式对扫描系统进行管理。
管理员只需要登录浏览器便可以对目标主机进行扫描,对扫描服务器进行配置管理,以及生成扫描报告。
本漏洞扫描系统由下面几部分组成:
(1) 扫描引擎:如果扫描系统采用的是匹配检测方法,则扫描引擎会将用户在界面配置的相应信息以数据包的形式发给目标主机,目标主机会做出相应的应答,将应答信息与漏洞库进行比较,如果匹配则说明漏洞存在。
如果采用插件技术,则扫描引擎会根据用户的配置调用扫描方法库的模拟攻击代码对目标主机进行攻击,如果攻击成功则说明漏洞存在。
(2) 控制台:主要用来让用户配置要扫描的目标主机,指定其IP 地址或范围和要扫描的漏洞,通常为客户端或浏览器。
(3) 扫描知识库:扫描知识库监控当前活动的扫描,将
要扫描的漏洞的相关信息提供给扫描引擎,同时还接收扫描
2012.11
22
引擎返回的扫描结果。
(4) 结果存储器和报告生成工具:根据扫描知识库的扫描结果生成扫描报告。
(5) 漏洞数据库(扫描方法库):漏洞数据库包含了各种漏洞信息,扫描方法库包含了针对不同漏洞的模拟攻击插件。
匹配检测法使用漏洞数据库,插件技术则使用扫描方法库。
漏洞扫描系统的结构如图1所示。
图1 漏洞扫描系统总体结构
由图1可知漏洞扫描系统的工作原理:首先用户通过控制台向扫描引擎发送配置的信息,扫描引擎接收到请求后,如果是使用匹配检测法则对目标主机进行扫描,并把目标主机返回的信息与漏洞库的漏洞信息相匹配,如果是使用插件技术,则调用扫描方法库的模拟攻击代码,对目标主机进行攻击,最后利用扫描知识库存储的扫描结果生成扫描报告通过用户配置控制台展示给用户。
2.2 控制台设计
本系统设计的主要任务是实现控制台的设计。
控制台流程图如图2所示,其流程如下。
图2 Web 管理中心流程图
管理员在漏洞扫描策略界面配置扫描的目标IP ,选择扫描插件、扫描线程数量、允许同时扫描主机数、扫描端口等。
然后开始扫描,扫描结束后生成扫描报告,并将扫描报告信
息存入扫描数据库。
2.3 控制台各功能模块的实现
如图3所示,漏洞扫描策略模块完成对所有扫描策略的配置和管理,用户登录到该界面点击添加就可以添加策略信息,添加策略界面如图4所示。
在添加策略界面上输入策略名称,设置ip 地址,选择插件和扫描的端口号,点击保存就可以在列表中看到添加的策略名。
点击执行扫描就可以执行相应的扫描任务。
图3 漏洞扫描策略界面
图4 添加策略界面
3 实验 3.1 实验环境
漏洞扫描系统的实验环境分为硬件环境和软件环境。
硬件环境包括处理器,内存,适配器和其他标准PC 部件等。
软件环境为Windows 或linux 操作系统,另外需要电源线,网线,串口线等相关配件。
3.2 扫描目标
具体扫描目标如下:
在添加策略界面中设置扫描IP 段192.168.1.2-192.168.1.254,对该IP 网段进行漏洞扫描。
添加的配置信息如图5所示。
图5 添加信息成功的添加策略界面
2012.11
23
3.3 实验过程
Nessus 扫描引擎依次调用用户在控制台所配置的插件对目标主机进行漏洞扫描,扫描出的漏洞最后以报表的形式呈现给用户。
3.4 实验结果及分析
Nessus 扫描后生产的报表如图6所示。
Nessus 扫描报告发现安全等级为危险的主机数2台,安全等级为比较危险的主机数10台,安全等级为比较安全的主机数7台,安全等级为安全的主机数9台,网络安全等级为比较危险。
图6 Nessus 扫描报告
实验结果表明基于Nessus 的漏洞扫描系统可以高效快速的扫描出目标主机存在的漏洞,并把扫描结果反映给用户。
4 结束语
本文设计并实现了基于Nessus 的漏洞扫描系统,扫描工具使用的是Nessus 扫描软件。
该系统具有如下特点:可移植性强。
因为本系统是基于B/S 架构的,用户只需打开浏览器便可进行扫描,无需下载客户端。
提供详细的扫描报告。
系统对目标扫描结束后会生成扫描报表,详细的列出了主机的漏洞安全状况,便于管理员对主机进行管理和修复。
通过运行及测试,结果证明该系统达到了用户的需求。
参考文献
[1]刘云皓.基于网络的安全漏洞扫描技术研究与系统实现[D]. 西北工业大学.2003.
[2]王博.Nessus 网络漏洞扫描器的管理与研究[D].天津大学.2008.
[3]李莹.基于网络安全的防火墙漏洞扫描技术[J].电脑知识与技术.2012.
[4]张静媛,黄丹丹,杨晓彦.Nessus 基本原理及其关键技术分析[J].电子科技.2006.
[5]龚静.论计算机网络安全与漏洞扫描技术[J].株洲工学院学报.2005.
[6]邢丹,李艺.插件在Nessus 中的实现[J].装备指挥技术学院学报.2005.
Design and Implementation of Network Vulnerability Scanning System based on Nessus Wang Jingzhong,Wang Leishuo
College of Information Engineering, North China University of Technology, Beijing,100144,China
Abstract:In this paper,we present the design structure of Network Vulnerability Scanning System and analyze the code structure of Nessus vulnerability scanning tool, and then design a Network Vulnerability Scanning System based on Nessus.Firstly,we introduce the framework of Network Vulnerability Scanning System which was divided into IP range module,vulnerability scanning strategy configuration module, reservation plugin set module.All these modules are designed particularly. The experiment shows that the leak detection of system on the target host is more effective.
Keywords :network security ;vulnerability scanning;Nessus Plugin library;Web。