一种基于SaaS架构的通用漏洞扫描器的实现方法与流程

文档序号:11279268阅读:566来源:国知局
一种基于SaaS架构的通用漏洞扫描器的实现方法与流程

本发明涉及互联网应用技术领域,尤其涉及一种基于saas架构的通用漏洞扫描器的实现方法。



背景技术:

随着互联网的兴起,不管是企业还是个人用户,都喜欢搭建web服务,在网络上展现企业产品、企业信息或个人的分享总结等,那么搭载web服务的系统也就暴露在网络中。如果web服务甚至系统中存在漏洞,系统极易被渗透攻击,导致保密信息被泄露,造成财产损失。所以web服务或系统设备在上线前,都需要进行漏洞扫描并修复。

传统的漏洞扫描器,不论是系统扫描还是web扫描,需要手工安装在一台物理主机上,创建扫描时需要进行一系列繁琐的手工配置,例如在大量的漏洞库中选择需要扫描的漏洞,配置扫描的超时时长,甚至是扫描器的并发度等,这些手工配置不仅繁琐,且要求使用人员具有一定的系统和web相关的专业知识。同时传统扫描器属于单机扫描,由于单台主机的资源有限,无法对大规模web站点或系统进行漏洞扫描。并且传统的漏洞扫描器需要用户自己规定时间进行手工触发,无法进行计划扫描,不易使用。



技术实现要素:

鉴于目前互联网应用技术领域存在的上述不足,本发明提供一种基于saas架构的通用漏洞扫描器的实现方法,能够克服传统漏洞扫描器的使用繁琐、无法扫描大规模站点和系统的缺点。

为达到上述目的,本发明的实施例采用如下技术方案:

一种基于saas架构的通用漏洞扫描器的实现方法,所述基于saas架构的通用漏洞扫描器的实现方法包括以下步骤:

建立一个具有多种扫描功能的扫描模块(包括但不限于物理机、虚拟机、容器);

建立一个统一的扫描管理模块,提供管理界面作为扫描的管理和结果呈现;

对扫描模块的扫描数据进行统一的结构封装后,在扫描管理模块 进行统一处理;

对漏洞库、扫描配置进行场景细分,包装成策略后部署到扫描模块和扫描管理模块中。

依照本发明的一个方面,所述扫描管理模块与扫描模块之间使用通用的通信协议进行通信。

依照本发明的一个方面,所述扫描管理模块和扫描模块部署在一个主机上,扫描管理模块接收到用户下发的扫描策略后,直接发送给本机的扫描模块进行相应策略的扫描。

依照本发明的一个方面,所述扫描管理模块、扫描模块部署在不同的虚拟机上,并搭建一套云平台。

依照本发明的一个方面,所述扫描管理模块虚拟机监控所述扫描模块虚拟机的系统负载。

依照本发明的一个方面,所述扫描管理模块虚拟机根据扫描策略的权值、各个扫描模块虚拟机的当前负载筛选出合适的扫描模块虚拟机进行扫描任务的分配。

依照本发明的一个方面,所述扫描管理模块虚拟机对扫描模块虚拟机进行状态监控,检测到扫描模块虚拟机故障后,进行故障任务迁移。

依照本发明的一个方面,所述扫描管理模块虚拟机对扫描模块虚拟机的负载进行监控,当负载趋小并稳定后,删除掉扫描任务分发时新建的虚拟机。

依照本发明的一个方面,所述对漏洞库、扫描配置进行场景细分,包装成策略后部署到扫描模块和扫描管理模块中可包括:为每种策略附加各自的权重,用于扫描调度。

本发明实施的优点:本发明所述的基于saas架构的通用漏洞扫描器的实现方法包括:建立一个具有多种扫描功能的扫描模块;建立一个统一的扫描管理模块,提供管理界面作为扫描的管理和结果呈现;对扫描模块的扫描数据进行统一的结构封装后,在扫描管理模块进行统一处理;对漏洞库、扫描配置进行场景细分,包装成策略后部署到扫描模块和扫描管理模块中,通过利用虚拟化技术,实现控制层,做扫描任务的调度和分发,弹性伸缩,故障迁移,解决了原有单机扫描 无法完成对大规模站点系统的漏洞扫描,而且通过水平扩展虚拟机的数量,能完成超大规模站点系统的漏洞扫描,对扫描漏洞、配置的策略分装,统一管理平台,克服了现有技术方案配置繁琐、专业性要求高的问题,极大提升用户的使用体验。进一步的,对于小规模的扫描场景,本方案也支持单机部署,所以保留了现有技术方案的低成本优势。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所述的一种基于saas架构的通用漏洞扫描器的实现方法示意图;

图2为本发明所述的saas架构通用漏洞扫描器集群部署技术方案图;

图3为本发明所述的saas架构通用漏洞扫描器单机部署技术方案图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,一种基于saas架构的通用漏洞扫描器的实现方法,所述基于saas架构的通用漏洞扫描器的实现方法包括以下步骤:

步骤s1:建立一个具有多种扫描功能的扫描模块;

所述步骤s1建立一个具有多种扫描功能的扫描模块的具体实施方式可为:实现具有多种扫描功能(包括但不限于系统扫描、web扫描、端口扫描、app扫描)的扫描模块。

步骤s2:建立一个统一的扫描管理模块,提供管理界面作为扫描的管理和结果呈现;

所述扫描管理模块与所述扫描模块之间使用通用的无状态通信协议进行通信(包括但不限于restfulapi、rpc、消息队列等)。

步骤s3:对扫描模块的扫描数据进行统一的结构封装后,在扫描管理模块进行统一处理;

步骤s4:对漏洞库、扫描配置进行场景细分,包装成策略后部署到扫描模块和扫描管理模块中。

所述步骤s4对漏洞库、扫描配置进行场景细分,包装成策略后部署到扫描模块和扫描管理模块中的具体实施方式可为:对漏洞库、扫描配置进行场景细分,包装成策略,例如高危扫描、owasptop10扫描、基础设施扫描等,用户只需要根据扫描需求选择相应的策略,不需要进行繁琐的配置。同时给每种策略附加各自的权重,用于扫描调度。

在实际应用中,如图2和图3所示,本实施例所述的扫描器能同时支持单机部署和集群部署两种部署方式,分别适用于小规模扫描和大规模扫描:

1)单机部署–适用于低成本、小规模的扫描

1、将扫描管理模块和扫描模块部署在一个主机上(支持虚拟主机和物理主机)

2、扫描管理模块接收到用户下发的扫描策略后,直接发送给本机的扫描模块进行相应策略的扫描

2)集群部署(以虚拟机为例)–适用于大规模的扫描

1、搭建一套云平台,将扫描管理模块、扫描模块部署在不同的虚拟机上,例如初始部署一台扫描管理虚拟机,三台扫描虚拟机;

2、每台扫描虚拟机将系统负载上报给扫描管理虚拟机,扫描管理虚拟机对每个扫描虚拟机的负载进行归类保存;

3、扫描管理虚拟机接收到用户下发的扫描任务后,根据扫描策略的权值、各个扫描虚拟机的当前负载筛选出一台合适的扫描虚拟机,(如果当前所有扫描虚拟机负载较高,筛选不出合适的,则调用云平台接口新建一个扫描虚拟机,并记录),将扫描任务分配给筛选出的扫描虚拟机;

4、扫描虚拟机将执行的扫描结果进行结构分装,上报给扫描管理虚拟机,扫描管理虚拟机进行解析存储,用于web界面展现;

5、扫描管理虚拟机对扫描虚拟机进行状态监控,检测到扫描虚拟机故障后,进行故障迁移,将故障虚拟机中的扫描任务重新分发给其他的扫描虚拟机;

6、扫描管理虚拟机对扫描虚拟机的负载进行监控,当负载趋小并稳定后,删除掉扫描任务分发时新建的虚拟机。

本发明实施的优点:本发明所述的基于saas架构的通用漏洞扫描器的实现方法包括:建立一个具有多种扫描功能的扫描模块;建立一个统一的扫描管理模块,提供管理界面作为扫描的管理和结果呈现;对扫描模块的扫描数据进行统一的结构封装后,在扫描管理模块进行统一处理;对漏洞库、扫描配置进行场景细分,包装成策略后部署到扫描模块和扫描管理模块中,通过利用虚拟化技术,实现控制层,做扫描任务的调度和分发,弹性伸缩,故障迁移,解决了原有单机扫描无法完成对大规模站点系统的漏洞扫描,而且通过水平扩展虚拟机的数量,能完成超大规模站点系统的漏洞扫描,对扫描漏洞、配置的策略分装,统一管理平台,克服了现有技术方案配置繁琐、专业性要求高的问题,极大提升用户的使用体验。进一步的,对于小规模的扫描场景,本方案也支持单机部署,所以保留了现有技术方案的低成本优势。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1