阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

评论

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

LeaRun模型驱动开发框架 重塑企业生产力

力软低代码开发平台

微服务架构的核心关键点

阿泽🧸

微服务架构 8月月更

借问变量何处存,牧童笑称用指针,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang类型指针(Pointer)的使用EP05

刘悦的技术博客

入门 教程 Go web 教程分享 入门介绍

MySQL权限管理

武师叔

8月月更

直播 | 服务餐饮商户年交易额超 7000 亿,哗啦啦如何用 StarRocks 搞定实时报表

StarRocks

数据库

分门别类输入输出,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本数据类型和输入输出EP03

刘悦的技术博客

golang 编程 教程 教程分享 golang 面试

超人飞来!Flutter 实现满屏的力量感动画!

岛上码农

flutter ios 移动端开发 安卓开发 8月月更

兼容并蓄广纳百川,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang复合容器类型的声明和使用EP04

刘悦的技术博客

golang go doc 教程 教程分享 golang 面试

头脑风暴:打家劫舍2

HelloWorld杰少

算法 LeetCode 动态规划 8月月更

抖音开启“818发现好物节”:电商平台造节活动何时休

石头IT视角

培训预告 | 企业应用现代化实用教程——DevOps方法论及最佳实践篇 8月11日上线

York

DevOps 云原生 团队建设 降本增效 应用现代化

Unity Metaverse(四)、接入环信IM SDK 实现用户登录注册

CoderZ

Unity 登录验证 环信im 8月月更

开源一夏 | jQuery对于链和捕获的实战研究

恒山其若陋兮

开源 8月月更

企业进行知识共享的好处有哪些?

Geek_da0866

Spring Cloud Stream 消息发送

急需上岸的小谢

8月月更

文档管理系统对于企业来说有哪些作用?

Baklib

低代码实现探索(四十七)低的不止前端,还有后端

零道云-混合式低代码平台

舔狗至高境界,学会这个技巧让你从舔狗升华到海王【Python趣味爬虫】

Geek_ac6fb9

后端

深度解读 | 关于SBOM最基础元素,你需要知道的(Part I)

安势信息

开源 漏洞 SCA SBOM 最基础元素

Netty入门 -- 什么是Netty?

Bug终结者

Netty 8月月更

Go-Excelize API源码阅读(四)——Save()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

开源一夏 | 基于 Serverless一键体验FastAPI

六月的雨在InfoQ

阿里云 开源 Serverless FC 8月月更

什么是Shell?从小白到入门你只差一个它

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

【高并发】别闹了,要实现亿级流量下的分布式限流,这些算法你必须掌握!!

冰河

并发编程 多线程 高并发 协程 异步编程

经验分享|低成本快节奏搭建企业知识管理系统的方法

Baklib

开源一夏 | RuntimeException 子类

六月的雨在InfoQ

开源 8月月更

如何让您的wiki内容更高级?

Geek_da0866

openEuler 资源利用率提升之道02:典型应用下的效果

openEuler

开源 数据 cpu 操作系统 openEuler

SRv6故障管理

穿过生命散发芬芳

8月月更 SRv6

Linux下Docker安装部署以及云原生的理解

Geek_acae888666

云原生 Docker 镜像

阿里云数据库PolarDB开源人才培养计划发布!万元好礼等你来拿!

阿里云数据库开源

数据库 阿里云 开源 认证 polarDB

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