Kubernetes新近kubectl及CNI漏洞修复,Rancher 2.2.1发布
今天,Kubernetes发布了一系列补丁版本,修复新近发现的两个安全漏洞CVE-2019-1002101(kubectl cp命令安全漏洞)和CVE-2019-9946(CNI端口映射插件漏洞)。Rancher也紧急更新,发布一系列新版以支持Kubernetes补丁版本。
本文将介绍CVE-2019-1002101和CVE-2019-9946的详情、原理、受影响版本及升级建议,以及Rancher提供给用户的应对之策。
CVE-2019-1002101
漏洞详情及原理
CVE-2019-1002101是kubectl cp命令中存在的安全漏洞,严重等级为【高】,攻击者可以使用kubectl cp命令替换或删除用户工作站上的文件,在用户计算机的任何路径上写入恶意文件。
kubectl cp命令允许在容器和用户计算机之间复制文件。为了从容器中复制文件,Kubernetes会在容器内创建一个tar,通过网络复制它,然后kubectl会在用户的机器上解压缩它。
而如果容器中的tar二进制文件是恶意的,它可以运行任何代码并输出意外的恶意结果。在用户调用kubectl cp时,攻击者可以使用它将文件写入用户计算机上的任何路径,只有本地用户的系统权限有可能限制这一操作。
受影响的版本及升级建议
什么版本用户会被此次漏洞影响?试着运行kubectl version—client进行查看,除了1.11.9、1.12.7、1.13.5、1.14.0或更新版本之外,其他均为易受攻击的版本。
所有使用易受攻击版本的用户,都被建议升级至Kubernetes今天发布的补丁版本:1.11.9、1.12.7、1.13.5、1.14.0。
kubectl的安装和设置方法,可以参照这一链接的说明教程:
https://kubernetes.io/docs/tasks/tools/install-kubectl/
CVE-2019-9946
漏洞详情及原理
CVE-2019-9946是Kubernetes CNI框架中的安全漏洞,0.7.5之前版本的CNI插件端口映射和Kubernetes之间的交互中发现了安全问题,严重等级为【中等】。因为CNI 端口映射插件是嵌入到Kubernetes版本中的,只有升级至新版本的Kubernetes才能解决此问题。
在此修复之前,当我们配置HostPorts端口映射方式时CNI插件会在iptables nat链之前插入规则,这将优先于KUBE- SERVICES链。因此,传入流量时,流量会优先经过HostPort的规则,即使之后在链中出现了更适合、更具体的服务定义规则(例如NodePorts),依然会由HostPort 的规则来匹配传入的流量。
现在修复之后,将端口映射插件的规则由“最优先”变为“附加”,则可以让流量优先由KUBE-SERVICES规则处理。只有当流量与服务不匹配时,才会考虑使用HostPorts。
受影响的版本及升级建议
因为这会影响插件界面,因此如果你不完全了解自己的Kubernetes配置,很难确定自己是否会受此漏洞影响。IPVS模式下的kube-proxy配置加上使用HostPort端口映射类型的pod,是肯定会被这一漏洞影响的。但同样需要注意的是,其他网络配置方式也有可能使用了CNI 的portmap端口映射插件。
运行kubectl version --short | grep Server,如果它显示你使用的不是1.11.9、1.12.7、1.13.5和1.14.0或更新的版本,且如果你的Kubernetes与使用了端口映射插件的CNI配置配对,那么你极有可能会受这一漏洞影响。
但无需特别担心的是,只需按照管理工具或供应商的说明,升级到最新补丁版本的Kubernetes(1.11.9、1.12.7、1.13.5和1.14.0)即可。
Rancher已发布最新版本应对此次漏洞
此次也一如既往,在Kubernetes自身爆出漏洞之后,Rancher Labs团队都第一时间响应,保障使用Rancher平台管理Kubernetes集群的用户的安全。
如果你是使用Rancher平台管理Kubernetes集群,不用担心,Rancher已于今日发布了最新版本,支持包含漏洞修复的Kubernetes版本(1.11.9、1.12.7和1.13.5),保障所有Rancher用户的Kubernetes集群不受此次漏洞困扰。
若您使用的版本可能受此次两个漏洞影响,可以升级至今天发布的以下三个最新Rancher版本:
-
Rancher 2.2.1
-
Rancher 2.1.8
-
Rancher 2.0.13
对于Rancher 1.6.x的用户,我们已在Rancher v1.6.26的Catalog(应用程序目录)中添加了对Kubernetes v1.11.9和v1.12.7的支持。您可以升级至Rancher v1.6.26,新版本将在下一次目录自动刷新时可用。
为用户的Docker & K8S之旅护航
Rancher Kubernetes平台拥有着超过一亿次下载量,我们深知安全问题对于用户而言的重要性,更遑论那些通过Rancher平台在生产环境中运行Docker及Kubernetes的数千万用户。
2018年年底Kubernetes被爆出的首个严重安全漏洞CVE-2018-1002105,就是由Rancher Labs联合创始人及首席架构师Darren Shepherd发现的。
2019年1月Kubernetes被爆出仪表盘和外部IP代理安全漏洞CVE-2018-18264时,Rancher Labs也是第一时间向用户响应,确保所有Rancher 2.x和1.6.x的用户都完全不被漏洞影响。
2019年2月爆出的严重的runc容器逃逸漏洞CVE-2019-5736,影响到大多数Docker与Kubernetes用户,Rancher Kubernetes管理平台和RancherOS操作系统均在不到一天时间内紧急更新,是业界第一个紧急发布新版本支持Docker补丁版本的平台,还帮忙将修复程序反向移植到所有版本的Docker并提供给用户,且提供了连Docker官方都不支持的针对Linux 3.x内核的修复方案。
负责、可靠、快速响应、以用户为中心,是Rancher始终不变的初心;在每一次业界出现问题时,严谨踏实为用户提供相应的应对之策,也是Rancher一如既往的行事之道。未来,Rancher也将一如既往支持与守护在用户的Kubernetes之路左右,确保所有企业用户都能安全、稳妥、无虞地继续前进。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一文彻底搞懂面试中常问的各种“锁”
前言 锁,顾名思义就是锁住一些资源,当只有我们拿到钥匙的时候,才能操作锁住的资源。在我们的Java,数据库,还有一些分布式的环境中,总是充斥着各种各样的锁让人头疼,例如“公平锁”、“自旋锁”、“读写锁”、“分布式锁”等等。 其实真实的情况是,锁并没有那么多,很多概念只是从不同的功能特性,设计,以及锁的状态这些不同的侧重点来说明的,因此我们可以根据不同的分类来搞明白为什么会有这些“锁”?坐稳扶好了,准备开车。 正文 “公平锁”与“非公平锁” 公平锁:指线程在等待获取同一个锁的时候,是严格按照申请锁的时间顺序来进行的,这就意味着在程序正常运作的时候,不会有线程执行不到,而被“饿死”,但是也需要额外的机制来维护这种顺序,所以效率相对于非公平锁会差点。 非公平锁:概念跟“公平锁”恰恰相反,随机线程获取锁,相率相对高。 newReentrantLock();//默认非公平锁newReentrantLock(true);//公平锁 “重入锁(递归锁)”与“不可重入锁(自旋锁)” 这里要注意了,重入/递归,不可重入/自旋,虽然名字不同,但是确实是同一种锁,只是从锁的表现跟实现方式的角度...
- 下一篇
Netty内存池之PoolChunk原理详解
PoolChunk是Netty内存池中的重要组成部分,其作用主要在于维护了一个较大的内存块,当需要申请超过8KB的内存时,就会从PoolChunk中获取。本文首先会对PoolChunk的整体结构进行讲解,然后会讲解其各个主要属性的作用,最后会从源码的角度对PoolChunk是如何实现对大块内存的申请和释放的。 1. PoolChunk整体结构 PoolChunk默认申请的内存大小是16M,在结构上,其会将这16M内存组织成为一颗平衡二叉树,二叉树的每一层每个节点所代表的内存大小都是均等的,并且每一层节点所代表的内存大小总和加起来都是16M,整颗二叉树的总层数为12,层号从0开始。其结构示意图如下: 关于上图,我们主要有如下几点需要说明: 一个PoolChunk占用的总内存是16M,其会按照当前二叉树所在的层级将16M内存进行划分,比如第1层将其划分为两个8M,第二层将其划分为4个4M等等,整颗二叉树最多有12层,因而每个叶节点的内存大小为8KB,也就是说,PoolChunk能够分配的内存最少为8KB,最多为16M; 可以看出,图中的二叉树叶子节点有2^11=2048个,因而整颗树的节点...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Red5直播服务器,属于Java语言的直播服务器