写点什么

新版发行 + 被报首个严重漏洞,Kubernetes 动态有点多

  • 2020-04-22
  • 本文字数:2376 字

    阅读完需:约 8 分钟

新版发行+被报首个严重漏洞,Kubernetes动态有点多

K8S 首爆严重安全漏洞,严重性 9.8 分

Kubernetes 于昨晚爆出严重安全漏洞, 该漏洞由 Rancher Labs 联合创始人及首席架构师 Darren Shepherd 发现 。该漏洞 CVE-2018-1002105(又名 Kubernetes 特权升级漏洞,https://github.com/kubernetes/kubernetes/issues/71411)被确认为 严重性 9.8 分(满分 10 分) ,恶意用户可以使用 Kubernetes API 服务器连接到后端服务器以发送任意请求,并通过 API 服务器的 TLS 凭证进行身份验证。这一安全漏洞的严重性更在于它可以远程执行,攻击并不复杂,不需要用户交互或特殊权限。



Rancher Labs 联合创始人及首席架构师 Darren Shepherd,同时也是 Docker 生态核心组织 Docker 治理委员会(DGAB)的全球仅有的四位个人顶级贡献者之一。


更糟糕的是,在 Kubernetes 的默认配置中,允许所有用户(经过身份验证和未经身份验证的用户)执行允许此升级的发现 API 调用。也就是说, 任何了解这个漏洞的人都可以掌控你的 Kubernetes 集群。


最后的痛苦之处在于,对于用户而言, 没有简单的方法来检测此漏洞是否已被使用。 由于未经授权的请求是通过已建立的连接进行的,因此它们不会出现在 Kubernetes API 服务器审核日志或服务器日志中。请求确实会出现在 kubelet 或聚合的 API 服务器日志中,但是却无法与正确通过 Kubernetes API 服务器授权和代理的请求区分开来。


现在,Kubernetes 已经发布了修补版本 v1.10.11、v1.11.5、v1.12.3 和 v1.13.0-rc.1。如果您仍在使用 Kubernetes v1.0.x 至 Kubernetes v1.9.x 版本, 请即刻停止 并升级到修补版本。


如果由于某种原因你无法升级,你必须暂停使用聚合的 API 服务器,并从不应具有对 kubelet API 的完全访问权限的用户中删除 pod exec / attach / portforward 权限(不过也有用户认为这种解决方法的糟糕程度和这个漏洞问题本身不相上下了)。

Kubernetes 1.13 发布,三大功能 GA

昨晚差不多同一时间,Kubernetes 最新版本 1.13 亦正式发布,这是 Kubernetes 在 2018 年的第四次也是最后一次大版本更新。


距离上一版本Kubernetes 1.12发布仅 10 周时间,1.13 是今年 Kubernetes 更新最快的版本。


Kubernetes 1.13 关注的重点依然是 Kubernetes 的稳定性和可扩展性,此版本中的有三个主要功能正式成为 GA 状态,包括:使用 kubeadm 简化集群管理、容器存储接口(CSI)、以及使用 CoreDNS 作为默认 DNS。

使用 kubeadm 简化 K8S 集群管理,该功能已 GA

大多数直接使用 Kubernetes 的用户在某些时候都会直接上手使用 kubeadm。它是管理集群从创建到配置再到升级这一生命周期的重要工具。现在,kubeadm 正式 GA。kubeadm 可以处理现有硬件上的生产集群的引导(bootstrapping),并以最佳实践方式配置核心 Kubernetes 组件,以便为新节点提供安全而简单的连接流程并能够轻松升级。该 GA 版本中值得一提的是,现在已经完成的高级特性,特别是可拔性和可配置性。kubeadm 的目标是成为管理员和自动化的工具箱以及更高级的系统。这一版本在这个方向上已经迈进了一大步。

容器存储接口(CSI)现已 GA

容器存储接口(CSI)在作为 alpha 引入 v1.9 以及在 v1.10 作为 beta 引入之后,现已正式 GA。使用 CSI,Kubernetes volume 变得真正可扩展。这让第三方存储提供商可以编写与 Kubernetes 互操作而无需触及核心代码的插件。Specification 本身也达到了 1.0 的状态。随着 CSI 逐渐稳定,插件作者可以按照自己的节奏开发核心存储插件。同时,可以在 CSI 文档中找到样本和生产驱动的列表:


https://kubernetes-csi.github.io/docs/Drivers.html

CoreDNS 成为 Kubernetes 的默认 DNS 服务器

在 Kubernetes1.11 中, CoreDNS 作为基于 DNS 的服务发现已经 GA。在 1.13 中,CoreDNS 将替换 kube-dns,成为 Kubernetes 的默认 DNS 服务器。CoreDNS 是一个通用的、权威的 DNS 服务器,提供与 Kubernetes 向后兼容但可扩展的集成。CoreDNS 比以前的 DNS 服务器具有更少的移动部件,因为它是单个可执行文件和单个进程,并通过创建自定义 DNS 条目来支持灵活的用例。它也是用 Go 语言编写,具有内存安全性。


CoreDNS 现在是 Kubernetes 1.13+推荐的 DNS 解决方案。该项目已将常用测试基础架构切换为默认使用 CoreDNS,官方也建议用户进行切换。对 KubeDNS 的支持和维护将至少再延续一个版本,但现在是时候开始规划迁移了。许多 OSS 安装工具已经进行了切换,包括 1.11 中的 Kubeadm。如果您使用的是托管解决方案,请与您的供应商确认了解这将如何影响到您。

其他功能更新

  • 对第三方设备监控插件的支持:该功能目前被引入为 alpha 功能(https://github.com/kubernetes/enhancements/issues/606)。

  • Kubelet 设备插件注册:该功能将成为 stable 状态。这创建了一个通用的 Kubelet 插件发现模型,可以由不同类型的节点级插件(例如设备插件、CSI 和 CNI)用于与 Kubelet 建立通信通道。

  • 拓扑感知卷调度:该功能现成为 stable 状态。这使调度程序能够识别 Pod 的卷的拓扑约束,例如区域或节点。

  • APIServer DryRun:该功能即将升级为 beta 版。这将“应用”和声明性对象管理从移动 kubectl 到 apiserver,以便修复当前无法修复的许多现有错误。

  • Kubectl Diff:即将升级为 beta 版。这允许用户运行 kubectl 命令以查看本地声明的对象配置与活动对象的当前状态之间的差异。

  • 使用持久性卷源的原始块设备:正逐渐升级为 beta 版。这使得原始块设备(非网络设备)可通过持久卷源进行使用。


用户现可在 GitHub 上下载使用 Kubernetes 的最新版本 1.13:


https://github.com/kubernetes/kubernetes/releases/tag/v1.13.0


更多参考:

https://kubernetes.io/blog/2018/12/03/kubernetes-1-13-release-announcement/

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

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


2020-04-22 18:32718

评论

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

Jenkins 多分支项目过滤及 when 的高级用法

jerry.mei

DevOps 运维 自动化 jenkins CI/CD

封装element-ui表格,我是这样做的

前端有的玩

Java Vue Element 封装

读完《云原生架构白皮书》,我们来谈谈开放应用模型(OAM)

郭旭东

Kubernetes 云原生 OMA

作业1

武鹏

从零开始写一个迷你版的Tomcat

简爱W

第8周-作业2

seng man

云图说|“真人?机器?傻傻分不清!” WAF Bot管理,带你慧眼辨“精”!

华为云开发者联盟

bootstrap 搜索引擎 安全 防火墙 华为云

LeetCode题解: 206. 反转链表,JavaScript,容易理解的递归解释,详细注释

Lee Chen

大前端 LeetCode

Flink 使用大状态时的一点优化

Apache Flink

flink RocksDB

应用程序研发之网络 - Http

superman

轻松应对并发问题,Newbe.Claptrap 框架中 State 和 Event 应该如何理解?

newbe36524

分布式 微服务 架构设计 .net core ASP.NET Core

门面效应 - 拒绝别人会产生愧疚吗?

石云升

心理学 门面效应 留面子效应

C++编译过程 宏 内联和静态变量

正向成长

程序的机器级表示-访问数据

引花眠

ARTS 06 - Jenkins 多分支项目过滤及 when 的高级用法

jerry.mei

学习 算法 ARTS 打卡计划 CI/CD ARTS活动

初识进程coredump(以中间件为例)异常宕机

清康

简易web性能工具

鲁米

耦合层:撮合物联网的理论与实践牵手的“月老”

华为云开发者联盟

AI 物联网 IoT 低耦合 华为云

第8周作业

小胖子

MySQL 百万级数据量分页查询方法及其优化

xcbeyond

SQL优化 数据库优化

5万字长文:Stream和Lambda表达式最佳实践-附PDF下载

程序那些事

Java jdk Lambda stream

架构师训练营第八周课后总结

Cloud.

ARTS打卡 第9周

引花眠

ARTS 打卡计划

第8周-作业1

seng man

MySQL主从复制详解

Simon

MySQL 主从复制

百万并发「零拷贝」技术系列之Linux实现

码农神说

Java 架构 零拷贝

应用程序研发之网络-分层模型

superman

JDK1.8新特性(六):Stream的终极操作,轻松解决集合分组、汇总等复杂操作

xcbeyond

stream 集合 JDK1.8 Collections JDK1.8新特性

Java 8 中的函数式接口

陈皮

计算机的时钟(二):Lamport逻辑时钟

ElvinYang

应用程序研发之网络-网络编程模型

superman

新版发行+被报首个严重漏洞,Kubernetes动态有点多_文化 & 方法_Rancher_InfoQ精选文章