阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

云原生生态周报 Vol. 7 | Docker 再爆 CVE

  • 2019-06-12
  • 本文字数:2378 字

    阅读完需:约 8 分钟

云原生生态周报 Vol. 7 | Docker 再爆 CVE

前言

《云原生生态周报》由阿里云容器平台联合蚂蚁金服共同发布,每周一期。众多一线社区专家与您一起“跟踪动态,读懂社区”,分享云原生社区项目进展、活动发布、精选博客等信息。以下是第七期云原生生态周报的内容。

业界要闻

  1. Docker 基础镜像 Alpine 爆出提权漏洞(CVE-2019-5021):该 CVE 影响自 Alpine Linux 3.3 版本开始的所有 Docker 镜像。该漏洞的机制在于 Alpine 的 root 用户包含一个空密码,这可能会导致攻击者获得 root 权限,进而造成攻击。

  2. 报告中称:受影响范围是 Alpine Linux Docker 镜像 3.3、3.4、3.5、3.6、3.7、3.8、3.9、edge 等全部版本。目前,整个容器技术生态中很多项目的基础镜像层都在采用 Alpine。在漏洞披露后,Alpine 最新版已经修复了该问题,用户可以使用 3.9.4 版本来规避风险。这里也可以参考一些开源项目更换其他基础镜像,例如 kubernetes-csi 项目的这个PR

  3. 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漏洞分析报告

上游重要进展

  1. Kubernetes 从 v1.15 开始将采用 go module 来进行包管理相比于原来的 Godeps,go module 在打包、编译等多个环节上有着明显的速度优势,并且能够在任意操作系统上方便的复现依赖包。更重要的是,go module 本身的设计使得 Kubernetes 自身被其他项目引用变得更加容易,这也是 Kubernetes 项目向框架化演进的又一个重要体现。

  2. Envoy正在Redis Proxy中实现request mirror功能,用于对请求做镜像。该功能可以指定只对固定百分比的流量做镜像,且可以将 read 相关的请求给过滤掉。

  3. Envoy正增加路由debug的功能。通过这一功能,可掌握所发起的一个调用能否正常地路由出去,以及路由到了哪个集群。虽然社区已经提供了 route table checker 这一工具,但该工具只能用于检查静态路由,对于通过 xDS 下发的动态路由则无能为力,路由 debug 功能正是瞄准动态路由的。

  4. Knative 社区正在探索 stateful-serverless,实验性项目由 lightbend 公司开发(著名产品 akka),期望在 knative 中建立一个有状态的服务,主要依赖 akka cluster 加一个持久化的数据库,可以将请求分配给固定的容器。演示视频:演示了一个计数器服务,另附 KubeCon 上的演讲视频

  5. Eventing Security Requirements: 针对事件在数据平面的安全性的需求,knative 提出了概要设计,主要定义事件处理的 3 个安全策略边界及对应的安全策略:


  • 事件提供者到事件源(Event Source), 通过身份认证及授权

  • 事件流量入口(Ingress)到 Broker,通过 Token 与 Broker 进行认证。

  • Trigger 到消费服务。由消费服务(函数)对持有 Token 的 Trigger 进行认证。


  1. 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/

开源项目推荐

  1. Cilium:一个 Kubernetes Network Policy 的优秀实现。Cilium 是一款适用于容器间通信的网络策略软件。依靠 Linux 的核心能力–柏克莱封包过滤器(Berkeley Packet Filter,缩写 BPF) 在安全性和隔离性上有表现出色。目前作为 Kubernetes 的 addons 存在,体现出很强的安全可视性和强制执行的能力。

本周阅读推荐

  1. Kubernetes 中 Informer 的使用简介: Informer 是编写 Kubernetes 自定义控制器的过程中会经常使用到的一个概念,也是自定义控制器通过 WATCH 机制获取 Kubernetes API 对象的主要手段。不过,你是否也经常对 Informer 以及相关的 Reflector、Delta FIFO Queue、Local Store、WorkQueue 这些概念困惑不已呢?这篇博客通过简单易懂的语言对 Informer 的工作原理做了一个通俗易懂的解读,推荐你学习一下。

  2. Service Mesh发展趋势:云原生中流砥柱: 介绍 ServiceMesh 最新的产品动态,分析其发展趋势和未来走向;结合蚂蚁的上云实践,阐述在云原生背景下 Service Mesh 的核心价值,和对云原生落地的关键作用。




本周报由阿里巴巴容器平台联合蚂蚁金服共同发布


本周作者:至简、张磊、宋净超、林育智、大虎、王夕宁、张晓宇


责任编辑:木环




前期周报回顾


云原生生态周报 Vol. 6:KubeCon EU 亮点汇总


云原生生态周报 Vol. 5: etcd 性能知多少


云原生生态周报 Vol.4:Twitter 从 Mesos 全面转向 Kubernetes


云原生生态周报 Vol. 3:Docker Hub 遭入侵,Java 8 开始提供良好的容器支持


云原生生态周报 Vol. 2:Godaddy 开源 KES、CNCF 提供免费云原生课程


云原生生态周报 Vol. 1:Google 发布 Cloud Run,开源项目 Kubecost 让 K8s 花费一目了然


2019-06-12 15:296476

评论

发布
暂无评论
发现更多内容

架构师训练营第 1 期 - 第 11 周 - 命题作业

wgl

极客大学架构师训练营

软件测试的方法

测试人生路

软件测试

现代JavaScript:ES6+ 中的 Imports,Exports,Let,Const 和 Promise

葡萄城技术团队

Java ES6

滴滴内部框架手册:Spring5+SpringMVC3+MyBatis3.X

Java架构追梦

Java spring 架构 mybatis springmvc

阿里P8整理出Nginx笔记:Nginx应用与运维实战核心篇

996小迁

Java nginx 架构 面试

架构师训练营第 1 期 第 13 周作业

李循律

极客大学架构师训练营

灵魂一问:数据库连接池到底该怎么配?

Gopher指北

MySQL Go 语言

如何阅读别人的源码

熊斌

学习 Code Review 源码阅读 七日更

ECS实践案例丨逻辑卷的创建和扩容操作指导

华为云开发者联盟

数据库 数据 服务

XRP瑞波币系统软件开发|XRP瑞波币APP开发

系统开发

判空使用isEmpty()方法真的可行吗?

田维常

Java

大神带你一睹为快!阿里技术官亲自码了“2000页的Spring全家桶笔记”真牛逼!

比伯

Java 编程 程序员 架构 计算机

波场智能合约系统开发技术方案丨智能合约DAPP系统开发源码

区块链数字货币多币种钱包开发案例

LeetCode题解:42. 接雨水,暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

传统数仓如何转型大数据

数据社

大数据 数据仓库 七日更

程序员必看的Redis6.0多线程性能测试结果及分析 你看懂了嘛?

比伯

Java 编程 架构 面试

Android uni-app实现音视频通话

anyRTC开发者

uni-app android 音视频 WebRTC 跨平台

Serverless 是一种思想状态

Serverless Devs

Java Serverless 运维 云原生 后端

高性能MySQL

田维常

MySQL

顶会两篇论文连发,华为云医疗AI低调中崭露头角

华为云开发者联盟

人工智能 医疗 华为云

打开数“智”化之门,一字之差带来的思考

京东科技开发者

DevOps IoT 新基建 智能

执法监督信息化建设,公安情报指挥一体化合成作战系统开发

t13823115967

智慧公安

你不好奇 Linux 网络发包过程吗?

小林coding

Linux 操作系统 网络

用 JavaScript 实现一个 TicTacToe 游戏 —— 编程训练

三钻

Java 算法 大前端 游戏开发 七日更

用 JavaScript 实现寻路算法 —— 编程训练

三钻

Java 算法 大前端 七日更 寻路算法

社区一体化综合平台搭建,智慧平安小区建设解决方案

t13823115967

智慧城市 智慧平安社区平台建设

都 2021 年了,Serverless 能取代微服务吗?

Serverless Devs

Serverless 微服务 运维 云原生 后端

编写令人愉悦的API接口(二)

Geek_42915f

Java APi设计 接口规范

SpacePX挖矿系统APP开发|SpacePX挖矿软件开发

系统开发

应对游戏业务的四大“崩溃”场景有妙招,安全畅玩不是梦!

华为云开发者联盟

游戏 场景 崩溃

云原生生态周报 Vol. 7 | Docker 再爆 CVE_云原生_至简_InfoQ精选文章