博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有容云-容器安全,六招解决
阅读量:6581 次
发布时间:2019-06-24

本文共 1986 字,大约阅读时间需要 6 分钟。

hot3.png

引言 : 容器是把双刃剑,一方面,它可以标准化应用的运行环境,实现DevOps,应用版本快速迭代,随需弹性伸缩。另一方面,它是一种全新的技术,对云计算生态从计算、存储、网络都产生了新的技术变革,如仅只是将容器作为工具替代应用打包或运行的方式,将会对系统造成较大的风险。

 

容器技术近几年的热度不言而喻,2016年是Docker的生产年,有很多公司将容器和容器平台从研发环境也搬上了生产环境。无论的开发还是运维人员都非常认可容器技术。

 

同时,容器也是把双刃剑,一方面,它可以标准化应用的运行环境,实现DevOps,应用版本快速迭代,随需弹性伸缩。另一方面,它是一种全新的技术,对云计算生态从计算、存储、网络都产生了新的技术变革,如仅只是将容器作为工具替代应用打包或运行的方式,将会对系统造成较大的风险。

 

那么如何保证在生产环境中安全的使用容器,且能更大程度发挥容器快速分发、弹性伸缩、灵活部署等特性呢? 本文将分享一些docker的安全实战经验和使用建议。

 

在有容云的丰富客户实践中,遇到过各种安全问题,列出主要问题如下:

 

  • 容器引擎运行造成宿主机系统崩溃

  • 镜像存在漏洞风险,容器规模越大,对生产环境产生影响越大

  • 容器root权限运行,无法进行同主机下多容器隔离

  • 容器中挂载宿主机目录,对主机目录的更改导致宿主机崩溃或异常

 

 

如果您也遇到以上问题,建议仔细阅读本文。

 

从容器云平台的搭建框架和使用来看,大致分为三个步骤,如下图所示:

1、容器云平台的搭建。包括管理结点、主机结点的角色配置,镜像仓库的搭建与配置等。

2、管理员通过页面访问,对环境进行配置和部署。

3、运维或应用部署人员将应用运行在容器云平台之上。

基于此步骤的描述,我们再来审视下这个过程中可能会出现的安全隐患:

 

1、镜像仓库的安全问题

2、镜像传输的安全隐患

3、主机环境的配置

4、管理结点和主机结点的传输

5、管理界面的访问和配置

6、应用之间的隔离

第一招

 

镜像仓库的安全

 

应用运行依赖的镜像都从镜像仓库中获取,故需保证镜像仓库的安全。可能出现的隐患包括:

 

  • 隐患:

1、镜像仓库链接被钓鱼,百度搜索引发的各种钓鱼故事大家已经熟知,这里不再详述,一旦被链接到恶意网站,下载伪装的镜像,对应用的风险也是不用多说的。

2、镜像仓库中镜像随意下载和流传。

3、或将镜像tag标识为重要版本,将其上传到镜像中覆盖已有版本。

 

  • 有容云解决方案:

1、镜像仓库配置CA证书,提供HTTPS访问。

2、对用于生产环境中的镜像不用latest版本。

3、对镜像仓库进行合理规划,进行项目划分,对用户进行明确的权限控制。

4、及时清理不用的镜像。

 

第二招

 

镜像制作和传输

 

  • 隐患:

1、对基于公网基础镜像生成的镜像,利用公网镜像的漏洞进行攻击。

2、对某些公开的镜像、Dockerfile或启动命令,获取其公司内部数据,如数据库链接、用户名和密码。

3、镜像pull传输过程中篡改镜像内容。

 

  • 有容云解决方案:

1、按照文章中建议的进行镜像的制作。

2、切勿为了方便,将重要访问数据,如数据库链接、访问密钥等打包进镜像中。

3、镜像pull和push过程都进行镜像签名,保证镜像完整性。

4、镜像上传时,和定期对镜像仓库中的镜像进行漏洞扫描。

 

第三招

 

主机环境的配置

 

  • 隐患:

1、通过容器对宿主机上的系统文件或关键数据进行修改或删除,导致主机系统崩溃。

2、通过容器获取主机的root权限,或主机上其他应用权限,从而操控主机。

 

  • 有容云解决方案:

1、容器平台设置用户权限,不允许root操作。

2、对容器映射主机的目录做限制。

 

第四招

 

管理结点和主机结点的传输

 

  • 隐患:

1、截获管理结点和主机结点访问的API接口,直接操作主机结点。

2、直接调用主机结点上的daemon标准接口,进行容器和镜像的删除和配置操作。

 

  • 有容云解决方案:

1、管理结点和主机结点之间通过HTTPS和token进行访问。

2、主机结点上限制远程访问。

 

第五招

 

管理界面/API的访问

 

  • 隐患:

通过浏览器token截获访问API接口,对平台进行恶意操作。

 

  • 有容云解决方案:

1、对访问token设置时限。

2、对不同的用户或场景生成不同的key进行API访问。

3、管理的web服务器端配置CA证书,通过HTTPS访问。

 

第六招

 

应用之间的隔离

 

  • 隐患:

1、通过在平台上创建新的容器,在容器中操作其他容器提供的API接口。

2、恶意攻击容器,通过不断占用容器资源(CPU/内存/磁盘/网络/会话等)来导致主机上其他容器无法正常使用。

 

  • 有容云解决方案:

1、通过制定相关策略限制容器之间的互访。

2、容器运行时配置相应配额上限,避免无限使用主机资源。

 

本文来源:

转载于:https://my.oschina.net/cloudsoar/blog/884394

你可能感兴趣的文章
[清华集训2014]玛里苟斯
查看>>
Project Euler 345: Matrix Sum
查看>>
你可能不知道的技术细节:存储过程参数传递的影响
查看>>
.htaccess 基础教程(四)Apache RewriteCond 规则参数
查看>>
UVM中的class--2
查看>>
ORACLE 存储过程异常捕获并抛出
查看>>
root用户重置其他密码
查看>>
Oracle推断值为非数字
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
从JDK源码角度看Short
查看>>
五年 Web 开发者 star 的 github 整理说明
查看>>
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
React Native 0.20官方入门教程
查看>>
JSON for Modern C++ 3.6.0 发布
查看>>
我的友情链接
查看>>
监听在微信中打开页面时的自带返回按钮事件
查看>>