镜像安全加固方法、装置、设备及计算机存储介质与流程

文档序号:27397997发布日期:2021-11-15 23:08阅读:207来源:国知局
镜像安全加固方法、装置、设备及计算机存储介质与流程

1.本公开涉及微服务技术领域,尤其涉及一种镜像安全加固方法、装置、设备及计算机存储介质。


背景技术:

2.目前,在交付各个终端用户所需的微服务组件的过程中,最常用的交付方式为镜像加配置文件的方式。由此,为确保将微服务交付给终端用户时的安全性,通常需要对镜像进行安全加固。
3.但是,现有技术所采用的镜像安全加固方法多存在不适用或者效果差的问题。


技术实现要素:

4.有鉴于此,本公开实施例提供一种镜像安全加固方法、装置、设备及计算机存储介质,以解决现有镜像安全加固方法存在的不适用或者效果差的问题。
5.为实现上述目的,本公开实施例提供如下技术方案:
6.本公开第一方面公开了一种镜像安全加固方法,所述方法包括:
7.对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本;
8.在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将所述基础镜像对应的参数写入执行脚本;
9.获取所述待加固的应用镜像中的入口指令、配置指令及参数,写入所述执行脚本,得到新执行脚本;
10.利用所述新执行脚本构建新应用镜像,得到安全加固镜像。
11.可选的,所述对待加固的应用镜像进行安全扫描,并将扫描到的所述漏洞包更新至安全版本,包括:
12.对待加固的应用镜像进行安全扫描判断是否存在漏洞包;
13.若存在漏洞包,将所述漏洞包更新至指定安全版本,或者更新至高于指定安全版本的安全版本;
14.若不存在漏洞包,则继续进行安全扫描,直至所述待加固的应用镜像的所有安装包扫描完毕。
15.可选的,所述对待加固的应用镜像进行安全扫描,并将扫描到的所述漏洞包更新至安全版本,包括:
16.对待加固的应用镜像进行安全扫描判断是否存在漏洞包;
17.若存在漏洞包,将所述漏洞包添加至漏洞列表;
18.若不存在漏洞包,则继续进行安全扫描,直至所述待加固的应用镜像的所有安装包扫描完毕;
19.在扫描完毕后,将所述漏洞列表中的所述漏洞包逐一更新至指定安全版本,或者更新至高于指定安全版本的安全版本。
20.可选的,所述将更新后的应用镜像作为基础镜像,并将所述基础镜像对应的参数写入执行脚本,包括:
21.导出所述更新后的应用镜像的根文件系统,并进行压缩,得到压缩包;
22.利用所述压缩包生成基础镜像;
23.将所述基础镜像对应的参数写入执行脚本。
24.可选的,所述获取所述待加固的应用镜像中的入口指令、配置指令及参数,写入所述执行脚本,得到新执行脚本,包括:
25.获取所述待加固的应用镜像中的入口指令,并进行反序;
26.获取所述待加固的应用镜像中的配置指令及参数,并进行反序;
27.将反序后的入口指令、配置指令及参数写入执行脚本,得到新执行脚本。
28.本公开第二方面公开了一种镜像安全加固装置,所述镜像安全加固装置包括:
29.安全扫描模块,用于对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本;
30.第一处理模块,用于在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将所述基础镜像对应的参数写入执行脚本;
31.第二处理模块,用于获取所述待加固的应用镜像中的入口指令、配置指令及参数,写入所述执行脚本,得到新执行脚本;
32.构建模块,用于利用所述新执行脚本构建新应用镜像,得到安全加固镜像。
33.可选的,所述安全扫描模块,具体用于:
34.对待加固的应用镜像进行安全扫描判断是否存在漏洞包;若存在漏洞包,将所述漏洞包更新至指定安全版本,或者更新至高于指定安全版本的安全版本;若不存在漏洞包,则继续进行安全扫描,直至所述待加固的应用镜像的所有安装包扫描完毕。
35.可选的,所述安全扫描模块,具体用于:
36.对待加固的应用镜像进行安全扫描判断是否存在漏洞包;若存在漏洞包,将所述漏洞包添加至漏洞列表;若不存在漏洞包,则继续进行安全扫描,直至所述待加固的应用镜像的所有安装包扫描完毕;在扫描完毕后,将所述漏洞列表中的所述漏洞包逐一更新至指定安全版本,或者更新至高于指定安全版本的安全版本。
37.本公开第三方面公开了一种电子设备,所述电子设备用于运行程序,其中,所述程序运行时执行如本公开第一方面公开的所述的镜像安全加固方法。
38.本公开第四方面公开了一种计算机存储介质,所述存储介质包括存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行如本公开第一方面公开的所述的镜像安全加固方法。
39.基于上述本公开实施例提供的一种镜像安全加固方法、装置、设备和计算机存储介质,通过对待加固的应用镜像进行安全扫描,并将扫描到的所述漏洞包更新至安全版本;在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将所述基础镜像对应的参数写入执行脚本;获取所述待加固的应用镜像中的入口指令、配置指令及参数,写入所述执行脚本,得到新执行脚本;利用所述新执行脚本构建新应用镜像,得到安全加固镜像。在本方案中,通过对待加固的应用镜像进行更新,将更新后的应用镜像作为基础镜像,并将所获取的待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,得到新执行脚
本,利用新执行脚本构建新应用镜像,得到安全加固镜像,从而解决现有镜像安全加固方法存在的不适用或者效果差的问题。
附图说明
40.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1为本公开实施例提供的一种镜像安全加固方法的流程示意图;
42.图2为本公开实施例公开的一种对扫描到的漏洞包进行更新的流程示意图;
43.图3为本公开实施例提供的另一种对扫描到的漏洞包进行更新的流程示意图;
44.图4为本公开实施例提供的一种将基础镜像对应的参数写入执行脚本的流程示意图;
45.图5为本公开实施例提供的一种将待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本的流程示意图;
46.图6为本公开实施例提供的一种镜像安全加固装置的结构示意图;
47.图7为本公开实施例提供的一种电子设备70的结构示意图。
具体实施方式
48.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
49.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
50.由背景技术可知,采用现有的镜像安全加固方法进行镜像安全加固,存在不适用或者效果差的问题。
51.因此,本公开实施例提供了一种镜像安全加固方法、装置、设备和计算机存储介质,在本方案中,通过对待加固的应用镜像进行更新,将更新后的应用镜像作为基础镜像,并将所获取的待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,得到新执行脚本,利用新执行脚本构建新应用镜像,得到安全加固镜像,从而解决现有镜像安全加固方法存在的不适用或者效果差的问题。具体实现方式通过以下实施例进行详细说明。
52.如图1所示,为本公开实施例提供的一种镜像安全加固方法的流程示意图,该方法主要包括以下步骤:
53.步骤s101:对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本。
54.在步骤s101中,镜像实质上是一个根文件系统,而应用镜像是在系统内安装了应用软件。
55.一个镜像可以由多个中间层组成,多个镜像可以共享同一中间层。
56.镜像在构建完成之后,便不可以再修改。
57.可以将镜像作为容器,因为容器是可以动态改变的。
58.通过在镜像中添加一层生成新的镜像,也就是说,通过创建一个临时的容器,在容器上增加或者删除文件,从而形成新的镜像。
59.在具体实现步骤s101的过程中,对待加固的应用镜像中的安装包进行安全扫描,当扫描到安装包中存在漏洞包,说明待加固的应用镜像的安装包中存在安全风险,则将扫描到的安装包中存在的漏洞包更新至安全版本,当未扫描到安装包中存在漏洞包,说明待加固的应用镜像的安装包中未存在安全风险,继续对待加固的应用镜像中的安装包进行安全扫描,直至完成待加固的应用镜像中的所有安装包的扫描。
60.步骤s102:在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本。
61.可选的,在本公开实施例中,执行脚本可以为dockerfile脚本。
62.需要说明的是,dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。docker通过读取dockerfile中的指令自动生成映像。
63.在实际应用中,docker以从上到下的顺序运行dockerfile的指令。
64.基础镜像对应的参数为dockerfile的from指令的参数,dockerfile的from指令用于指定基础镜像。
65.在具体实现步骤s102的过程中,逐一完成所有扫描到的漏洞包的更新,得到经过更新的应用镜像,也就是说,得到更新后的应用镜像,将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本。
66.步骤s103:获取待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本,得到新执行脚本。
67.在步骤s103中,
68.入口指令可以为cmd和entrypoint。
69.cmd指令用于构建应用镜像后调用,也就是在应用镜像启动时才进行调用。也就是说,构建容器后调用,也就是在容器启动时才进行调用。
70.entrypoint指令用于配置应用镜像,使应用镜像可执行化,也就是说,配置容器,使容器可执行化。
71.配置指令可以为env、user和workdir,但不仅限于此。
72.env配置指令用于设置环境变量。
73.user配置指令用于指定运行应用镜像时的用户名。也就是说,指定运行容器时的用户名。
74.workdir配置指令用于设置工作目录。
75.在具体实现步骤s103的过程中,获取待加固的应用镜像中的入口指令、配置指令及参数,将这些待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,并对执行脚本进行更新,得到新执行脚本。
76.可选的,可以先利用docker history命令查看待加固的应用镜像构建过程,然后获取待加固的应用镜像中的入口指令、配置指令及参数,将这些待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,并对执行脚本进行更新,得到新执行脚本。
77.需要说明的是,docker history命令的输入格式为docker history<源镜像>,在本公开实施例中,docker history<源镜像>,即为docker history<待加固的应用镜像>。
78.步骤s104:利用新执行脚本构建新应用镜像,得到安全加固镜像。
79.在具体实现步骤s104的过程中,利用得到的新执行脚本构建新应用镜像,从而得到安全加固镜像。
80.基于本公开实施例提供的一种镜像安全加固方法,通过对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本;在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本;获取待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本,得到新执行脚本;利用新执行脚本构建新应用镜像,得到安全加固镜像。在本方案中,通过对待加固的应用镜像进行更新,将更新后的应用镜像作为基础镜像,并将所获取的待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,得到新执行脚本,利用新执行脚本构建新应用镜像,得到安全加固镜像,从而解决现有镜像安全加固方法存在的不适用或者效果差的问题。
81.基于上述本公开实施例提供的一种镜像安全加固方法,执行步骤s101对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本的过程。如图2所示,为本公开实施例提供的一种对扫描到的漏洞包进行更新的流程示意图,主要包括以下步骤:
82.步骤s201:对待加固的应用镜像进行安全扫描判断是否存在漏洞包。
83.在具体实现步骤s201的过程中,对待加固的应用镜像进行安全扫描判断是否存在漏洞包,若存在漏洞包,说明待加固的应用镜像的安装包中存在安全风险,执行步骤s202,若不存在漏洞包,说明待加固的应用镜像的安装包中不存在安全风险,执行步骤s203。
84.步骤s202:将漏洞包更新至指定安全版本,或者更新至高于指定安全版本的安全版本。
85.在步骤s202中,安全版本是指具有查杀木马、清理恶评插件、保护隐私、免费杀毒、修复漏洞等功能的版本。
86.在具体实现步骤s202的过程中,当扫描到的待加固的应用镜像的安装包中存在安全风险的漏洞包,将存在安全风险的漏洞包更新至指定安全版本,或者更新至高于指定安全版本的安全版本。
87.步骤s203:继续进行安全扫描,直至待加固的应用镜像的所有安装包扫描完毕。
88.在具体实现步骤s203的过程中,当扫描到的待加固的应用镜像的安装包中未存在安全风险的漏洞包,继续对待加固的应用镜像中的其他安装包进行安全扫描,直至完成待加固的应用镜像中的所有安装包的扫描。
89.基于本公开实施例提供的一种镜像安全加固方法,通过扫描待加固的应用镜像的安装包,当待加固的应用镜像的安装包中存在漏洞包,将漏洞包进行更新,当待加固的应用镜像的安装包中不存在漏洞包,继续进行安全扫描,直至待加固的应用镜像的所有安装包扫描完毕,从而避免安全风险,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
90.可选的,基于上述本公开实施例提供的一种镜像安全加固方法,执行步骤s101对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本的过程。如图3所示,为本公开实施例提供的另一种对扫描到的漏洞包进行更新的流程示意图,主要包括以下步骤:
91.步骤s301:对待加固的应用镜像进行安全扫描判断是否存在漏洞包。
92.在具体实现步骤s301的过程中,对待加固的应用镜像进行安全扫描并判断是否存在漏洞包,若存在漏洞包,说明待加固的应用镜像的安装包中存在安全风险,执行步骤s302,若不存在漏洞包,说明待加固的应用镜像的安装包中不存在安全风险,执行步骤s303。
93.步骤s302:将漏洞包添加至漏洞列表。
94.在步骤s302中,漏洞列表用于存储存在安全风险的漏洞包。
95.在具体实现步骤s302的过程中,当扫描到的待加固的应用镜像的安装包中存在安全风险的漏洞包,将存在安全风险的漏洞包添加至漏洞列表。
96.步骤s303:继续进行安全扫描,直至所述待加固的应用镜像的所有安装包扫描完毕
97.在具体实现步骤s303的过程中,当扫描到的待加固的应用镜像的安装包中未存在安全风险的漏洞包,继续对待加固的应用镜像中的其他安装包进行安全扫描,直至完成待加固的应用镜像中的所有安装包的扫描。
98.步骤s304:在扫描完毕后,将漏洞列表中的漏洞包逐一更新至指定安全版本,或者更新至高于指定安全版本的安全版本。
99.在具体实现步骤s304的过程中,在完成待加固的应用镜像中的所有安装包的扫描后,逐一将漏洞列表中的存在安全风险的漏洞包更新至指定安全版本,或者更新至高于指定安全版本的安全版本。
100.基于本公开实施例提供的一种镜像安全加固方法,通过扫描待加固的应用镜像的安装包,当待加固的应用镜像的安装包中存在漏洞包,将漏洞包添加至漏洞列表,当待加固的应用镜像的安装包中不存在漏洞包,继续进行安全扫描,直至完成待加固的应用镜像的所有安装包的扫描,此时将漏洞列表中的漏洞包逐一进行更新,从而能够一次性地对存在安全风险的漏洞包进行更新,提高扫描与更新效率,避免安全风险,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
101.基于上述本公开实施例提供的一种镜像安全加固方法,执行步骤s102将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本的过程。如图4所示,为本公开实施例提供的一种将基础镜像对应的参数写入执行脚本的流程示意图,主要包括以下步骤:
102.步骤s401:导出更新后的应用镜像的根文件系统,并进行压缩,得到压缩包。
103.可选的,在本公开实施例中,可以利用docker export命令导出更新后的应用镜像的根文件系统。
104.需要说明的是,docker export命令用于将容器的文件系统作为一个tar归档文件导出。
105.根文件系统为rootfs。
106.压缩包为tar包。
107.在具体实现步骤s401的过程中,通过待加固的应用镜像启动容器后,导出更新后的应用镜像的根文件系统,并进行压缩,得到压缩包。也就是说,将容器的rootfs导出为tar包。
108.可选的,通过待加固的应用镜像启动容器后,可以利用docker export命令导出更新后的应用镜像的根文件系统,并进行压缩,得到压缩包。也就是说,利用docker export命令,将容器的rootfs导出为tar包。
109.步骤s402:利用压缩包生成基础镜像。
110.可选的,在本公开实施例中,可以利用docker import命令和压缩包生成基础镜像。
111.需要说明的是,docker import命令用于将tar归档文件导入容器为镜像。
112.在具体实现步骤s402的过程中,将所导出的tar压缩包导入至容器生成新的应用镜像,将生成的新的应用镜像作为基础镜像。也就是说,将tar包导入容器作为基础镜像。此时,所生成的新的应用镜像只有一层,该镜像的实质就是根文件系统。
113.可选的,可以利用docker import命令将所导出的tar压缩包导入至容器生成新的应用镜像,将生成的新的应用镜像作为基础镜像。也就是说,利用docker import命令,将tar包导入容器作为基础镜像。步骤s403:将基础镜像对应的参数写入执行脚本。
114.可选的,在本公开实施例中,基础镜像对应的参数可以为基础镜像对应的f rom指令的参数。
115.需要说明的是,基础镜像对应的的from指令为dockerfile的from指令,用于指定基础镜像。
116.在具体实现步骤s403的过程中,预先获取基础镜像对应的参数,将基础镜像对应的参数写入dockerfile脚本。
117.基于本公开实施例提供的一种镜像安全加固方法,通过对更新后的应用镜像进行导出导入操作,生成基础镜像,将基础镜像对应的参数写入执行脚本,从而方便将tar包进行保存以及分享,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
118.基于上述本公开实施例提供的一种镜像安全加固方法,执行步骤s103获取待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本,得到新执行脚本的过程。如图5所示,为本公开实施例提供的一种将待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本的流程示意图,主要包括以下步骤:
119.步骤s501:获取待加固的应用镜像中的入口指令,并进行反序。
120.可选的,在本公开实施例中,可以利用docker history命令获取待加固的应用镜像中的入口指令。
121.在步骤s501中,入口指令可以为cmd指令和entrypoint指令。
122.在具体实现步骤s501的过程中,获取待加固的应用镜像中的入口指令cmd指令和entrypoint指令,并对cmd指令和entrypoint指令进行反序。
123.可选的,可以利用docker history命令查看待加固的应用镜像构建过程,根据待加固的应用镜像构建过程获取待加固的应用镜像中的入口指令cmd指令和entrypoint指令,并对cmd指令和entrypoint指令进行反序。
124.步骤s502:获取待加固的应用镜像中的配置指令及参数,并进行反序。
125.可选的,在本公开实施例中,可以利用docker history命令获取待加固的应用镜像中的配置指令及参数。
126.在步骤s502中,待加固的应用镜像中的配置指令可以为env、user和workdir,但不仅限于此。
127.在具体实现步骤s502的过程中,获取待加固的应用镜像中的env、user、workdir等配置指令及其参数,并对env、user、workdir等配置指令进行反序。
128.可选的,可以利用docker history命令查看待加固的应用镜像构建过程,根据待加固的应用镜像构建过程获取待加固的应用镜像中的env、user、workdir等配置指令及其参数,并对env、user、workdir等配置指令进行反序。
129.步骤s503:将反序后的入口指令、配置指令及参数写入执行脚本,得到新执行脚本。
130.在具体实现步骤s503的过程中,将反序后的入口指令cmd指令和entrypoint指令、配置指令及参数写入执行脚本,并对执行脚本进行更新,得到新执行脚本。
131.基于本公开实施例提供的一种镜像安全加固方法,通过获取待加固的应用镜像中的入口指令、配置指令及参数,将获取的待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,得到新执行脚本,从而使执行脚本处于最新状态,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
132.与上述本公开实施例示出的一种镜像安全加固方法相对应,本公开实施例还对应提供了一种镜像安全加固装置,如图6所示,该镜像安全加固装置包括:安全扫描模块61、第一处理模块62、第二处理模块63和构建模块64。
133.安全扫描模块61,用于对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本。
134.第一处理模块62,用于在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本。
135.第二处理模块63,用于获取待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本,得到新执行脚本。
136.构建模块64,用于利用新执行脚本构建新应用镜像,得到安全加固镜像。
137.基于本公开实施例提供的一种镜像安全加固装置,通过对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本;在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本;获取待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本,得到新执行脚本;利用新执行脚本构建新应用镜像,得到安全加固镜像。在本方案中,通过对待加固的应用镜像进行更新,将更新后的应用镜像作为基础镜像,并将所获取的待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,得到新执行脚本,利用新执行脚本构建新应用镜像,得到安全加固镜像,从而解决现有镜像安全加固方法存在的不适用或者效果差的问题。
138.可选的,基于上述图6示出的安全扫描模块61,所述安全扫描模块61具体用于:
139.对待加固的应用镜像进行安全扫描判断是否存在漏洞包;若存在漏洞包,将漏洞包更新至指定安全版本,或者更新至高于指定安全版本的安全版本;若不存在漏洞包,则继
续进行安全扫描,直至待加固的应用镜像的所有安装包扫描完毕。
140.基于本公开实施例提供的一种镜像安全加固装置,通过扫描待加固的应用镜像的安装包,当待加固的应用镜像的安装包中存在漏洞包,将漏洞包进行更新,当待加固的应用镜像的安装包中不存在漏洞包,继续进行安全扫描,直至待加固的应用镜像的所有安装包扫描完毕,从而避免安全风险,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
141.可选的,基于上述图6示出的安全扫描模块61,所述安全扫描模块61还具体用于:
142.对待加固的应用镜像进行安全扫描判断是否存在漏洞包;若存在漏洞包,将漏洞包添加至漏洞列表;若不存在漏洞包,则继续进行安全扫描,直至待加固的应用镜像的所有安装包扫描完毕;在扫描完毕后,将漏洞列表中的漏洞包逐一更新至指定安全版本,或者更新至高于指定安全版本的安全版本。
143.基于本公开实施例提供的一种镜像安全加固装置,通过扫描待加固的应用镜像的安装包,当待加固的应用镜像的安装包中存在漏洞包,将漏洞包添加至漏洞列表,当待加固的应用镜像的安装包中不存在漏洞包,继续进行安全扫描,直至完成待加固的应用镜像的所有安装包的扫描,此时将漏洞列表中的漏洞包逐一进行更新,从而能够一次性地对存在安全风险的漏洞包进行更新,提高扫描与更新效率,避免安全风险,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
144.可选的,基于上述图6示出的第一处理模块62,所述第一处理模块62具体用于:
145.导出更新后的应用镜像的根文件系统,并进行压缩,得到压缩包;利用压缩包生成基础镜像;将基础镜像对应的参数写入执行脚本。
146.基于本公开实施例提供的一种镜像安全加固装置,通过对更新后的应用镜像进行导出导入操作,生成基础镜像,利用基础镜像对应的参数写入执行脚本,从而方便将tar包进行保存以及分享,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
147.可选的,基于上述图6示出的第二处理模块63,所述第二处理模块63具体用于:
148.获取待加固的应用镜像中的入口指令,并进行反序;获取待加固的应用镜像中的配置指令及参数,并进行反序;将反序后的入口指令、配置指令及参数写入执行脚本,得到新执行脚本。
149.基于本公开实施例提供的一种镜像安全加固装置,通过获取待加固的应用镜像中的入口指令、配置指令及参数,将获取的待加固的应用镜像中的入口指令、配置指令及参数写入执行脚本,得到新执行脚本,从而使执行脚本处于最新状态,解决现有镜像安全加固方法存在的不适用或者效果差的问题。
150.基于上述本公开实施例公开的镜像安全加固装置,上述各个模块可以通过一种由处理器和存储器构成的硬件设备实现。具体为上述各个模块作为程序单元存储于存储器中,由处理器执行存储在存储器中的上述程序单元来实现镜像安全加固。
151.其中,处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现镜像安全加固。
152.本公开实施例提供了一种计算机存储介质,存储介质包括存储镜像安全加固程序,其中,程序被处理器执行时实现如权利要求1至5中任一项的镜像安全加固方法。
153.本公开实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行
时执行图1公开的镜像安全加固方法。
154.本公开实施例提供了一种电子设备70,如图7所示,为本公开实施例提供的一种电子设备70的结构示意图。
155.本公开实施例中的电子设备可以是服务器、pc、pad、手机等。
156.该电子设备包括至少一个处理器701,以及与处理器连接的至少一个存储器702,以及总线703。
157.处理器701、存储器702通过总线703完成相互间的通信。处理器701,用于执行存储器702中存储的程序。
158.存储器702,用于存储程序,该程序至少用于:对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本;在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本;获取待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本,得到新执行脚本;利用新执行脚本构建新应用镜像,得到安全加固镜像。
159.本技术还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有如下方法步骤的程序:
160.对待加固的应用镜像进行安全扫描,并将扫描到的漏洞包更新至安全版本;在完成所有漏洞包的更新后,将更新后的应用镜像作为基础镜像,并将基础镜像对应的参数写入执行脚本;获取待加固的应用镜像中的入口指令、配置指令及参数,写入执行脚本,得到新执行脚本;利用新执行脚本构建新应用镜像,得到安全加固镜像。
161.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
162.在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
163.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
164.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
165.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部
分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
166.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
167.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本公开。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1