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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 业界要闻 Docker 基础镜像 Alpine 爆出提权漏洞(CVE-2019-5021):该CVE影响自 Alpine Linux 3.3 版本开始的所有 Docker 镜像。该漏洞的机制在于 Alpine 的 root 用户包含一个空密码,这可能会导致攻击者获得 root 权限,进而造成攻击。

业界要闻

  1. Docker 基础镜像 Alpine 爆出提权漏洞(CVE-2019-5021):该CVE影响自 Alpine Linux 3.3 版本开始的所有 Docker 镜像。该漏洞的机制在于 Alpine 的 root 用户包含一个空密码,这可能会导致攻击者获得 root 权限,进而造成攻击。报告中称:受影响范围是 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
  2. 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 进行认证。
  6. 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 走向 K8s
云原生生态周报 Vol. 3 | Java 8 ️️ Docker

image

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
4天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
9天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
29 4
|
1月前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
2月前
|
Cloud Native 云计算 开发者
云原生技术实践:Docker容器化部署示例
【8月更文挑战第31天】本文通过深入浅出的方式,介绍了如何在云计算时代利用Docker容器技术实现应用的快速部署和高效管理。文章不仅解释了Docker的基本概念和优势,还提供了详细的操作步骤和代码示例,帮助初学者轻松入门。让我们一起探索云原生的世界,解锁应用部署的新姿势!
|
2月前
|
Kubernetes Cloud Native Docker
云原生入门:Docker容器化部署实战
【8月更文挑战第31天】在数字化浪潮中,云原生技术成为企业转型的助推器。本文通过Docker容器化部署的实践案例,引导读者从零基础到掌握基础的云原生应用部署技能。我们将一起探索Docker的魅力,学习如何将一个应用容器化,并在云平台上运行起来,为深入云原生世界打下坚实基础。
|
3月前
|
Web App开发 Cloud Native 测试技术
云原生之使用Docker部署Firefox浏览器
【7月更文挑战第21天】云原生之使用Docker部署Firefox浏览器
103 3
|
3月前
|
Kubernetes Cloud Native 持续交付
云原生架构的核心组成部分通常包括容器化(如Docker)、容器编排(如Kubernetes)、微服务架构、服务网格、持续集成/持续部署(CI/CD)、自动化运维(如Prometheus监控和Grafana可视化)等。
云原生架构的核心组成部分通常包括容器化(如Docker)、容器编排(如Kubernetes)、微服务架构、服务网格、持续集成/持续部署(CI/CD)、自动化运维(如Prometheus监控和Grafana可视化)等。
|
Kubernetes 安全 Linux
云原生生态周报 Vol. 7 Docker 再爆 CVE
业界要闻 Docker 基础镜像 Alpine 爆出提权漏洞(CVE-2019-5021):该CVE影响自 Alpine Linux 3.3 版本开始的所有 Docker 镜像。该漏洞的机制在于 Alpine 的 root 用户包含一个空密码,这可能会导致攻击者获得 root 权限,进而造成攻击。
1824 0
|
16天前
|
负载均衡 网络协议 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基本概念和类型,包括桥接网络、宿主网络、覆盖网络和 Macvlan 网络等,并提供了创建、管理和配置自定义网络的实用命令。通过掌握这些知识,开发者可以构建更健壮和灵活的容器化应用,提高应用的可扩展性和安全性。
|
14天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
192 69
下一篇
无影云桌面