业界要闻
- Docker 基础镜像 Alpine 爆出提权漏洞(CVE-2019-5021):该CVE影响自 Alpine Linux 3.3 版本开始的全部 Docker 镜像。该漏洞的机制在于 Alpine 的 root 用户包含一个空密码,这可能会致使攻击者得到 root 权限,进而形成攻击。报告中称:受影响范围是 Alpine Linux Docker 镜像 3.三、3.四、3.五、3.六、3.七、3.八、3.九、edge 等所有版本。目前,整个容器技术生态中不少项目的基础镜像层都在采用Alpine。在漏洞披露后,Alpine 最新版已经修复了该问题,用户可使用3.9.4版原本规避风险。这里也能够参考一些开源项目更换其余基础镜像,例如 kubernetes-csi 项目的这个PR。
- Docker 项目自己爆出严重漏洞,攻击者能够直接访问宿主机文件系统(CVE-2018-15664): 5 月 29 日,来自 SUSE 的 Linux 工程师 Aleksa Sarai 汇报了这个漏洞。他指出,在某些状况下,攻击者能够在 docker cp 进行文件路径解析和执行文件操做之间的短期窗口将本身的符号连接(symlink)插入到路径中,从而在容器中以 root 的身份直接拿到宿主机文件的符号连接,在 docker cp 的场景下,这等同于直接拿到了宿主机任意文件的读写权限。能够看到,这个漏洞是 TOCTOU 攻击的一个典型变体,利用了 Linux 操做文件时候的竞争状态(race condition)。虽然它有可能影响全部 Docker 版本, Docker 官方出台了补丁计划,会在后续版本包含相应修复补丁。这次漏洞的攻击前提是攻击者拥有docker cp命令的使用权限,阿里云容器服务集群默认开启了基于RBAC的访问控制,非法用户是没有cp命令在容器内的访问权限的。做为用户,最安全的方法是禁止在多租环境下启用 docker cp 操做,而且将 Docker Daemon 经过 apparmor 等手段进行限制。万幸的是,这个漏洞的利用方法是很是复杂的,须要构造出上述文件竞态才能产生做用。更多详细内容,请参见阿里专家的CVE-2018-15664漏洞分析报告。
上游重要进展
- Kubernetes 从 v1.15 开始将采用 go module 来进行包管理。相比于原来的 Godeps,go module 在打包、编译等多个环节上有着明显的速度优点,而且可以在任意操做系统上方便的复现依赖包。更重要的是,go module 自己的设计使得 Kubernetes 自身被其余项目引用变得更加容易,这也是 Kubernetes 项目向框架化演进的又一个重要体现。
- Envoy正在Redis Proxy中实现request mirror功能,用于对请求作镜像。该功能能够指定只对固定百分比的流量作镜像,且能够将read相关的请求给过滤掉。
- Envoy正增长路由debug的功能。经过这一功能,可掌握所发起的一个调用可否正常地路由出去,以及路由到了哪一个集群。虽然社区已经提供了route table checker这一工具,但该工具只能用于检查静态路由,对于经过xDS下发的动态路由则无能为力,路由debug功能正是瞄准动态路由的。
- Knative 社区正在探索stateful-serverless,实验性项目由lightbend公司开发(著名产品akka),指望在knative中创建一个有状态的服务,主要依赖akka cluster加一个持久化的数据库,能够将请求分配给固定的容器。演示视频:演示了一个计数器服务,另附 KubeCon 上的演讲视频
-
Eventing Security Requirements: 针对事件在数据平面的安全性的需求,knative提出了概要设计,主要定义事件处理的 3 个安全策略边界及对应的安全策略:git
- 事件提供者到事件源(Event Source), 经过身份认证及受权
- 事件流量入口(Ingress)到 Broker,经过 Token 与 Broker进行认证。
- Trigger 到消费服务。由消费服务(函数)对持有 Token 的 Trigger 进行认证。
- Istio 将结束对 1.0 版本的支持,请尽快升级:根据Istio社区的支持政策,在最新LTS发布后的三个月内,会继续支持上一个LTS版本。Istio 1.1于3月19日发布,所以社区对1.0的支持将于2019年6月19日结束。此后,将中止在1.0版本中支持安全问题和关键错误的修复,所以建议用户尽快升级到最新版本的Istio。https://istio.io/blog/2019/announcing-1.0-eol/
开源项目推荐
- Cilium:一个 Kubernetes Network Policy 的优秀实现。Cilium 是一款适用于容器间通讯的网络策略软件。依靠Linux的核心能力--柏克莱封包过滤器(Berkeley Packet Filter,缩写 BPF) 在安全性和隔离性上有表现出色。目前做为Kubernetes的addons存在,体现出很强的安全可视性和强制执行的能力。
本周阅读推荐
- Kubernetes 中 Informer 的使用简介: Informer 是编写 Kubernetes 自定义控制器的过程当中会常用到的一个概念,也是自定义控制器经过 WATCH 机制获取 Kubernetes API 对象的主要手段。不过,你是否也常常对Informer 以及相关的 Reflector、Delta FIFO Queue、Local Store、WorkQueue 这些概念困惑不已呢?这篇博客经过简单易懂的语言对 Informer 的工做原理作了一个通俗易懂的解读,推荐你学习一下。
- Service Mesh发展趋势:云原生中流砥柱: 介绍ServiceMesh最新的产品动态,分析其发展趋势和将来走向;结合蚂蚁的上云实践,阐述在云原生背景下Service Mesh的核心价值,和对云原生落地的关键做用。
本周报由阿里巴巴容器平台联合蚂蚁金服共同发布github
本周做者:至简、张磊、宋净超、林育智、大虎、王夕宁docker
原文连接数据库
本文为云栖社区原创内容,未经容许不得转载。安全