写点什么

Kubernetes 首爆严重安全漏洞,请升级你的 Kubernetes

无明,张婵整理

  • 2018-12-04
  • 本文字数:1383 字

    阅读完需:约 5 分钟

Kubernetes首爆严重安全漏洞,请升级你的Kubernetes

Kubernetes 最近爆出特权升级漏洞,这是 Kubernetes 的首个重大安全漏洞。为了修补这个严重的漏洞,Kubernetes 近日推出了几个新版本。


谷歌高级工程师 Jordan Liggitt 在周一发布的 Kubernetes 安全公告中称,Kubernetes v1.10.11、v1.11.5,v1.12.3 和 v1.13.0-rc.1 已经发布了修复版本,修复了特权升级漏洞 CVE-2018-1002105(https://access.redhat.com/security/vulnerabilities/3716411)。


这个错误的严重程度被指定为 9.8(满分 10 分),因为它可以远程执行,攻击并不复杂,不需要用户交互或特殊权限。


根据 Liggitt 的说法,恶意用户可以通过 Kubernetes API 服务器连接到后端服务器,利用 API 服务器的 TLS 凭证进行身份验证并发送任意请求。


API 服务器是 Kubernetes 的主要管理实体,它与分布式存储控制器 etcd 和 kublet 发生交互,这些代理会监视容器集群中的每个节点。


Rancher Labs 的首席架构师兼联合创始人 Darren Shepherd 发现了这个漏洞。


Red Hat OpenShift 是一个面向企业的容器平台,已经为所有产品打上了补丁。


Red Hat OpenShift 总经理 Ashesh Badani 在一篇博文中表示:“这是一个大问题。不法分子不仅可以窃取敏感数据或注入恶意代码,还可以从企业防火墙内破坏应用程序和服务”。


该漏洞主要有两个攻击媒介。


  • 首先,默认情况下,拥有 Pod exec/attach/portforward 权限的个人可以成为集群管理员,从而​​获得对 Pod 中任意容器及潜在信息的访问权限。

  • 第二种方法可以让一个未经身份验证的用户访问 API,创建未经批准的服务,这些服务可用于注入恶意代码。


Red Hat 产品安全保障经理 Christopher Robinson 在给 The Register 的一封电子邮件中解释说,“任何未经身份验证但有权限访问 Kubernetes 环境的用户都可以访问用于代理聚合 API 服务器(不是 kube-apiserver)的端点”。


“向 API 发送一个消息,造成升级失败,但连接仍然活跃,这个时候可以重用任意标头,获得集群管理员级别的访问权限来访问聚合 API 服务器。这可以被用于服务目录,进而创建任意服务实例。”


这个漏洞之所以令人如此不安,是因为未经授权的请求很难被检测到。根据 Liggitt 的说法,它们不会出现在 Kubernetes API 服务器的审计日志或服务器日志中。恶意请求在 kublet 或聚合 API 服务器日志中是可见的,但却难以将它们与经过授权的请求区分开来。


现在的修复办法只有一个,那就是升级 Kubernetes,就现在。 Kubernetes v1.10.11,v1.11.5,v1.12.3 和 v1.13.0-rc.1 已经发布了修补版本。


如果你仍在使用 Kubernetes v1.0.x-1.9.x,请更新到修补版本。 如果由于某种原因无法升级,还是有补救措施,但破坏性很大:必须暂停使用聚合的 API 服务器,并从不应有 kubelet API 完全访问权限的用户中删除 pod exec / attach / portforward 权限。Jordan Liggitt 表示,这些补救措施可能具有破坏性。


所以唯一的解决方法是升级 Kubernetes。


虽然现在还没有人利用这个漏洞进行共计,但是滥用漏洞会在日志中留下明显的痕迹。 而且,既然有关 Kubernetes 特权升级漏洞的消息已经公开,那么这个漏洞被滥用只是时间问题。


因此,在陷入困境之前,还是对 Kubernetes 系统进行升级吧。


参考链接:


https://www.theregister.co.uk/2018/12/03/container_code_clusterfact_theres_a_hole_in_kubernetes


https://www.zdnet.com/article/kubernetes-first-major-security-hole-discovered/#ftag=RSSbaffb68


2018-12-04 11:272414

评论 1 条评论

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

你的头发还好吗?大数据分析脱发城市哪里强

不脱发的程序猿

大数据 程序员 程序人生 数据分析 3月日更

不愧为Java程序员福音 2021阿里巴巴中台架构实战重磅来袭!

比伯

Java 编程 架构 面试 程序人生

APP搜索如何又快又准?

华为云开发者联盟

elasticsearch App 搜索 云搜索 词库

带你全面认识CMMI V2.0(二)

IPD产品研发管理

项目管理 CMMI

吐血整理超全Java进阶教程:基础+容器+并发+虚拟机+IO

Java架构之路

Java 程序员 架构 面试 编程语言

燃烧吧!开发者们,一起在云端构建开放成熟的 ARM 生态!

亚马逊云科技 (Amazon Web Services)

史上超强拷贝仓——GitHub 热点速览 v.21.11

HelloGitHub

GitHub 开源

第一个mybatis程序,实现CRUD

xiezhr

mybatis 中间件 crud

Java面试“圣经”,已助朋友拿到7个Offer!2021年金三银四面试知识点合集

Java架构之路

Java 程序员 架构 面试 编程语言

云通信产品专家翅飞:企业如何提升用户全生命周期管理效率?号码百科来帮忙

阿里云Edge Plus

几个你不知道的dubbo注册中心细节

捉虫大师

zookeeper dubbo 注册中心

大作业--联合运营平台

ALone

别再做智慧园区无效投入了!想要高效运行试试这个方法

一只数据鲸鱼

物联网 数据可视化 智慧城市 智慧园区

寻找被遗忘的勇气(十六)

Changing Lin

3月日更

使用Spark Mllib进行数据分析

大数据技术指南

大数据 spark 28天写作 3月日更

OpenCV萌新福音:易上手的数字识别实践案例

华为云开发者联盟

OpenCV 图像处理 数字 图像预处理 信用卡

办公自动化:Day01

缭乱地男神

办公自动化 IT蜗壳教学

白话解读 WebRTC 音频 NetEQ 及优化实践

阿里云CloudImagine

阿里云 音视频 WebRTC 音频技术 视频云

初识Golang之声明变量

Kylin

读书笔记 3月日更 21天挑战 Java转go Go 语言

Rancher 2.5.6发布,支持Kubernetes 1.20

Rancher

我帮大厂做架构之——微信的“N个朋友读过”怎么实现

臧萌

成长 架构师 职场成长

软件匠艺

Teobler

敏捷 敏捷开发 软件匠艺 伪敏捷

还在等机会?Android岗面试12家大厂成功跳槽,最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

面试必备知识点!2021Android大厂面试知识分享,offer拿到手软

欢喜学安卓

android 程序员 面试 移动开发

挑灯夜战800个小时,终从外包成功上岸字节!入职那一天我眼眶湿润了「Java岗」

Java架构之路

Java 程序员 架构 面试 编程语言

EFT是什么?EGG公链又是什么?一文带你了解

币圈那点事

公链 挖矿 #区块链#

华为在数字化浪潮下的API变革实践

华为云开发者联盟

华为 架构 数字化 API API战略

【LeetCode】螺旋矩阵 II Java 题解

Albert

算法 LeetCode 28天写作 3月日更

Java面试“圣经”,已助朋友拿到7个Offer!2021年金三银四面试知识点合集

Java架构追梦

Java 阿里巴巴 面试 架构师

语音通话 2.0

anyRTC开发者

音视频 WebRTC RTC 语音通话

最高法两会报告聚焦区块链惩治抄袭,区块链在保护网络著作权方面如何作为?

旺链科技

版权保护 区块链应用

Kubernetes首爆严重安全漏洞,请升级你的Kubernetes_安全_InfoQ精选文章