摘要:中国论坛提案征集月日截止论坛让用户开发人员从业人员汇聚一堂,面对面进行交流合作。赞助方案出炉多元化奖学金现正接受申请即将首次合体落地中国
2月11日早上有宣布关于runc中的容器逃逸漏洞。我们希望为Kubernetes用户提供一些指导,以确保每个人都安全。
Runc是什么?简单来说,runc是一个低层工具,它负责大量生成Linux容器。Docker、Containerd和CRI-O等其他工具位于runc之上,用于处理数据格式化和序列化等问题,但runc是所有这些系统的核心。
Kubernetes位于这些工具之上,因此虽然Kubernetes本身的任何部分都不容易受到攻击,大多数Kubernetes安装都使用了runc。
这个漏洞是关于?虽然完整的细节仍然被禁止以提供人们时间补丁,但粗略的版本是:当在容器内以root(UID 0)运行进程时,该进程可以利用runc中的错误来获取运行容器的主机的root权限。然后,这允许他们无限制地访问服务器以及该服务器上的任何其他容器。
如果容器内的进程是可信任的(是你知道的东西而不是敌对的)或者没有以UID 0运行,则不受该漏洞影响。如果已应用适当的政策,SELinux也可以阻止它。RedHat Enterprise Linux和CentOS都在其软件包中包含适当的SELinux权限,因此如果启用SELinux,则应该不受影响。
最常见的风险来源是攻击者-控制器(attacker-controller)容器镜像,例如来自公共存储库的未经审查的镜像。
我该怎么办?与所有安全问题一样,两个主要选项是缓解漏洞,或将runc版本升级到包含此修补程序的版本。
由于漏洞需要容器内的UID 0,因此直接缓解是确保所有容器都以非0用户身份运行。这可以在容器镜像中设置,也可以通过pod规范设置:
apiVersion: v1 kind: Pod metadata: name: run-as-uid-1000 spec: securityContext: runAsUser: 1000 # ...
这也可以使用PodSecurityPolicy全局实施:
apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: non-root spec: privileged: false allowPrivilegeEscalation: false runAsUser: # Require the container to run without root privileges. rule: "MustRunAsNonRoot"
考虑到在容器内作为UID 0运行的整体风险,强烈建议设置这样的政策。
另一个潜缓解措施是确保所有容器镜像都经过审查和可信任。这可以通过自己构建所有镜像,或者通过审查镜像的内容然后固定到镜像版本哈希来实现(image:external/someimage@sha256:7832659873hacdef)。
升级runc通常可以通过升级你的发行版的软件包runc,或通过升级你的操作系统镜像(如果使用不可变镜像)来完成。这是各种发行版和平台的已知安全版本列表:
Ubuntu - runc 1.0.0~rc4+dfsg1-6ubuntu0.18.10.1
Debian - runc 0.1.1+dfsg1-2
RedHat Enterprise Linux - docker 1.13.1-91.git07f3374.el7 (if SELinux is disabled)
Amazon Linux - docker 18.06.1ce-7.25.amzn1.x86_64
CoreOS - 2051.0.0
Kops Debian - in progress
Docker - 18.09.2
一些平台还发布了更具体的说明:
Google Container Engine (GKE)
Google发布了一份包含更多详细信息的安全公告,但简而言之,如果你使用默认的GKE节点镜像,那么你就是安全的。如果你使用的是Ubuntu节点镜像,则需要缓解或使用已知安全版本的runc来升级镜像。
Amazon Elastic Container Service for Kubernetes (EKS)
亚马逊还发布了一份包含更详细信息的安全公告。所有EKS用户都应该缓解问题或升级到新节点镜像。
Docker
我们没有具体确认Docker for Mac和Docker for Windows是易受攻击的,但似乎很可能。Docker发布了18.09.2版本的修复程序,建议你升级到它。这也适用于使用Docker的其他部署系统。
如果您无法升级Docker,Rancher团队已在github.com/rancher/runc-cve上为许多旧版本提供了修复的后端。
获取更多信息如果你对此漏洞如何影响Kubernetes有任何疑问,请通过discuss.kubernetes.io加入我们的讨论。
如果你想与runc团队取得联系,你可以通过Google网上论坛或Freenode IRC上的#opencontainers与他们联系。
KubeCon + CloudNativeCon中国论坛提案征集(CFP)2月22日截止
KubeCon + CloudNativeCon 论坛让用户、开发人员、从业人员汇聚一堂,面对面进行交流合作。与会人员有 Kubernetes、Prometheus 及其他云原生计算基金会 (CNCF) 主办项目的领导,和我们一同探讨云原生生态系统发展方向。
中国开源峰会提案征集(CFP)2月22日截止
在中国开源峰会上,与会者将共同合作及共享信息,了解最新和最有趣的开源技术,包括Linux、IoT、区块链、AI、网络等;并获得如何在开源社区中导向和引领的信息。
大会日期:
提案征集截止日期:太平洋标准时间 2 月 22 日,星期五,晚上 11:59
提案征集通知日期:2019 年 4 月 8 日
会议日程通告日期:2019 年 4 月 10 日
会议活动举办日期:2019 年 6 月 24 至 26 日
提醒:这是一场社区会议。因此,让我们尽量避开公然推销产品和/或供应商销售宣传。
KubeCon + CloudNativeCon + Open Source Summit赞助方案出炉
KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请
KubeCon + CloudNativeCon + Open Source Summit即将首次合体落地中国
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/32873.html
摘要:运行引擎贡献者项目获得核心基础结构计划的最佳实践徽章中国论坛提案征集月日截止论坛让用户开发人员从业人员汇聚一堂,面对面进行交流合作。和赞助方案出炉和多元化奖学金现正接受申请和即将首次合体落地中国 showImg(https://segmentfault.com/img/bVbonuW?w=1166&h=404);欢迎来到containerd的v1.1.6版本! 这是containerd...
摘要:本篇目录漏洞详情漏洞详情影响范围影响范围修复方案修复方案参考链接参考链接已于年月日修复容器逃逸漏洞,并通过攻防测试。下载修复的版本对应的容器版本为,内核版本为,并替换原有的。该方案会导致容器和业务中断,请谨慎操作。 CVE-2019-5736本篇目录漏洞详情影响范围修复方案参考链接UK8S已于2019年2月14日15:00修复runc容器逃逸漏洞,并通过攻防测试。本文主要介绍2019年2月1...
摘要:在年月底时,我写了一篇文章发布之际。为何有存在前面已经基本介绍了相关背景,并且也基本明确了就是在正式发布之前的最后一个版本,那为什么会出现呢我们首先要介绍今年的一个提权漏洞。 在 18 年 11 月底时,我写了一篇文章 《runc 1.0-rc6 发布之际》 。如果你还不了解 runc 是什么,以及如何使用它,请参考我那篇文章。本文中,不再对其概念和用法等进行说明。 在 runc 1....
摘要:在年月底时,我写了一篇文章发布之际。为何有存在前面已经基本介绍了相关背景,并且也基本明确了就是在正式发布之前的最后一个版本,那为什么会出现呢我们首先要介绍今年的一个提权漏洞。 在 18 年 11 月底时,我写了一篇文章 《runc 1.0-rc6 发布之际》 。如果你还不了解 runc 是什么,以及如何使用它,请参考我那篇文章。本文中,不再对其概念和用法等进行说明。 在 runc 1....
摘要:网易云技术团队则迅速完成分析和测试,并以最高优先级处理该漏洞,紧急上线了漏洞修复方案,最终完全消除了该漏洞可能产生的影响,确保了公有云服务的安全性。 近日,业界爆出的runC容器越权逃逸漏洞CVE-2019-5736,席卷了整个基于runC的容器云领域,大量云计算厂商和采用容器云的企业受到影响。网易云方面透露,经过技术团队的紧急应对,网易云上的容器服务已经被成功修复,网易云公有云客户在...
阅读 3841·2021-11-16 11:44
阅读 3097·2021-11-12 10:36
阅读 3353·2021-10-08 10:04
阅读 1227·2021-09-03 10:29
阅读 371·2019-08-30 13:50
阅读 2571·2019-08-29 17:14
阅读 1719·2019-08-29 15:32
阅读 1050·2019-08-29 11:27