一种基于Docker的可信容器安全加固方法_3

文档序号:9350280阅读:来源:国知局
提出的安全加固方法,而在该应用场景下,各Docker容器分工明确^内部运行的进程类别单一,一般每个容器仅提供一种服务。因此,管理员可根据实际情况设置每个容器的进程白名单,这样进程监控模块就可以有针对性的对每个容器实时监控,确保容器内部运行的都是合法进程。
[0044]步骤3.2:进程监控模块读入对应容器的进程白名单;
步骤3.3:进程监控模块开始实时监控^若发现容器内部存在白名单中未曾出现的迸程,即刻拦截并提示管理员;
步骤4:容器启动后的网络监控,请见图5,其具体实现包括以下子步骤:
步骤4.1:用户输入指定容器的通信管理策略,即IP及端口白名单;白名单中为允许容器与之通信的主机]P及端口,其中包括外界主机和本地其他容器;主要目的是限制容器非授权的通信行为。
[0045]步骤4.2:网络通信监控模块读入白名单,将白名单中的IP及端口转换成iptables规则文件;
步骤4.3:网络通信监控模块将步骤4.2中产生的规则文仲载入iptables防火墙;步骤4.4:用户自定义规则生效,容器只能和指定主机进行通信,若出现非授权通信行为’网络通信监控模块将立即阻止。
[0046]本发明将可信计算的思想及相关技术应用于Docker安全,构造了从底层操作系统到Docker程序再到镜像最后到容器内应用的信任链,实现了对容器的完整性度量^防止对于容器的非法篡改。
[0047]本发明通过自定义的安全策略,对容器内运行的进程和容器的通信行为进行监控-防止容器内程序入侵容器和容器间的非授权通信。当出现恶意进程或容器进行非授权通信时\系统将感知到异常并发出警告。
[0048]本发明与Daniel等人的工作1、N,本发明重点关注Docker容器的可信性,利用可信it算、完整性度量技术,配合实时监控模块对基于Docker的容器系统进行加固,保护容器及镜像不被篡改,同时限制容器的网络通信行为并监控容器内部进程,从而买现一个安全加强的可信容器。
[0049]应当理解的是,本说明书未详细阐述的部分均属于现有技术。
[0050]应当理解的是,上述针对较佳实施例的描述较为详细,并不能因鹿而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
【主权项】
1.一种基于Docker的可信容器安全加固方法,用于对Docker容器系统进行安全增强,实现基于Dockeir的可信容器,应用于基于Docker的服务器集群中r该基于Docker的可信容器包含容器程序Docker.、容器可信度量模块、进程监控模块和网络通信监控模块,其中容器可信度量模块包括可信启动子模块与文件度量子模块;其中Docker为容器程序主体,用于对各个进程监控模块的调用以及对容器镜像的可信度量,可信启动子模块用于实现镜像的完整性度量和容器的可信启动;文件系统监控模块用于对各个容器的文件系统的监控;进程监控模块羯于通过设置黑白名单实现对容器内的进程的监控;网络通信监控模块用于对容器的网络连接的细粒度控制,限刺容器对外连接和容器间的连接; 其特征在于,包括以下步骤: 步骤1:容器的可信启动,其具体实现包括以下子步骤: 步骤I, I ;B10S加电启动搜索到MBR,读取配置信息,将控刺权转给TrustedGRUB ; 步骤I。2:TrustedGRUB加载系统内核,对Dockei'程序的可执行文件及关键配置文件进行完整性度量,完整性度量通过之后,将度量结果存入PCR,将控制权转给操作系统; 步骤1.3:操作系统启动之后,启动Docker程序;步骤L 4:Docker程序启动之后,可信启动子模块启动,随即监控Docker关于镜像获取的命令;当Docker获取到新镜像后,度量程序开始计算镜像的HASH基准值并加密存储;步骤L 5:接收到用户发出的启动容器命令时,首先读入存有HASH基准值的文件,用密钥将其解密,得到40位HASH值;然后再依据步骤L 4中所述的计算镜像MSH基准值的方法再计算一遍镜像的HASH值; 步骤1.6:将步骤I。5屮新计算得到的HASH值与步骤1.4中的HASH基准值进行对比,若两值相等则启动容器,否则不启动将弹框报告用户,提示镜像已被篡改; 步骤2:容器启动后的文件系统监控,其具体实现包括以下子步骤: 步骤2.1:启动容器之后,Docker对文件系统监控程序可执行文件进行度量,验证完文件系统监控程序可执行文件的完整性后启动文件系统监控程序; 步骤2.2:文件系统监控程序启动之后计算容器的文件系统的读写层的HASH值; 步骤2、3:对容器的文件系统的读写层的HASH进行加密作为基准值存储在以容器ID为文件名的文件中; 步骤2.4:当经过预设的时间以后,文件系统监控模块对文件系统的读写层的HASH值进行解密,然后重新计算容器的文件系统的MSH值作为实时度量值; 步骤2.5:将步骤2.4中的两个MSH值进行对比;如果两个HASH值相等,则等待下一次度量文件系统直到劂除容器;如果两个MSH值不相等,则说明度量值与基准值不一样,容器文件系统的读写层被篡改;如果管理员是合法更新了读写层文仲,则可输入管理员用户名和密码更新基准值;如果密码输入错误则身份认证失败,并报告管理员为非法修改,本流程结束;如果密码输入正确则身份认证通过,更新基准值,并回转执行所述的步骤2.3 ;步骤3:容器启动后的进程监控,其具体实现包括以下子步骤: 步骤3.1:用户输入指定容器的管理策略,即进程白名单;白名单中为可在容器中正常运行的程序; 步骤3.2:进程监控模块读入对应容器的进程白名单; 步骤3.3:进程监控模块开始实时监控^若发现容器内部存在白名单中未曾出现的迸程,即刻拦截并提示管理员; 步骤4:容器启动后的网络监捏,其具体实现包枯■以下子步骤? 步骤4.1:用户输入指定容器的通信管理策略,即IP及端口白名单;白名单中为允许容器与之通信的主机IP及端□,其中包括外界主机和本地其他容器; 步骤4.2 ;网络通信监控模块读入白名单,将白名单中的IP及端口转换成iptab:丨es规贝y文件; 步骤4.3:网络通信监控模块将步骤4, 2中产生的规则文件载入iptables防火墙; 步骤4, 4:用户自定义规则生效,容器只能和指定主机进行通信,若出现非授权通信行为,网络通信监控模块将立即阻止。2.根据权利要求1所述的基于Docker的可信容器安全加固方法,其特征在于,步骤.1.2中所述的可执行文仲及关键配置文件包括: /etc/btish—complet1n, d/docker ; /etc/init.d/docker ; /etc/default/docker ; /var/1ib/docker/init/dockerInit-1.6.0 ; /var/lib/docker/init/dockerirsit,-1.7.0—dev ? /etc/init/docker, conf ; /lib/systerad/system/docker,service ; /Iib/systemd/system/docker, socket ;3.根据奴利要求I所述的基于Docker的可信容器安全加固方法,其特征在于,步骤1.4中所述的Docker获取镜像的方式有三种,包括从Registry下载镜像、将当前活动容器封装成镜像、从tar包读取镜像存于本地这三种方式对应的Docker命令分别是pull、commit、load与 save。4.根据权利要求1所述的基于Docker的可信容器安全加固方法,其特征在于,步骤.1- 4中所述度量程序所度量的内容包括镜像的rootfs层、镜像配置信息以及层间关系文件。5.根据权利要求1所述的基于Docker的可信容器安全加固方法,其特征在于,步骤.1.4中所述的度量程序幵始计算镜像的MSH基准值并加密存储,其具体实现过程是度量程序通过调用TPM提供的SM-!引擎分别计算得到与镜像有关的各部分HASH值,并将他们连接起来再进行一次S[-[A-1,计算得到最后的HASH值,将此HASH值作为基准值,对其进行加密存储;所述的加密存储利用的是TPM提供的RSA密钥将hash值加密为512位密文最后将密文存入以镜像id命名的文件中。6.根据权利要求1所述的基于Docker的可信容器安全加固方法,其特征在于,步骤.2.2中所述的文件系统监控程序启动之后计算容器的文件系统的HASH值,Docker对文件系统监控程序可执行文件进行度量,度量的内容包括容器当前可读写层、读写层对应的init层以及层间关系文件。
【专利摘要】本发明公开了一种基于Docker的可信容器安全加固方法,用于对Docker容器系统进行安全增强,实现基于Docker的可信容器,应用于基于Docker的服务器集群中;该基于Docker的可信容器包含容器程序Docker、容器可信度量模块、进程监控模块和网络通信监控模块,其中容器可信度量模块包括可信启动子模块与文件度量子模块;本发明重点关注Docker容器的可信性,利用可信计算、完整性度量技术,配合实时监控模块对基于Docker的容器系统进行加固,保护容器及镜像不被篡改,同时限制容器的网络通信行为并监控容器内部进程,从而实现一个安全加强的可信容器。
【IPC分类】G06F21/55
【公开号】CN105069353
【申请号】CN201510488809
【发明人】王鹃, 张雨菡, 于鹏, 陈铜, 李雅苹
【申请人】武汉大学
【公开日】2015年11月18日
【申请日】2015年8月11日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1