1.一种服务器的漏洞修复方法,其特征在于,包括:获取各服务器的安全漏洞信息,并基于所述安全漏洞信息进行语义分析/语法分析得到各服务器需要修复的漏洞的名称;
根据所述漏洞的名称得到漏洞的CVE号;
根据所述漏洞的CVE号在CVE数据库中查找与所述CVE号对应的组件更新版号;
根据所述组件更新版号在yum数据库中下载与所述组件更新版号对应的组件安装包,并利用所述组件安装包升级所述漏洞对应的组件;
在预设的依赖数据库中查找与所述组件对应的依赖组件,其中,所述组件为所述漏洞对应的组件;
向所述预设的依赖数据库发送下载请求以下载依赖组件安装包,并利用所述依赖组件安装包升级所述依赖组件,完成所述漏洞的修复;
其中,在所述依赖数据库中存储与yum数据库的组件安装包对应的依赖组件名称,以及对应的依赖组件的安装包,所述安装包为组件漏洞需要额外升级的非强依赖组件;
所述获取各服务器的安全漏洞信息,并基于所述安全漏洞信息进行语义分析/语法分析得到各服务器需要修复的漏洞的名称之后,还包括:获取漏洞的历史修复数据,并提取修复超过第二设定次数的漏洞以形成漏洞集合;
获取所述漏洞集合中的所有漏洞的维度;其中,所述维度包括漏洞的类型,以及漏洞所属的服务器;
将出现次数最多维度作为目标维度,并像用户发送选择窗口;
判断用户是否选择所述目标维度;
若否,则接收用户选择的新的修复维度;
获取用户选择的新的修复维度对应的漏洞的名称。
2.根据权利要求1所述的服务器的漏洞修复方法,其特征在于,所述获取各服务器的安全漏洞信息,并基于所述安全漏洞信息进行语义分析/语法分析得到各服务器需要修复的漏洞的名称之后,还包括:判断当前时间是否为用户预设的修复时间;
若所述当前时间不是用户预设的修复时间,则获取用户的修复习惯;其中,所述修复习惯包括修复超过第一设定次数的漏洞、修复时间小于第一设定时间的漏洞;
根据所述修复习惯得到对应的漏洞的名称;
若所述当前时间是用户预设的修复时间,则获取所述用户具有权限的服务器的漏洞的名称。
3.根据权利要求1所述的服务器的漏洞修复方法,其特征在于,所述根据所述漏洞的CVE号在CVE数据库中查找与所述CVE号对应的组件更新版号之前,还包括:在第一预设时间段内,向用户发送带有更新或不更新的选项的窗口,以便用户进行选择;其中,所述窗口为对所述CVE数据库的操作指令;
判断是否接收到用户选择更新或不更新的指令;
若未接收到用户的指令,则根据红帽官网对所述CVE数据库进行同步更新;
若接收到用户的指令,则判断所述指令为更新或不更新;
若所述指令为更新,则根据红帽官网对所述CVE数据库进行同步更新;
若所述指令为不更新,则停止更新所述CVE数据库。
4.根据权利要求1所述的服务器的漏洞修复方法,其特征在于,所述向所述预设的依赖数据库发送下载请求以下载依赖组件安装包,并利用所述依赖组件安装包升级所述依赖组件之后,还包括:判断所述漏洞是否修复成功;
若所述漏洞修复失败,则将所述漏洞回滚到修复之前的状态并对所述漏洞进行标记;
向所述依赖数据库和yum数据库发送标记修复失败的指令,以对所述漏洞对应的组件安装包和依赖组件安装包进行标记;
当所述漏洞对应的组件安装包和依赖组件安装包被标记超过第三设定次数时,生成对所述组件安装包和依赖组件安装包进行处理的指令,以便用户进行人工处理;
若所述漏洞修复成功,则判断是否接收到所述漏洞对应的服务器发送的应用失败的信号;
若接收到所述漏洞对应的服务器发送的应用失败的信号,则生成是否回滚的指令以供用户选择。
5.根据权利要求4所述的服务器的漏洞修复方法,其特征在于,所述若所述漏洞修复失败,则将所述漏洞回滚到修复之前的状态之后,还包括:记录所述漏洞的修复过程的日志和修复结果;其中,当所述修复结果为修复失败时,所述修复结果还包括失败原因;
将所述修复过程的日志和修复结果与所述漏洞的名称进行关联,并存储在redis数据库中;
在第三预设时间段内,删除所述redis数据库中第二设定时间之前存储的漏洞的名称、以及漏洞的名称对应的修复过程的日志和修复结果。
6.一种服务器的漏洞修复装置,其特征在于,包括:获取模块,用于获取各服务器的安全漏洞信息,并基于所述安全漏洞信息进行语义分析/语法分析得到各服务器需要修复的漏洞的名称;
CVE号模块,用于根据所述漏洞的名称得到漏洞的CVE号;
第一查找模块,用于根据所述漏洞的CVE号在CVE数据库中查找与所述CVE号对应的组件更新版号;
第一升级模块,用于根据所述组件更新版号在yum数据库中下载与所述组件更新版号对应的组件安装包,并利用所述组件安装包升级所述漏洞对应的组件;
第二查找模块,用于在预设的依赖数据库中查找与所述组件对应的依赖组件,其中,所述组件为所述漏洞对应的组件;
第二升级模块,用于向所述预设的依赖数据库发送下载请求以下载依赖组件安装包,并利用所述依赖组件安装包升级所述依赖组件,完成所述漏洞的修复;
其中,在所述依赖数据库中存储与yum数据库的组件安装包对应的依赖组件名称,以及对应的依赖组件的安装包,所述安装包为组件漏洞需要额外升级的非强依赖组件;
漏洞集合模块,用于获取漏洞的历史修复数据,并提取修复超过第二设定次数的漏洞以形成漏洞集合;
维度模块,用于获取所述漏洞集合中的所有漏洞的维度;其中,所述维度包括漏洞的类型,以及漏洞所属的服务器;
发送模块,用于将出现次数最多维度作为目标维度,并像用户发送选择窗口;
判断模块,用于判断用户是否选择所述目标维度;
漏洞名称获取模块,用于在用户不对修复维度进行选择时,接收用户选择的新的修复维度;
修复维度漏洞名称获取模块,用于获取用户选择的修复维度对应的新的漏洞的名称。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。