由于容器虚拟化技术可以充分利用硬件资源,对于开发团队就像梦想照进了现实。尽管容器化没有推翻虚拟机在企业应用开发和部署上的地位,但是Docker等工具在实现开发、测试和部署大规模现代软件的速度和敏捷性方面大展身手。Docker容器具有诸多优点:无需复杂的hypervisor、可移植性、资源隔离性、轻量级、开放标准、完美适应微服务架构。众多的应用通过容器隔离起来,相互独立地运行在同一台宿主机上,哪家公司不喜欢呢?
容器的速度和易用性带来了无限的可能,开发团队很容易被吸引。迄今为止,Docker容器的下载量已经超过4个亿。但是,对于容器化的担忧真真切切地存在。如果你被一时的热情冲昏了头脑,反而会适得其反,无法利用容器的潜力,阻碍开发的快速迭代和创新。如果你的公司决定要安全地拥抱docker,你需要谨慎地处理安全问题并避免牛仔编程文化。
需要澄清的是,Docker声称自己是安全的,但关键在于你必须负责任地使用。当你开始使用Docker,你会在镜像仓库(repos)发现有很多可下载的模板(“images”),它提供了一条编写微服务应用的捷径,从而大大加快开发速度。问题是你如何判断哪些images是安全的,是否包含漏洞。个人开发者可能不太关心Image的漏洞,但是对于企业,安全和数据审查是至关重要的,必须有人维护。那么问题就来了:如何将企业的安全策略应用于Docker呢?
Docker最佳实践非营利组织网络安全中心(CIS)针对docker的安全配置发布了一个详尽的、超过100页的基准测试结果,有一些特定的点需要关注一下。
1. 关注你使用的镜像(images)所有容器都来源于镜像,比较典型的是操作系统及其附属项(shell, default users, libraries, 依赖包)。正如Docker安全的一个页面上所描述:Docker容器运行的一个主要风险是:默认设置提供的隔离可能是不完善的,一方面是因为配置参数时只能考虑单个因素,另一方面镜像可能包含操作系统漏洞。因此,这需要使用者去修改容器配置和验证镜像——这条规则适用于每一个容器。
2. 实现自动化部署的代理(agent)Agent可以协助你设置容器的安全参数,因为它能够自动获取镜像(image)的信息并将其展现给你。虽然Docker Hub上的镜像在不断检查、共享和更新,你不能依赖邮件列表和问题报告来发现和管理漏洞。单个容器的安全仍然需要用户自己去负责,所以你需要自己去检查依赖。你的镜像仓库里有哪些镜像,镜像是如何运作的,你都应该理解,并且拥有自己的扫描和检查机制。Agent很适合做这项工作,因为不管是运行在宿主机上,还是容器中,Agent的系统开销都很小。
3. 以什么方式运行容器运行容器最安全的方式之一是是在只读模式下运行,容器不能被修改,而对于其他人访问的权限都没有。如果你在只读模式下运行,就不需要给每个容器配置一个agent了,也可以重用你验证过的镜像。如果容器以读/写模式运行,最好的做法是在每个容器一个代理。同时设定一些规则,不允许从公有仓库下载镜像,也不允许root下运行容器。
4. 管理容器与外部的交互一个运行的容器可以暴露端口到宿主机的任何一个网卡(network interface)——这是极其危险的。一个解决办法是只暴露宿主机的一个网卡到外网,任何外部来的请求,比如入侵检测,入侵预防、防火墙、负载均衡等均通过这个网卡处理。容器端口也应该绑定到宿主机上一个授权的可信端口。
5. 需要熟练的Linux管理技巧Docker支持很多安全增强选项,但默认情况下是没有设置的。因此,你需要一个Linux专家来管理基础设施,以保证Docker容器正常运作,并防止宿主机被误配置。
总的来说,企业使用Docker的最佳策略是结合CIS基准安全测试与企业现有的安全策略,为企业内的Docker容器建立一套安全配置“姿势”,并给开发团队创造一个安全的实验环境。
本文由时速云工程师赵帅龙编译,原文链接:企业级容器安全最佳实践
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26482.html
摘要:你首先需要了解的安全工具之一就是。是另一个可为进行安全漏洞扫描的工具。和相似,是的安全审核工具。和其他容器安全工具不同,使用创建自定义配置文件非常容易。月日,北京海航万豪酒店,容器技术大会即将举行。 网络安全问题的重要性大概毋庸置疑,最近无数关于恶意软件和安全漏洞的消息已充分证明了这一点。 假如你要管理一个Docker环境,并希望帮助自己的公司或用户在下一个大漏洞来临时避免遇到麻烦,那...
摘要:你首先需要了解的安全工具之一就是。是另一个可为进行安全漏洞扫描的工具。和相似,是的安全审核工具。和其他容器安全工具不同,使用创建自定义配置文件非常容易。月日,北京海航万豪酒店,容器技术大会即将举行。 网络安全问题的重要性大概毋庸置疑,最近无数关于恶意软件和安全漏洞的消息已充分证明了这一点。 假如你要管理一个Docker环境,并希望帮助自己的公司或用户在下一个大漏洞来临时避免遇到麻烦,那...
摘要:因此,将应用程序部署到生产需要数周或数月。它将改变应用程序开发过程,但某些挑战必须克服从而使得企业获得最大好处。平台将促进的发展,并且帮助其履行自己的承诺。 showImg(https://segmentfault.com/img/bVpNBt); 难怪Docker正在迅速发展。Docker,一个开源项目。仅仅两年,Docker价值近10亿美元,最近获得了9500万美元的资金。令人激动...
阅读 3360·2021-11-22 15:22
阅读 2280·2021-09-06 15:00
阅读 842·2020-06-22 14:39
阅读 3675·2019-08-30 15:56
阅读 1518·2019-08-30 12:55
阅读 3230·2019-08-29 17:19
阅读 3206·2019-08-26 11:41
阅读 598·2019-08-23 17:14