当前位置: 首页 > news >正文

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

相关文章:

  • oracle asm amdu和dd使用
  • shell脚本编程之“最简单的死循环”【转】
  • 用户,组和权限零碎知识
  • Java 与 PHP 的MD5加密方法
  • 关闭webstorm(2017.3.5)的分号检测
  • vue 之 .sync 修饰符
  • 75、STP环路防护UDLD、Loop Guard简介
  • TensorFlow提示AVX2...
  • 【转】Android自动化测试(UiAutomator)简要介绍
  • 进程 守护
  • sharepoint2013用场管理员进行文档库的爬网提示没有权限,拒绝的解决方法
  • Android中callback(接口回调)机制
  • 模式探索仍有心结,呷哺呷哺应该投入智能科技的怀抱?
  • HTTP请求中POST与GET的差别
  • DESTOON7.0农产品B2B供应求购交易平台源码
  • 【翻译】babel对TC39装饰器草案的实现
  • ➹使用webpack配置多页面应用(MPA)
  • Apache Spark Streaming 使用实例
  • CentOS7 安装JDK
  • Computed property XXX was assigned to but it has no setter
  • cookie和session
  • CSS3 变换
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • FineReport中如何实现自动滚屏效果
  • Java面向对象及其三大特征
  • LeetCode29.两数相除 JavaScript
  • LintCode 31. partitionArray 数组划分
  • Linux中的硬链接与软链接
  • Markdown 语法简单说明
  • node学习系列之简单文件上传
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • Web Storage相关
  • 百度小程序遇到的问题
  • 初探 Vue 生命周期和钩子函数
  • 高度不固定时垂直居中
  • 聊聊flink的TableFactory
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 浅谈Golang中select的用法
  • 如何实现 font-size 的响应式
  • 如何选择开源的机器学习框架?
  • 我的业余项目总结
  • elasticsearch-head插件安装
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #HarmonyOS:软件安装window和mac预览Hello World
  • %@ page import=%的用法
  • (26)4.7 字符函数和字符串函数
  • (6)STL算法之转换
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (实战)静默dbca安装创建数据库 --参数说明+举例