K8S漏洞报告 | 近期bug fix解读

栏目: 服务器 · 发布时间: 6年前

安全漏洞CVE-2019-3874分析

Kubernetes近期重要bug fix分析

Kubernetes v1.13.5 bug fix数据分析

——本周更新内容

安全漏洞CVE-2019-3874分析

3月21日,Kubernetes社区通过Google Group频道Kubernetes developer/contributor discussion发布了安全漏洞CVE-2019-3874以及解决方法。

这个安全漏洞最早由红帽的工程师Matteo Croce,Natale Vinto和Andrea Spagnolo发现。当Kubernetes中的Pod以Root用户运行时,它可以绕过cgroup内存隔离,通过SCTP网络传输,创建一个潜在的DoS攻击,此问题本身与Kubernetes无关,但是涉及到Kubernetes调用的内核模块。问题的严重性被定义为中等,社区建议将SCTP内核模块列入黑名单来规避此问题。用户可以通过执行如下命令来测试是否会到此类攻击。

modprobe sctp; lsmod | grep sctp

用户可以通过执行如下命令来把SCTP列入内核模块的黑名单。

echo "install sctp /bin/true" > /etc/modprobe.d/sctp.conf

如果SCTP模块已经载入内核,则需要重启机器来从内核中卸载SCTP模块。CVE-2019-3874安全漏洞的内核补丁正在开发中,但是通过将SCTP内核模块列入黑名单可以保护用户永久免受此类攻击。

CVE-2019-3874链接:

https://access.redhat.com/secu ... -3874

Kubernetes近期重要bug fix分析

•#74672移除

导致内存泄漏的Reflector Metrics

https://github.com/kubernetes/ ... 74672

该问题的背景是#73587这个Issue。用户在升级到v1.12.5之后,发现集群内节点上Kubelet在运行一段时间后吃掉了所有的内存,导致节点故障。使用go tool pprof发现Client Go Metrics耗费了大部分的计算时间。这些Reflector Metrics并不是必不可少,该PR移除了如下的Metrics来解决内存泄漏的问题:

reflector_items_per_list

reflector_items_per_watch

reflector_last_resource_version

reflector_list_duration_seconds

reflector_lists_total

reflector_short_watches_total

reflector_watch_duration_seconds

reflector_watches_total

•#74865获取不到

包含有InitContainers的Pod的Metrics

https://github.com/kubernetes/ ... 74865

该问题的初始现象是Metrics Server获取不到包含有InitContainers的Pod的Metrics。

根本原因在于退出的容器(如InitContainers)CPU和Memory都为Nil导致Metrics服务器将跳过Pod的处理。具体是removeTerminatedContainer的实现忽略了cri提供的runtimeapi.Container和cadvisor提供的cadvisorapiv2.ContainerInfo的不同。

此问题的解决方法是在原有上报Nil的情况下,修改为上报退出容器的CPU和Memory为0。

•#75366延迟CSI Client初始化

以解决CSI Volume Plugin在Kubelet重启后

不可用的问题

https://github.com/kubernetes/ ... 75366

该问题的背景是#72500这个Issue。在Kubelet重启后,CSI Volume Plugin可能不会被重新注册。这些Volume Plugin未注册会相应地导致这些Plugin关联的Volume的操作无法进行。解决办法是在Kubelet重启后,单独提取一个csiClientGetter的Get()方法用于当初始化失败时,能通过延迟CSI Client初始化的方式来重新注册CSI Volume Plugin。

•#75364区分Volume Path和Mount Path

https://github.com/kubernetes/ ... 75364

通常情况下大部分的Volume Plugin会去检查Mount在Pod的Volume第一层级的目录,但是对于CSI Plugin却不是这样,CSI Plugin可能会Mount在子目录上。这个PR修改了Kubelet中VolumePath和MountPath引用的逻辑,实现对CSI的优化。

Kubernetes v1.13.5 bug fix数据分析

分类数量和占比统计如下:

K8S漏洞报告 | 近期bug fix解读

严重程度数量统计如下(横坐标5为最高,0为最低):

K8S漏洞报告 | 近期bug fix解读

如下为Kubernetes v1.13.5所有bug fix的汇总信息:

K8S漏洞报告 | 近期bug fix解读

相关服务请访问: https://support.huaweicloud.co ... _2019


以上所述就是小编给大家介绍的《K8S漏洞报告 | 近期bug fix解读》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序开发心理学

程序开发心理学

(美)杰拉尔德·温伯格 / 邓俊辉 / 清华大学出版社 / 2004-1-1 / 39.00元

本书开创"以人为本"研究方法的先驱,在长达25年的岁月中一直保持活力,至今仍在继续。1997年,本书作者温伯格因其在软件领域的杰出贡献,被美国计算机博物馆的计算机名人堂选为首批5位成员之一。 在计算机界,还没有任何一本计算机方面的书,在初次出版之后,能够在长达25年的岁月中一直保持活力--而且这种活力到今天仍在继续。《程序开发心理学》是开创"以人为本"研究方法的先驱,它以其对程序员们在智力、......一起来看看 《程序开发心理学》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具