写点什么

云原生生态周报 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:296692

评论

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

Java | Map集合两种遍历方式

陌上

Java 编程 10月月更

“程”风破浪的开发者|一起来看看北大才女刘媛媛珍藏已久的学习方法吧!一定要点进来

跟着飞哥学编程

学习方法 “程”风破浪的开发者

js异步编程的三种模式

hellocoder2029

JavaScript

新闻贴 | KaiwuDB 受邀亮相中国 1024 程序员节

KaiwuDB

前端工程师leetcode算法面试必备-简单的二叉树

js2030code

JavaScript LeetCode

漏洞评分高达9.8分!Text4Shell 会是下一个 Log4Shell吗?

SEAL安全

安全 log4j 漏洞分析 Log4j2 漏洞 软件供应链安全

SAP | 在ABAP中如何使用方法

暮春零贰

SAP 方法调用 10月月更

JavaScript刷LeetCode拿offer-二叉树层序遍历篇

Geek_07a724

JavaScript LeetCode

JavaScript刷LeetCode拿offer-经典高频40题

Geek_07a724

JavaScript LeetCode

JavaScript刷LeetCode拿offer-链表篇

Geek_07a724

JavaScript LeetCode

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

JavaScript LeetCode

企业上云选择哪家好?需要考虑哪些因素?

行云管家

公有云 企业上云 云厂商

原生拖拽太拉跨了,纯JS自己手写一个拖拽效果,纵享丝滑

茶无味的一天

CSS html HTML5, CSS3 拖拉拽 原生js

SAP | 功能模块

暮春零贰

SAP 功能块 10月月更

Redis 知识点全面击破,多图警告

小小怪下士

Java redis 程序员

Java | Map集合的子类

陌上

Java 编程 10月月更

嵌入式 Linux 入门 环境篇(二、安装虚拟机 — 体验 Ubuntu 22.04)

矜辰所致

Ubuntu20.04 嵌入式Linux 10月月更

华为开发者大会 2022即将举办 HarmonyOS开发者用“代码”创造无限可能

极客天地

信用卡监管精细化,强化用户风险防范意识并驱动银行规范管理

易观分析

银行 信用卡

彻底搞懂nodejs事件循环

coder2028

node.js

js进阶手写常见函数

hellocoder2029

JavaScript

实用的正则表达式知识【建议收藏】

何极光

正则表达式 10月月更 RegExp

js对象和原型、原型链的关系

hellocoder2029

JavaScript

JavaScript模板字符串与es6中let的用法

何极光

ES6 let 模板字符串 10月月更

文读懂NodeJs知识体系和原理浅析

coder2028

node.js

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

Apache Linkis 介绍

一道圣光

计算中间件 大数据 开源 数据计算 10月月更

0元上新丨PostgreSQL零基础开发指南+223页学习资料

博文视点Broadview

Java | HashMap和哈希表数据结构

陌上

Java 编程 10月月更

MobLink for Flutter

MobTech袤博科技

flutter ios android

从 wepy 到 uniapp 变形记

vivo互联网技术

wepy uni-app 前端 编译器

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