容器安全与DevSecOps:一些不再适用的旧规则

本文讲的是容器安全与DevSecOps:一些不再适用的旧规则【编者的话】如何保证容器环境的安全性,从根本上保证杜绝未授权的变更呢?作者认为,将安全控制流程的时间提前是一个不错的办法。

【深圳站|3天烧脑式Kubernetes训练营】培训内容包括:Kubernetes概述、架构、日志和监控,部署、自动驾驶、服务发现、网络方案等核心机制分析,进阶篇——Kubernetes调度工作原理、资源管理及源码分析等。

有关容器环境的一个常见问题是,如何保证只有授权过的镜像才能作为容器运行呢?各种产品和开发团队在这个问题上花了不少心思,想要把软件和配置的那一套标准应用到容器管理中。

在传统的IT环境中,有两个进程可以并行:一个是软件开发(dev.),另一个是软件运行环境的基础设施运营(ops.)。针对这两个进程,已经有成熟的安全控制措施。

  • 静态代码分析工具通过评估源代码,检查常见错误,规范编码标准来保证软件开发安全
  • 服务器评估工具通过检查操作系统和其他组件的版本,扫描漏洞和补丁级别,规范配置标准来保证基础设施运营的安全

上述两个过程独立进行,只有当新开发的软件安装到基础设施上之后,二者才有交集。最重要的是,如果基础设施配置出了问题,基本上会在安全控制和运营过程中得到妥善处理,很少会影响到软件开发。

为了保证代码安全,第一步并不是简单的将其过渡到容器应用中,之后的控制步骤需要根据容器化环境进行调整。

容器:新的规则,新的安全流程

容器把所有的操作系统组件、必备组件和相关设置都嵌入到镜像当中。一旦镜像被建好和传输(ship),之后就不应该再有变动。运行状态的容器不允许调整配置、修补和替换组件。修改镜像内部环境的唯一方式就是重建新镜像。

这就是说,基础设施的安全方法唯一可以应用到的地方就是在镜像的创建过程中。因为一旦镜像完成部署,就没有改动的余地。

安全问题需要引起重视

嵌入基础设施的安全控制在很大程度上,或者说是在根本上改变了创建流程。这种方式把当前的安全控制流程完全的转移了。

不用等到开发和一体化进程完成后再进行迭代评估、修补和配置调整,安全控制需要在第一时间进行,即在镜像创建之后,在进一步的CI/CD(持续集成和持续交付)过程之前。这就是“把安全控制挪到前面来”这句话表达的真正意思。

在此过程中,需要执行基础设施安全方针中的所有要素,这点非常重要,同时,还有一些针对容器镜像的方针:

  • 根据基准镜像(模板)创建镜像
  • 服务器软件组件可以接受一定程度上的漏洞
  • 服务器软件组件是满足条件的最低版本 镜像操作系统的配置满足组织标准
  • 镜像元数据包括要求元素、用户环境设置和入口点设置。

理想情况下,这些方针与当前的物理、虚拟或者云上的主机中所应用的是对应的。例如,镜像不可接受的漏洞清单和评估服务器合规性的漏洞清单基本上是一样的。

是时候更新安全控制了

很久以来,安全组织都在关注未授权的变更。跳转服务器、特权身份管理、管理日志、变更窗口以及根因分析,这些手段都是为了检测和防止对软件组件及其配置进行未授权的变更。对主机进行内部和外部双重连续漏洞评估,是为了能及时衡量IT基础设施中不可避免的变更。

容器化环境的实现看起来不太现实。它同时要求动态性和一致性。有了容器之后,主机不再是必须的,因为主机已经没有有效荷载或配置的意义了(容器引擎除外)。同时,对运行中的容器进行变更也不再是必须的,因为当编排或重新创建容器会覆盖掉这些变更。总之,以后再也不用进行传统意义上的变更了。

在需要进行变更的地方,只需要重新构建新的镜像来替代、增加或是修补想要改动的容器,使之切合预期。如果把安全控制引入这一过程并能够有效运作,之前觉得不可能的事情就会得以实现:在根本上创造了更多的安全应用,比以往更快更高效。

原文链接:Container Security and DevSecOps: The Old Rules No Longer Apply(翻译:马远征)

原文发布时间为:2017-04-24

本文作者:马远征

原文标题:容器安全与DevSecOps:一些不再适用的旧规则

时间: 2024-08-01 17:30:32

容器安全与DevSecOps:一些不再适用的旧规则的相关文章

Linux 有问必答:如何删除 Ubuntu 上不再使用的旧内核

提问:过去我已经在我的Ubuntu上升级了几次内核.现在我想要删除这些旧的内核镜像来节省我的磁盘空间.如何用最简单的方法删除Ubuntu上先前版本的内核? 在Ubuntu上,有几个方法来升级内核.在Ubuntu桌面中,软件更新允许你每天检查并更新到最新的内核上.在Ubuntu服务器上,最为重要的安全更新项目之一就是 unattended-upgrades 软件包会自动更新内核.然而,你也可以手动用apt-get或者aptitude命令来更新. 随着时间的流逝,持续的内核更新会在系统中积聚大量的不

阿里云容器服务测评

背景 为了集中精力在上层逻辑,我们计划将自己搭建的容器调度框架mesos+marathon逐步迁移至阿里云容器服务.经过一个月的测试.迁移和开发,我们已将测试环境所有服务迁移到容器服务,并针对容器服务的问题,做了很多workaround,最终在容器服务上搭建了一个高可用零宕机的容器环境.下面我们从<云计算十字真言及其在小博无线的实践>中提到的五个维度来谈一谈容器服务的亮点和它的不足,以及如何让其变得高可用. 冗余 服务无论是被内部还是外部请求调用,都需要通过冗余来避免单点,防止单点故障时造成的

容器,你还只用Docker吗?(上)

作者介绍 周晖,Pivotal大中国区云计算首席架构师,有丰富的PaaS云实际建设经验,负责过国内某知名银行已经生产上线一年的PaaS云的架构设计和部分功能的实现,参与过某超算PaaS.某超市电商PaaS.某电力PaaS等项目的建设.   一.从一场容器的撕逼战开始说起   从2016年7月底开始,Google Kubernetes布道师 Kelsey Hightower 和Docker的CTO Solomon Hykes在Twitter上发生了一场撕逼大战,主题是要不要用RunC或其他容器来取

8 个构建容器应用的最佳实践

容器是未来在共有云和私有云进行应用开发的主要趋势,但是容器到底是什么,为什么它们成为了一种广受欢迎的部署机制,而且你需要怎样来修改你的应用来为容器化的环境优化它? 什么是容器? 容器技术的历史始于 2000 年的 SELinux 和 2005 年的 Solaris zones.今天,容器是由包括 SELinux.Linux 命名空间和控制组(cgroup)等几项内核特性构成,提供了用户进程.网络空间和文件系统空间的隔离. 为什么它们如此流行? 最近容器技术大规模的应用在很大程度上是由于旨在使容器

容器虚拟化是数据中心发展的必然趋势

很难预测2016年数据中心最重大的事件是什么.大数据?超级融合?混合云?我认为今年容器将会以更早.更快速的方式占领数据中心. 与其他技术比如大数据需要规划愿景以及提前投资不同,容器是在应用封装.部署以及托管之后顺其自然的下一个步骤,理念或愿景不需要做出重大调整.在容器内开发并部署应用要比构建一个虚拟设备更加快速.简单.容器化架构还具有令人瞩目的运维与经济效益,许可成本更低或者免费.物理资源使用效率更高.扩展性更好.服务可靠性更高.展望未来,容器虚拟化将帮助组织更好地利用混合云或跨越多云环境. 最

2016年容器虚拟化将是数据中心发展的必然趋势吗?

很难预测2016年数据中心最重大的事件是什么.大数据?超级融合?混合云?我认为今年容器将会以更早.更快速的方式占领数据中心. 与其他技术比如大数据需要规划愿景以及提前投资不同,容器是在应用封装.部署以及托管之后顺其自然的下一个步骤,理念或愿景不需要做出重大调整.在容器内开发并部署应用要比构建一个虚拟设备更加快速.简单.容器化架构还具有令人瞩目的运维与经济效益,许可成本更低或者免费.物理资源使用效率更高.扩展性更好.服务可靠性更高.展望未来,容器虚拟化将帮助组织更好地利用混合云或跨越多云环境. 最

C++利用容器查找重复列功能实现_C 语言

复制代码 代码如下: # include <vector> # include <iostream> # include <set> using namespace std; int main(int argc, char * argv[]) { vector<int> v; //找一些数据来测试 for (int i = 0; i < 50; i++) v.push_back(rand() % 25); for (int i = 0; i <

Docker网络管理及容器跨主机通信(四)

1.网络模式 docker支持四种网络模式,使用--net选项指定: host,--net=host,如果指定此模式,容器将不会获得一个独立的network namespace,而是和宿主机共用一个.容器将不会虚拟出自己的网卡,IP等,而是使用宿主机的IP和端口,也就是说如果容器是个web,那直接访问宿主机:端口,不需要做NAT转换,跟在宿主机跑web一样.容器中除了网络,其他都还是隔离的. container,--net=container:NAME_or_ID,与指定的容器共同使用网络,也没

蒙板、通道、选区的本质和联系

蒙板.通道.选区,这是PS中最容易让人产生困惑的三个概念.蒙板的种类繁多,如图层蒙板.矢量蒙板.剪贴蒙板.快速蒙板;制作选区的手段也是琳琅满目,让人应接不暇;通道的概念又极尽晦涩,让人不知所云,恰似一头雾水.在对这三个概念的理解上,可谓众说纷云,莫衷一是.本帖旨在探究三者的内涵实质及其内在联系,以期拨开迷雾,明辨是非,成蒙板.通道.选区之大统. 需要说明两点:一是本帖不是告诉大家如何使用蒙板.通道和选区的教程,而是试图从理论上阐释三者的内涵实质,并进一步探究三者之间的内在联系,因此,本帖属于理论