基于SELinux实现Docker容器安全的解决方案的制作方法

文档序号:11323619阅读:1024来源:国知局
基于SELinux实现Docker容器安全的解决方案的制造方法与工艺

本发明涉及docker容器安全领域。



背景技术:

docker是以docker容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建、发布和运行分布式应用的平台。docker创建容器时可以指定容器的用户、角色、类型和层级等标签信息。docker创建每一个容器的进程域是相同的,但是进程的mcs(多级分类安全)不一样,能够访问的目标文件也不一样,这样做到了容器之间的相互隔离。docker为每一个容器分配两个mcs级别,这样容器与容器的文件也得到了隔离。docker创建容器时默认没有进行任何隔离设置,这在生产环境多租户场景使用存在一定的安全漏洞。

selinux是由内核实现的mac(强制访问控制),为每一个进程设置一个标签,称为进程的域;为文件设置标签,称为类型。每一个标签由用户、角色、类型和层级这四部分组成。selinux是对现有的以用户或用户组来进行文件读、写和执行的安全增强,并不是替换掉原有的安全认证体系。简单来说,selinux是在以用户为中心的经典安全体系之后的第二道屏障。selinux提供的工具audit2allow可从审计日志中提取类型强制访问控制规则,用户可以根据信息判断是否需要加入这条规则,来确定异常情况下容器是否需要继续使用。



技术实现要素:

本发明为解决上述技术问题。为此,本发明提供基于selinux实现docker容器安全的解决方案,借助原生的selinux为docker容器设置标签,对于不同的应用设置不同的能力,对应用的能力进行定制化,从而强制整个系统去遵循,可以有效限制容器访问资源,防止进程被攻陷后带来更为严重的危害。

为了实现上述目的,本发明采用如下技术方案。

基于selinux实现docker容器安全的解决方案,主机搭建好后设置好selinux的工作模式,dockerdaemon修改参数启用selinux;创建容器时通过添加security-opt参数设置容器进程的用户、角色、域、级别信息。docker对selinux的多种访问控制方式均有支持。同时容器在使用过程中通过观察系统日志,可以从中提取类型强制访问控制规则,由用户判断是否需要规则来确保群容器的继续使用。

本发明的有益效果:本发明提供基于selinux实现docker容器安全的解决方案,支持多种selinux的访问控制方式,弥补docker原生容器安全的漏洞,这样可以全局控制整个系统而非针对具体用户,把所有进程和文件都打上标签来限制docker容器如何去访问资源,从而减少提权攻击的风险,防止更为严重的危害。

附图说明

图1是本实施例的docker容器创建流程图。

图2是docker容器security-opt参数示例。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

如图1、图2所示,基于selinux实现docker容器安全的解决方案,提供了一种在生产环境下完成docker容器进程隔离和访问限制的工具,并且支持异常情况下加入规则来确保容器继续使用。具体实施过程如下:

(1)主机搭建后设置selinux模式为enforcing,docker启动时添加参数让dockerdaemon启用selinux。

(2)创建docker容器时,默认的层级将由docker生成,由一个敏感度以及两个mcs级别构成,docker保证生成层级的唯一性。用户通过添加security-opt参数设置容器进程的用户、角色、域、级别等信息,并且支持多种访问控制方式。同一类型进程,每一个进程有自己独有的目标文件,这样做到了容器间以及容器与容器的文件的隔离。

(3)docker容器出现异常情况时,selinux的工具audit2allow可以从审计日志中提取类型强制访问控制规则,用户可以根据信息判断是否需要加入这条规则,以此来确定异常情况下docker容器是否需要继续使用。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。



技术特征:

技术总结
本发明公开了一种基于SELinux实现Docker容器安全的解决方案,主机搭建好后设置好SELinux的工作模式,Docker daemon修改参数启用SELinux;创建容器时通过添加security‑opt参数设置容器进程的用户、角色、域、级别信息。本发明支持多种SELinux的访问控制方式,弥补Docker原生容器安全的漏洞,这样可以全局控制整个系统而非针对具体用户,把所有进程和文件都打上标签来限制Docker容器如何去访问资源,从而减少提权攻击的风险,防止更为严重的危害。

技术研发人员:李珂
受保护的技术使用者:郑州云海信息技术有限公司
技术研发日:2017.05.26
技术公布日:2017.10.13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1