一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

漏洞检测方法、装置、设备和存储介质与流程

2022-08-11 05:16:59 来源:中国专利 TAG:


1.本技术涉及云计算领域,尤其涉及漏洞检测方法、装置、设备和存储介质。


背景技术:

2.目前绝大多数企业都需要管理大量的云服务器,云服务器涉及大量的物理机或虚拟机,产生了繁重的安全运维工作。用户的不当操作或攻击者入侵可能导致云服务器的安全性风险,个人及公司的信息安全屏障被攻破,造成巨大的损失和危险。及时确定云服务器系统漏洞对企业安全生产经营有着重大意义。
3.现有的漏洞检测方法通常在云服务器系统被入侵后进行漏洞检测,无法及时确定云服务器系统的安全漏洞。


技术实现要素:

4.本技术实施例提供漏洞检测方法、装置、设备和存储介质,解决了现有的漏洞检测方法无法及时确定云服务器系统的安全漏洞的问题。
5.为实现上述技术目的,本技术实施例采用如下技术方案:
6.第一方面,本技术实施例提供一种漏洞检测方法,应用于云服务器,包括:
7.接收安全检测平台服务器推送的至少一项原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息;
8.执行原子化检测任务,以检测云服务器是否存在安全漏洞。
9.在一种实施例中,在检测对象包括安全协议软件的情况下,执行原子化检测任务,以检测云服务器是否存在安全漏洞包括:
10.获取云服务器的操作系统类型信息和安全协议软件的实际版本信息;
11.根据操作系统类型信息确定安全协议软件的基线版本信息,安全协议软件的基线版本信息为预设漏洞编号标准中操作系统类型信息对应的安全协议软件的最低版本信息;
12.根据安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果确定是否存在安全漏洞。
13.在一种实施例中,根据安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果确定是否存在安全漏洞,包括:
14.在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞;
15.在安全协议软件的实际版本信息与安全协议软件的基线版本信息的尾部标识不一致的情况下,确定不存在安全漏洞。
16.在一种实施例中,在检测对象包括用户信息的情况下,执行原子化检测任务,以检测云服务器是否存在安全漏洞包括:
17.检测云服务器预设文件存储的用户信息;
18.在用户信息符合预设异常条件的情况下,确定存在安全漏洞。
19.在一种实施例中,预设异常条件包括如下至少一项:
20.sudoers文件中存在用户信息、passwd文件中存在gid为0的用户信息、passwd文件中存在uid为0的用户信息、以及group文件中存在gid为0的用户信息。
21.本技术实施例由安全检测平台服务器推送原子化检测任务,以推送时机作为漏洞检测时机,云服务器在接收到原子化检测任务时,直接执行原子化检测任务,即可检测出云服务器是否存在安全漏洞。具体的,首先获取云服务器的操作系统类型信息和安全协议软件的实际版本信息,然后确定预设漏洞编号标准中操作系统类型信息对应的安全协议软件的基线版本信息,最终在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞。该方案通过比较安全协议软件的实际版本信息与安全协议软件的基线版本信息来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
22.第二方面,本技术实施例提供一种漏洞检测方法,应用于安全检测平台服务器,安全检测平台服务器用于管理多个运维平台中多种类型的云服务器,方法包括:
23.调用预置的安全检测服务,安全检测服务包括多个原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息;
24.将至少一项原子化检测任务推送给至少一个云服务器,原子化检测任务用于检测云服务器是否存在安全漏洞。
25.在一种实施例中,方法还包括:
26.接收云服务器发送的安全漏洞检测结果;
27.显示安全漏洞检测结果;
28.存储并备份安全漏洞检测结果。
29.在一种实施例中,原子化检测任务具体用于:
30.在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定云服务器存在安全漏洞;
31.在用户信息符合预设异常条件的情况下,确定存在安全漏洞。
32.第三方面,本技术实施例提供一种漏洞检测装置,应用于云服务器,包括:
33.接收模块,用于接收安全检测平台服务器推送的至少一项原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息;
34.检测模块,用于执行原子化检测任务,以检测云服务器是否存在安全漏洞。
35.在一种实施例中,检测模块包括获取单元和确定单元;
36.获取单元,用于在检测对象包括安全协议软件的情况下,获取云服务器的操作系统类型信息和安全协议软件的实际版本信息;
37.确定单元,用于根据操作系统类型信息确定安全协议软件的基线版本信息,安全协议软件的基线版本信息为预设漏洞编号标准中操作系统类型信息对应的安全协议软件的最低版本信息;
38.确定单元,还用于根据安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果确定是否存在安全漏洞。
39.在一种实施例中,确定单元,具体用于:
40.在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞;
41.在安全协议软件的实际版本信息与安全协议软件的基线版本信息的尾部标识不一致的情况下,确定不存在安全漏洞。
42.在一种实施例中,检测模块,具体用于:
43.在检测对象包括用户信息的情况下,检测云服务器预设文件存储的用户信息;
44.在用户信息符合预设异常条件的情况下,确定存在安全漏洞。
45.在一种实施例中,预设异常条件包括如下至少一项:
46.sudoers文件中存在用户信息、passwd文件中存在gid为0的用户信息、passwd文件中存在uid为0的用户信息、以及group文件中存在gid为0的用户信息。
47.第四方面,本技术实施例提供一种漏洞检测装置,应用于安全检测平台服务器,安全检测平台服务器用于管理多个运维平台中多种类型的云服务器,装置包括:
48.调用模块,用于调用预置的安全检测服务,安全检测服务包括多个原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息;
49.推送模块,用于将至少一项原子化检测任务推送给至少一个云服务器,原子化检测任务用于检测云服务器是否存在安全漏洞。
50.在一种实施例中,装置还包括接收模块,显示模块和存储模块;
51.接收模块,用于接收云服务器发送的安全漏洞检测结果;
52.显示模块,用于显示安全漏洞检测结果;
53.存储模块,用于存储并备份安全漏洞检测结果。
54.在一种实施例中,原子化检测任务具体用于:
55.在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定云服务器存在安全漏洞;
56.在用户信息符合预设异常条件的情况下,确定存在安全漏洞。
57.第五方面,本技术实施例提供一种漏洞检测系统,包括:安全检测平台服务器和云服务器;
58.安全检测平台服务器用于:调用预置的安全检测服务,安全检测服务包括多个原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息,并将至少一项原子化检测任务推送给至少一个云服务器;
59.云服务器用于:接收安全检测平台服务器推送的至少一项原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息,并执行原子化检测任务,以检测云服务器是否存在安全漏洞。
60.第六方面,本技术提供一种计算机可读存储介质,存储有信息传递的实现程序,该程序被处理器执行时实现如第一方面提供的漏洞检测方法。
61.第七方面,本技术提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述第一方面提供的方法。
62.本技术中第二方面、第三方面、第四方面、第五方面、第六方面和第七方面描述的
有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
附图说明
63.图1为本技术实施例提供的一种漏洞检测系统的架构示意图;
64.图2为本技术实施例提供的另一种漏洞检测系统的架构示意图;
65.图3为本技术实施例提供的一种漏洞检测方法的流程示意图;
66.图4为本技术实施例提供的一种漏洞编号标准示意图;
67.图5为本技术实施例提供的另一种漏洞编号标准示意图;
68.图6为本技术实施例提供的一种漏洞检测装置的结构示意图;
69.图7为本技术实施例提供的另一种漏洞检测装置的结构示意图;
70.图8为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
71.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本技术,并不被配置为限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
72.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序;也不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
73.现有的漏洞检测方法通常在云服务器被入侵后进行漏洞检测,无法及时确定系统的安全漏洞。
74.为了解决上述技术问题,本技术实施例提供一种漏洞检测方法,可应用于漏洞检测系统。在一种实现方式中,如图1所示,该漏洞检测系统100包括云服务器1001、awm平台1002、以及安全检测平台1003。在一些实施例中,awm平台1002也可以集成在安全检测平台1003中。
75.其中,如图1和图2所示,awx是一个开源的web应用,并为运维工具ansible的任务引擎提供用户接口和rest软件体系结构类型。它是ansible tower的开源版本。ansible awx允许我们使用web接口去管理ansible的playbooks语法、inventoris语法和调度任务。awm平台1002产生的代码可帮助通过ansible管理信息技术(information technology,it)
基础架构;awm平台1002用于建立检测任务(可以以模板的形式存在)和云服务器清单。
76.进一步地,安全检测平台1003用于管理维护管理部门、用户、云服务器、检测对象等各类基础数据;调用awx平台1002上的检测任务;检测结果聚合、度量分析和显示;并存储本技术实施例提供的漏洞检测方法的逻辑,例如ansible playbooks,ansible playbooks是自动化任务的蓝图,这些任务是在有限或无人参与的情况下执行的复杂it操作。其中,安全检测平台1003管理的云服务器可以包括多个运维平台中多种类型的云服务器。ansible playbooks在主机集、组或分类上执行,这些主机共同构成了ansible playbooks。playbooks本质上是框架,它们是预先编写的代码。ansible playbooks通常用于自动化it基础架构(如操作系统和kubernetes平台)、网络、安全系统和开发人员角色(如git和red hat codeready studio)。ansible playbooks可帮助it员工对应用程序、服务、服务器节点或其他设备进行编程,而无需从头开始创建所有内容的手动开销。ansible playbooks以及其中的条件、变量和任务可以无限期地保存、共享或重用。基于ansible playbooks,能够使云服务器以原子化的方式检测,每个原子化检测任务,对应一个检测对象类型,根据需要组合多个playbooks,进行多项任务检测,并将该漏洞检测方法的逻辑代码发送给需要检测的云服务器1001,供云服务器1001执行本技术实施例提供的漏洞检测方法。安全检测平台1003可以使用多种语言多种框架来实现,最终的使用效果也是一致的。例如采用python编程语言的django框架编写,能够同步了域内所有用户和用户对应的云服务器,因此用户可以使用域用户即可登录此平台。安全检测平台1003可以存储或从awm平台1002获取到用户与云服务器的对应关系。安全检测平台1003的上线具备如下优势,如表1和表2所示:
77.表1
[0078][0079]
表2
[0080][0081]
由表1和表2可知,安全检测平台1003的上线能够使得云服务器的漏洞检测自动化,并适用于多类型云服务器,使得云服务器的集中管理变为可行。
[0082]
进一步地,云服务器1001用于对接安全检测平台1003,获取漏洞检测方法的逻辑代码,并执行本技术实施例提供的漏洞检测方法,并将检测结果回传给安全检测平台,由安全检测平台将检测结果存入安全检测平台内置的数据库,例如mysql数据库;以及根据检测结果进行邮件预警等。云服务器1001的类型可以包括大数据平台、平台即服务(platform as a service,paas)、基础设施即服务(infrastructure as a service,iaas)、小型机、x86等类型。
[0083]
上面介绍了本技术实施例提供的漏洞检测系统,下面对本技术实施例提供的应用于该漏洞检测系统的漏洞检测方法进行说明。
[0084]
图3示出了本技术一个实施例提供的漏洞检测方法的流程示意图。如图3所示,该方法可以包括以下步骤:
[0085]
s310,接收安全检测平台服务器推送的至少一项原子化检测任务。
[0086]
其中,安全检测平台服务器用于管理多个运维平台中多种类型的云服务器。基于ansible playbooks,安全检测平台服务器能够调用预置的安全检测服务,该安全检测服务包括多个原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,并将至少一项原子化检测任务推送给至少一个云服务器,云服务器接收到原子化检测任务后能够进行多项任务检测。例如,检测对象可以包括但不限于:
[0087]
0.网际互连协议(internet protocol,ip)及版本
[0088]
0.1ip地址
[0089]
0.2版本信息
[0090]
0.2.1系统内核版本
[0091]
0.2.2系统发行版本
[0092]
0.3地址解析协议,(address resolution protocol,arp)
[0093]
0.3.1 arp表
[0094]
0.3.2 arp攻击
[0095]
1.端口情况
[0096]
1.1开放端口
[0097]
1.1.1传输控制协议(transmission control protocol,tcp)开放端口
[0098]
1.1.2用户数据报协议(user datagram protocol,udp)开放端口
[0099]
1.2 tcp高危端口
[0100]
1.3 udp高危端口
[0101]
2.网络连接
[0102]
3.网卡模式
[0103]
4.自启动项
[0104]
4.1用户自定义启动项
[0105]
4.2系统自启动项
[0106]
5.定时任务
[0107]
5.1系统定时任务
[0108]
5.1.1时间看系统定时任务
[0109]
5.1.2分析可疑系统定时任务
[0110]
5.2用户定时任务
[0111]
5.2.1时间看用户定时任务
[0112]
5.2.2分析可疑用户定时任务
[0113]
6.路由与路由转发
[0114]
7.进程分析
[0115]
7.1系统进程
[0116]
7.2守护进程
[0117]
8.关键文件检查
[0118]
8.1域名系统(domain name system,dns)文件
[0119]
8.2 hosts文件
[0120]
8.3公钥文件
[0121]
8.4私钥文件
[0122]
9.运行服务
[0123]
10.登录情况
[0124]
11.用户信息
[0125]
11.1违规用户
[0126]
11.2克隆用户
[0127]
11.3允许登录的用户
[0128]
11.4可密码登录用户
[0129]
11.5非系统用户
[0130]
11.6空口令用户
[0131]
11.7空口令且可登录
[0132]
11.8口令未加密
[0133]
11.9用户组分析
[0134]
11.9.1相同用户身份标识(user identity document,uid)用户组
[0135]
11.9.2相同用户组名
[0136]
11.10文件权限
[0137]
11.10.1 etc文件权限
[0138]
11.10.2 shadow文件权限
[0139]
11.10.3 passwd文件权限
[0140]
11.10.4 group文件权限
[0141]
11.10.5 securetty文件权限
[0142]
11.10.6 services文件权限
[0143]
12.历史命令
[0144]
12.1系统历史命令
[0145]
12.1.1系统操作历史命令
[0146]
12.1.2是否下载过脚本文件
[0147]
12.1.3是否增加过账号
[0148]
12.1.4是否删除过账号
[0149]
12.1.5历史可疑命令
[0150]
12.1.6本地下载文件13.策略与配置
[0151]
13.1防火墙策略
[0152]
13.2远程访问策略
[0153]
13.2.1远程允许策略
[0154]
13.2.2远程拒绝策略
[0155]
13.3账号与密码策略
[0156]
13.3.1密码有效期策略
[0157]
13.3.2密码已过期用户
[0158]
13.3.3账号超时锁定策略
[0159]
13.4 selinux策略
[0160]
13.5 sshd配置
[0161]
13.5.1 sshd配置
[0162]
13.5.2空口令登录
[0163]
13.5.3 root远程登录
[0164]
13. 6nginx配置
[0165]
13.6.1下载情况
[0166]
13.6.2可疑配置
[0167]
13.7 snmp配置检查
[0168]
14.可疑文件
[0169]
14.1脚本文件
[0170]
14.2恶意文件
[0171]
14.3最近变动的文件
[0172]
14.4文件属性
[0173]
14.4.1 passwd文件属性
[0174]
14.4.2 shadow文件属性
[0175]
14.4.3 gshadow文件属性
[0176]
14.4.4 group文件属性
[0177]
15.系统文件完整性
[0178]
16.系统日志分析
[0179]
16.1日志配置与打包
[0180]
16.1.1查看日志配置
[0181]
16.1.2日志是否存在
[0182]
16.1.3日志审核是否开启
[0183]
#16.1.4自动打包日志
[0184]
16.2 secure日志分析
[0185]
16.2.1成功登录
[0186]
16.2.2登录失败
[0187]
16.2.3图形登录情况
[0188]
16.2.4新建用户与用户组
[0189]
16.3 message日志分析
[0190]
16.3.1传输文件
[0191]
16.3.2历史使用dns
[0192]
16.4 cron日志分析
[0193]
16.4.1定时下载
[0194]
16.4.2定时执行脚本
[0195]
16.5 yum日志分析
[0196]
16.5.1下载软件情况
[0197]
16.5.2下载脚本情况
[0198]
16.5.3卸载软件情况
[0199]
16.5.4可疑软件情况
[0200]
17.内核检查
[0201]
17.1内核信息
[0202]
17.2异常内核
[0203]
18.安装软件
[0204]
18.1安装软件,例如安全协议软件,包括版本信息等
[0205]
18.2可疑软件
[0206]
19.环境变量
[0207]
20.性能分析
[0208]
20.1磁盘使用
[0209]
20.1.1磁盘使用情况
[0210]
20.1.2磁盘使用过大
[0211]
20.2 cpu
[0212]
20.2.1中央处理器(central processing unit,cpu)个数
[0213]
20.2.2占用cpu前五进程
[0214]
20.2.3占用cpu较多资源进程
[0215]
20.3内存
[0216]
20.3.1内存情况
[0217]
20.3.2占用内存前五进程
[0218]
20.3.3占用内存占多进程
[0219]
通过多个原子化检测任务,对实际需求的多个检测对象进行漏洞检测,能够全面地对云服务器的漏洞进行检测。在一些实施例中,还可以区分云服务器的不同操作系统,不同操作系统的云服务器接收到的至少一个原子化检测任务不同,这样能够有针对性的检测云服务器,使得检测结果更为准确。
[0220]
s320,执行原子化检测任务,以检测云服务器是否存在安全漏洞。
[0221]
其中,原子化检测任务是预置的能够检测云服务器是否存在安全漏洞的一种执行逻辑,执行原子化检测任务,能够检测云服务器是否存在安全漏洞。
[0222]
本技术实施例中,由安全检测平台服务器推送原子化检测任务,以推送时机作为漏洞检测时机,云服务器在接收到原子化检测任务时,直接执行原子化检测任务,即可检测出云服务器是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
[0223]
在一种实施例中,在检测对象包括安全协议软件的情况下,s320,执行原子化检测任务,以检测云服务器是否存在安全漏洞,可以包括:
[0224]
s3201,获取云服务器的操作系统类型信息和安全协议软件的实际版本信息。
[0225]
其中,每个云服务器上都会存储有自身的操作系统类型信息,例如,rhel6,rhel7等;也会存储有云服务器上安装的安全协议软件的实际版本信息,例如,安全协议软件为openssh,openssh是ssh(secure shell)协议的免费开源实现。ssh协议族可以用来进行远程控制,或在计算机之间传送文件。而实现此功能的传统方式,如终端仿真协议(telnet)、rcp、ftp、rlogin、rsh都是极为不安全的,并且会使用明文传送密码。openssh提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务,openssh为数据交互提供了安全保障。相应的openssh也会有着各种版本,实际版本信息即云服务器安装的openssh版本。
[0226]
s3202,根据操作系统类型信息确定安全协议软件的基线版本信息。
[0227]
其中,安全协议软件的基线版本信息为预设漏洞编号标准中操作系统类型信息对应的安全协议软件的最低版本信息。预设漏洞编号标准中记录有各类操作系统类型对应的安全协议软件的最低版本信息,根据操作系统类型信息即可在预设漏洞编号标准中检索到安全协议软件的最低版本信息,即基线版本信息。如图4所示,预设漏洞编号标准可以从漏
洞编号(common vulnerabilities&exposures,cve)标准中选取,例如cve-2015-0057、cve-1999-0001等等。cve可以理解为一个字典表,是为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出的一个公共的名称。如果在一个漏洞报告中指明的一个漏洞已分配了cve名称,则漏洞报告的读者就可以快速地在任何其它cve兼容的数据库中找到相应修补的信息,快速解决安全问题。
[0228]
s3203,根据安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果确定是否存在安全漏洞。
[0229]
在一种实施例中,s3203:根据安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果确定是否存在安全漏洞,可以包括:
[0230]
在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞。
[0231]
其中,在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,则表明云服务器安装的安全协议软件版本已经低于漏洞防护要求,能够确定存在安全漏洞。
[0232]
在安全协议软件的实际版本信息与安全协议软件的基线版本信息的尾部标识不一致的情况下,确定不存在安全漏洞。
[0233]
其中,如图5所示,在比较安全协议软件的实际版本信息与安全协议软件的基线版本信息时,虽然有特定的软件包命名规范,但是规范复杂,存在基线版本信息的尾部标识不是以预设字符如rpm结尾的,比如的尾部标识为“未修复”,“不影响”等,而实际版本信息因为是实际安装的软件,则实际版本信息的尾部标识则必定是以rpm结尾。基线版本信息的尾部标识不是以rpm结尾,表明该全协议软件的实际版本信息较低不会导致产生安全漏洞,则不论检测出现存的软件包版本为多少,都确定无安全漏洞。
[0234]
本技术实施例首先获取云服务器的操作系统类型信息和安全协议软件的实际版本信息,然后确定预设漏洞编号标准中操作系统类型信息对应的安全协议软件的基线版本信息,最终在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞,通过比较安全协议软件的实际版本信息与安全协议软件的基线版本信息来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
[0235]
在一种实施例中,预设漏洞条件可以包括:
[0236]
安全协议软件的实际版本信息低于安全协议软件的基线版本信息。
[0237]
其中,安全协议软件的实际版本信息低于安全协议软件的基线版本信息,则表明云服务安装的安全协议软件版本较低,已经无法满足安全防护要求,能够确定存在安全漏洞。例如,此时获取到的基线版本信息为openssh-7.4p1-21.el7.x86_64.rpm,实际版本信息为openssh-3.4p1-21.el7.x86_64.rpm,openssh-3.4p1-21.el7.x86_64.rpm低于openssh-7.4p1-21.el7.x86_64.rpm,即可判定确定存在安全漏洞。
[0238]
进一步地,在比较安全协议软件的实际版本信息与安全协议软件的基线版本信息时,虽然有特定的软件包命名规范,但是规范复杂,其中的小版本很多,例如,sudo-1.8.6p3-29.el6_9.x86_64.rpm和sudo-1.8.6p3-29.el6_10.2.x86_64.rpm这两个版本,大版本1.8.6p3-29.el6相同,小版本_9和_10.2不同,_10.2大于_9,所以我们需要将版本号拆
解,从左至右逐一对比数字和字母,直到出现不等关系,即可判定确定存在安全漏洞。
[0239]
本技术实施例中,通过比较安全协议软件的实际版本信息与基线版本信息的高低来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
[0240]
在一种实施例中,该方法还可以包括:
[0241]
检测云服务器预设文件存储的用户信息,在用户信息符合预设异常条件的情况下,确定存在安全漏洞。
[0242]
其中,安全漏洞的来源不仅包括安全协议软件版本过低,也会存在违规用户这一类型,预设异常条件是能够判断是否存在会导致系统安全漏洞的用户的一类条件,通过检测服务器预设文件存储的用户信息,即可根据预设异常条件确定是否存在违规用户这种安全漏洞。
[0243]
本技术实施例中,通过确定用户信息是否符合预设异常条件来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保能够及时发现安全漏洞。
[0244]
在一种实施例中,预设异常条件可以包括如下至少一项:
[0245]
sudoers文件中存在用户信息、passwd文件中存在gid为0的用户信息、passwd文件中存在uid为0的用户信息、以及group文件中存在gid为0的用户信息。
[0246]
其中,sudoers文件中存在用户信息则表明相应的用户被赋予了sudo权限,sudo权限能够把本来超级用户执行的命令赋予普通用户执行,也就是说,被赋予sudo权限的用户能够对系统执行多种命令,操作不当能够导致安全漏洞;相似的,passwd文件中用户信息gid为0、uid为0,group文件中用户信息gid为0,均为相应的用户被赋予了超出普通用户权限的执行命令权限,这一类用户能够对系统执行多种命令,操作不当能够导致安全漏洞。
[0247]
本技术实施例中,通过多类预设异常条件确定用户信息是否违规来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保能够及时发现安全漏洞。
[0248]
在一种实施例中,该方法还可以包括:
[0249]
将安全漏洞检测结果向安全检测平台1003发送,用于安全检测平台1003对安全漏洞检测结果进行显示,供用户查看。例如,安全漏洞检测结果为:存在漏洞,原因为sudoers文件中存在用户信息。安全漏洞检测结果为:存在漏洞,原因为安全协议软件的实际版本信息低于安全协议软件的基线版本信息等。
[0250]
进一步地,还可以用于安全检测平台1003将安全漏洞检测结果存储在数据库中,形成漏洞日志,该漏洞日志可供分析周期间系统漏洞整体状况。
[0251]
本技术实施例首先获取云服务器的操作系统类型信息和安全协议软件的实际版本信息,然后确定预设漏洞编号标准中操作系统类型信息对应的安全协议软件的基线版本信息,最终在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞,通过比较安全协议软件的实际版本信息与安全协议软件的基线版本信息来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
[0252]
进一步地,本技术实施例提供的漏洞检测方法可以由多种语言编写,例如playbook,shell或python等,但是最终得到的结果是一致的。本技术实施例提供的漏洞检测方法检测的范围不限于目前安全协议软件和违规用户两类,可以随时拓展,全面地对系
统进行检查,对于违规操作和疑似入侵行为进行提醒。
[0253]
进一步地,本技术实施提供的安全检测平台1003中的数据库的种类可以选用多种,都可以用作存储数据,例如选用mysql数据库,与django自带的数据库相比,有更好的拓展性。
[0254]
进一步地,本技术实施提供的漏洞检测方法能够实现对云服务器系统自动化安全运维,减少人工操作的繁琐,有效地监控资源数据,主动检查异常信息和违规操作,提高了资源管理者的工作效率,保障系统安全稳定的工作。
[0255]
本技术实施例还提供一种漏洞检测方法,应用于安全检测平台服务器,安全检测平台服务器用于管理多个运维平台中多种类型的云服务器,方法包括:
[0256]
调用预置的安全检测服务。
[0257]
其中,安全检测服务包括多个原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息。基于ansible playbooks,安全检测平台服务器能够调用预置的安全检测服务,该安全检测服务包括多个原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,并将至少一项原子化检测任务推送给至少一个云服务器,云服务器接收到原子化检测任务后能够进行多项任务检测。
[0258]
将至少一项原子化检测任务推送给至少一个云服务器,原子化检测任务用于检测云服务器是否存在安全漏洞。
[0259]
其中,可以根据获取的用户与云服务器的对应关系,向检测平台管理的域内用户对应的云服务器相应推送,云服务器在接收到原子化检测任务后,执行原子化检测任务,即可检测出云服务器是否存在安全漏洞。
[0260]
本技术实施例安全检测平台服务器向云服务器推送原子化检测任务,以推送时机作为漏洞检测时机,云服务器在接收到原子化检测任务时,直接执行原子化检测任务,即可检测出云服务器是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,能够确保及时发现安全漏洞。
[0261]
在一种实施例中,该方法还可以包括:
[0262]
接收云服务器发送的安全漏洞检测结果;显示安全漏洞检测结果;存储并备份安全漏洞检测结果。
[0263]
其中,对安全漏洞检测结果进行显示,供用户查看。例如,安全漏洞检测结果为:存在漏洞,原因为sudoers文件中存在用户信息。安全漏洞检测结果为:存在漏洞,原因为安全协议软件的实际版本信息低于安全协议软件的基线版本信息等。
[0264]
进一步地,将安全漏洞检测结果存储并备份在数据库中,能够形成漏洞日志,该漏洞日志可供分析周期间云服务器系统漏洞整体状况。
[0265]
本技术实施例安全检测平台服务器向云服务器推送原子化检测任务,以推送时机作为漏洞检测时机,云服务器在接收到原子化检测任务时,直接执行原子化检测任务,即可检测出云服务器是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,能够确保及时发现安全漏洞。并对安全漏洞检测结果进行显示,供用户查看。还通过存储并备份安全漏洞检测结果形成漏洞日志,该漏洞日志可供分析周期间云服务器系统漏洞整体状况。
[0266]
图1-图5描述了漏洞检测方法,下面结合图6-图8描述本技术实施例提供的装置。
为了实现上述功能,漏洞检测装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0267]
本技术实施例可以根据上述方法,示例性的对漏洞检测装置进行功能模块的划分。漏洞检测装置可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0268]
图6示出了本技术一个实施例提供的漏洞检测装置的结构示意图,该装置应用于云服务器,图6所示装置中各模块具有实现图3中相应步骤的功能,并能达到其相应技术效果。如图6所示,该装置可以包括:
[0269]
接收模块610,用于接收安全检测平台服务器推送的至少一项原子化检测任务。
[0270]
其中,每个所述原子化检测任务对应云服务器的一个检测对象,所述检测对象包括云服务器的安全协议软件或用户信息;
[0271]
检测模块620,用于执行所述原子化检测任务,以检测云服务器是否存在安全漏洞。
[0272]
本技术实施例首先获取云服务器的操作系统类型信息和安全协议软件的实际版本信息,然后确定预设漏洞编号标准中操作系统类型信息对应的安全协议软件的基线版本信息,最终在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞,通过比较安全协议软件的实际版本信息与安全协议软件的基线版本信息来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
[0273]
在一种实施例中,检测模块包括获取单元和确定单元;
[0274]
获取单元,用于在检测对象包括安全协议软件的情况下,获取云服务器的操作系统类型信息和安全协议软件的实际版本信息;
[0275]
确定单元,用于根据操作系统类型信息确定安全协议软件的基线版本信息,安全协议软件的基线版本信息为预设漏洞编号标准中操作系统类型信息对应的安全协议软件的最低版本信息;
[0276]
确定单元,还用于根据安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果确定是否存在安全漏洞。
[0277]
在一种实施例中,确定单元,具体用于:
[0278]
在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞;
[0279]
在安全协议软件的实际版本信息与安全协议软件的基线版本信息的尾部标识不一致的情况下,确定不存在安全漏洞。
[0280]
在一种实施例中,检测模块,具体用于:
[0281]
在检测对象包括用户信息的情况下,检测云服务器预设文件存储的用户信息;
[0282]
在用户信息符合预设异常条件的情况下,确定存在安全漏洞。
[0283]
在一种实施例中,预设异常条件包括如下至少一项:
[0284]
sudoers文件中存在用户信息、passwd文件中存在gid为0的用户信息、passwd文件中存在uid为0的用户信息、以及group文件中存在gid为0的用户信息。
[0285]
本技术实施例首先获取云服务器的操作系统类型信息和安全协议软件的实际版本信息,然后确定预设漏洞编号标准中操作系统类型信息对应的安全协议软件的基线版本信息,最终在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞,通过比较安全协议软件的实际版本信息与安全协议软件的基线版本信息来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
[0286]
图7示出了本技术一个实施例提供的漏洞检测装置的结构示意图,该装置应用于安全检测平台服务器,安全检测平台服务器用于管理多个运维平台中多种类型的云服务器,图7所示装置中各模块具有实现图3中相应步骤的功能,并能达到其相应技术效果。如图7所示,该装置可以包括:
[0287]
调用模块710,用于调用预置的安全检测服务,安全检测服务包括多个原子化检测任务,每个原子化检测任务对应云服务器的一个检测对象,检测对象包括云服务器的安全协议软件或用户信息;
[0288]
推送模块720,用于将至少一项原子化检测任务推送给至少一个云服务器,原子化检测任务用于检测云服务器是否存在安全漏洞。
[0289]
本技术实施例首先获取云服务器的操作系统类型信息和安全协议软件的实际版本信息,然后确定预设漏洞编号标准中操作系统类型信息对应的安全协议软件的基线版本信息,最终在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞,通过比较安全协议软件的实际版本信息与安全协议软件的基线版本信息来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏洞检测,确保及时发现安全漏洞。
[0290]
在一种实施例中,装置还包括接收模块,显示模块和存储模块;
[0291]
接收模块,用于接收云服务器发送的安全漏洞检测结果;
[0292]
显示模块,用于显示安全漏洞检测结果;
[0293]
存储模块,用于存储并备份安全漏洞检测结果。
[0294]
在一种实施例中,原子化检测任务具体用于:
[0295]
在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定云服务器存在安全漏洞;
[0296]
在用户信息符合预设异常条件的情况下,确定存在安全漏洞。
[0297]
本技术实施例首先获取云服务器的操作系统类型信息和安全协议软件的实际版本信息,然后确定预设漏洞编号标准中操作系统类型信息对应的安全协议软件的基线版本信息,最终在安全协议软件的实际版本信息与安全协议软件的基线版本信息的比对结果符合预设漏洞条件的情况下,确定存在安全漏洞,通过比较安全协议软件的实际版本信息与安全协议软件的基线版本信息来主动确定是否存在安全漏洞,而不是在被入侵后再进行漏
洞检测,确保及时发现安全漏洞。
[0298]
本技术实施例还提供一种漏洞检测系统,该系统包括上述实施例描述的安全检测平台服务器和云服务器,安全检测平台服务器和云服务器用于执行图3中相应步骤,在此不再赘述。
[0299]
图8示出了本技术一个实施例提供的电子设备的结构示意图,该电子设备可以为上述云服务器和/或安全检测平台服务器,也可以设置于上述云服务器和/或安全检测平台服务器。如图8所示,该设备可以包括处理器801以及存储有计算机程序指令的存储器802。
[0300]
具体地,上述处理器801可以包括中央处理器(central processing unit,cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0301]
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器802可以包括可移除或不可移除(或固定)的介质,或者存储器802是非易失性固态存储器。存储器802可在综合网关容灾设备的内部或外部。
[0302]
在一个实例中,存储器802可以是只读存储器(read only memory,rom)。在一个实例中,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
[0303]
处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现图3所示实施例中的方法,并达到图3所示实例执行其方法达到的相应技术效果,为简洁描述在此不再赘述。
[0304]
在一个示例中,该电子设备还可包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
[0305]
通信接口803,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
[0306]
总线810包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(accelerated graphics port,agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industry standard architecture,isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0307]
该电子设备可以执行本技术实施例中的漏洞检测方法,从而实现图3描述的漏洞检测方法的相应技术效果。
[0308]
另外,结合上述实施例中的漏洞检测方法,本技术实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种漏洞检测方法。
[0309]
在示例性的实施例中,本技术实施例还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机实现上述实施例中的漏洞检测方法。
[0310]
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0311]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0312]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0313]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0314]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0315]
以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献