Docker和企业安全:建立最佳实践

news/2024/7/3 14:33:16 标签: 标准, 配置, 开发, 代理, 设置

虚拟化容器的高效的硬件利用率使开发团队梦想变成现实。或许容器化永远不会替代虚拟机在企业应用开发和部署中的地位,但是越来越流行的像Docker这样的系统满足人们开发、测试和部署现代大型的软件的期待列表中的速度和敏捷这两个需求。没有重量级的管理程序、极度便携、分隔资源、惊人的轻量级容器、开放标准、完美的微服务架构、包含许多开箱即用的干净的软件包的单一Linux实例,所有这些特质加起来,叫我们如何不爱她。

开发团队很容易为这样的速度和便捷带来的可能性倾倒(至今已经有超过4亿Docker容器的下载,这是令人兴奋的)。但是确实有对容器化和安全的担忧。你当然不能因此抑制你的热情就把快速迭代和创新抹杀了(这样就彻底地否定了所有美好的可能),但是如果你想你的组织安全地拥抱Docker,你确实需要避免牛仔式的编程文化,需要预先考虑安全。

明确地说,Docker模型确实是考虑了安全的,但是负责地使用是关键。当你开始使用Docker时,你很快发现网上Docker库中有许多可以下载的模板(镜像)可以作为开发你自己的微服务的捷径,因此你可以指数级地提高开发速度。问题是你不知道哪些镜像是安全的(他们可能存在隐患),在哪里可能存在最近的安全告警。镜像的隐患对个人应用开发者可能不是个大问题,但是对企业来说,安全和数据符合策略是重要的并且必须得到保证。问题来了,在应用Docker时应该注意什么呢?

Docker最佳实践

为了在你的组织中确保最佳实践,可以参考互联网安全中心(CIS)提供的超过100页的Docker配置的 安全标准 资源。此外,下列这些方面也需要注意。

  1. 知道你在使用什么镜像
    所有容器都继承自一个父镜像,典型情况就是一个基础操作系统和一些依赖(shell、缺省用户、软件库、依赖的软件包等)。Docker的安全须知中明白地说:“运行Docker容器的一个首要风险是容器的缺省的能力集合和配置可能没有提供足够的资源隔离,或者是由于容器本身的原因,或者是和内核的缺陷配合的原因。”所以小心地设置容器的能力集和验证任何镜像是否满足安全需求是每个用户自己的责任,这对每一个容器都是适用的。

  2. 部署代理
    代理为你的容器的安全参数进行设置提供帮助,因为他们自动地让你可以看到父镜像中的内容。因为终端用户自己需要确保每一个容器的安全性,你需要一个方法来自己检查依赖(虽然镜像在发布和更新时在Docker Hub上不断地被扫描,但是你不能依靠邮件列表和问题跟踪报告来管理隐患)。当你往你的方案中加东西时,你应该理解底层的细节并且自己做扫描和验证。代理在主机和Docker容器的层面用很小的开销来做这件事。

  3. 考虑你运行的方式
    以只读模式来运行Docker容器是最安全的运行方式之一,这样他们就不能够被其他人修改或非法访问。如果在只读模式下运行,你不需要每个容器都安排一个代理,你可以重用一个验证过的父镜像。如果你在即可读又可写的模式下运行,你最好在每个容器中放一个代理。你也应该设置一条不允许从公共场所获取镜像的规则,并且永远不在特权优先级来运行容器。
  4. 管理容器与外部的交互
    从安全角度来说,一个容器接受任意网卡任意端口上来的连接请求是一条红色警报。好的方法是只暴露一个安装了例如入侵检测、入侵防御、防火墙、负荷分担等服务的特定的外部接口来过滤所有到来的流量。容器的端口也应该绑定在可靠的特定的主机接口上。
  5. 需要过硬的Linux系统管理技能
    Docker可以提供增强的安全能力,但是缺省他们是关闭的。所以有Linux专家来确立你的Docker工作流程和巩固你的Linux主机来避免错误配置显得非常关键(许多常见的Docker错误都是由于用户的错误配置导致的)。

总体而言,企业应用Docker的最佳策略是把互联网安全中心的安全标准和你现有的安全策略融合起来。这将会确保你的所有Docker容器保持安全的状态,给在上面开发的团队提供一个更安全的场所。

原文链接:http://resources.infosecinstitute.com/docker-and-enterprise-security-establishing-best-practices/

责编,魏伟,关注Docker,寻求报道和投稿请联系邮箱weiwei@csdn.net


http://www.niftyadmin.cn/n/1840239.html

相关文章

MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止

这几天因为工作需求,需要把MySQL请出来,所以将尘封已久的MySQL进行启动。可是事与愿违,兴许是许久没有访问MySQL了,MySQL生气的不理我,并向外抛出一阵阵报错。 1、其中一个是:Windows无法启动MySQL57服务&a…

开张了~~

哈哈 今天 2004年6月15日 我的blog开张了 Cathy下午打了电话过来了 以后我想写信的机会就会少很多了 我都去写blog去了 哈哈明天早上的捷克对拉脱维亚 德国对荷兰都是我很期待的啊... 捷克96年我看的第一场就2:1干掉了意大利 不知道内德维德的捷克今天的表现如何 德国和荷兰都是…

社区不是请客吃饭(一):如何加入OpenStack基金会

我经常被人问到:“我如何才能参与OpenStack社区”,提这个问题的有工程师、高校的老师和学生、媒体人,甚至企业的高管。这并不是个一两句话简单能回答的问题。 有的人会觉得经常和OpenStack圈里的人一起喝茶聊技术、经常在一两个OpenStack微信…

MT6735和MT6737芯片资料下载,哪个好?

MT6735和MT6737芯片资料下载,哪个好?首先根据各型号做个简介,然后做个对比总结,再来讲讲我下载的一些资料,整个流程应该内容比较多,慢慢看哈,希望对你有所帮助: MT6735 联发科技 MT6…

DApp游戏系统开发

DApp 作为区块链技术落地的重要一环,在 Ethereum、EOS 等开发平台的主网络陆续上线后有了一定的发展,而游戏 DApp 作为发展态势最迅猛的一类 DApp,吸引了众多开发者和传统机构的注意。从 2017 年 12 月的 CryptoKitties 到 2018 年 7 月的 Fo…

社区不是请客吃饭(二):不出国门也能参与OpenStack Summit

上一篇发出以后,有人问我封面图片是从哪里来的,也想用一下。这张照片是我在OpenStack东京峰会上拍的,没有做过后期,是相机直接拍出的效果,我将这张照片称为“There is a U (you) in the Community”。既然说到峰会&…

MTK-MT6771芯片资料,最新的MT6771芯片规格书原理图设计资料

MTK-MT6771芯片资料,最新的MT6771芯片规格书原理图设计资料 MT6771即p60具有集成的蓝牙、fm、wlan和gps模块,是一个高度集成的基带平台,包括调制解调器和应用处理子系统,启用LTE/LTE-A和C2K智能手机应用程序。该芯片集成了ARM Cor…

KD06丨超级趋势线第4版大升级

大家好,今天我们来分享可达鸭策略最后一期——超级趋势线第4版,进出场自适应大升级。 从2021年开始,我开始分享超级趋势线系列策略。在最初超级趋势线主体构造不断改造,到加入过滤,到出场迭代等等,历经大版…