【独家】K8S漏洞报告 | 近期bug fix解读
安全漏洞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/security/cve/cve-2019-3874
Kubernetes近期重要bug fix分析
•#74672移除
导致内存泄漏的Reflector Metrics
https://github.com/kubernetes/kubernetes/pull/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/kubernetes/pull/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/kubernetes/pull/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/kubernetes/pull/75364
通常情况下大部分的Volume Plugin会去检查Mount在Pod的Volume第一层级的目录,但是对于CSI Plugin却不是这样,CSI Plugin可能会Mount在子目录上。这个PR修改了Kubelet中VolumePath和MountPath引用的逻辑,实现对CSI的优化。
Kubernetes v1.13.5 bug fix数据分析
分类数量和占比统计如下:

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

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

相关服务请访问:https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019
【独家】K8S漏洞报告 | 近期bug fix解读的更多相关文章
- 【独家】K8S漏洞报告|近期bug fix解读&1.11主要bug fix汇总
内容提要: 1. 高危漏洞CVE-2018-1002105深度解读 2. 11/19--12/11 bug fix汇总分析 3. 1.11重要bug fix解读 4. 1.9重要bug fix解读 在 ...
- 【独家】K8S漏洞报告 | 近期bug fix解读&1.9.11主要bug fix汇总
*内容提要: 1. Kube-proxy长连接优雅断开机制及IPVS模式实现 2. 10/29--11/19 bug fix汇总分析 3. 1.9.11重要bug fix汇总 在本周的跟踪分析中,以1 ...
- K8S漏洞报告 | 近期bug fix解读&1.13主要bug fix汇总
K8s近期漏洞详解 Kubernetes仪表盘漏洞(CVE-2018-18264) 因为这一漏洞,用户可以“跳过”登录过程获得仪表盘所使用的自定义TLS证书.如果您已将Kubernetes仪表盘配置为 ...
- 【独家】K8S漏洞报告 | CVE-2019-1002101解读
kubectl cp漏洞CVE-2019-1002101分析 Kube-proxy IPVS添加flag ipvs-strict-arp 近期bug fix数据分析 ——本期更新内容 kubectl ...
- 【代码审计】ESPCMSP8(易思企业建站管理系统)漏洞报告
0x00简介 项目名称:ESPCMS-P8(易思企业建站管理系统) 测试平台:Windwos 版本信息:P8.19082801稳定版 更新时间:2019-08-30 00:56:32 网站官网:htt ...
- 最常见的安全漏洞– Acunetix Web应用程序漏洞报告2021
每年,Acunetix都会为您提供最常见的Web安全漏洞和网络外围漏洞的分析.我们的年度Web应用程序漏洞报告(现已成为Invicti AppSec指标的一部分)是基于从Acunetix在线获得的真实 ...
- Linux内核升级修复系统漏洞-RHSA-2017:2930-Important: kernel security and bug fix update
公司使用的阿里云服务器(Centos7.4 x86_64bit)内核版本为:3.10.0-693.21.1.el7.x86_64, 2019年3月4日 02:07:58通过云盾安骑士-->漏洞管 ...
- MyCat不支持毫秒 bug fix
问题描述:mysql jdbc的驱动(mysql-connector-java-5.1.34.jar)设置的服务器的版本号最低是5.6.4才不会截取时间毫秒,但是现在取的是mycat 的版本号 5.5 ...
- Journal of Proteome Research | Current understanding of human metaproteome association and modulation(人类宏蛋白质组研究近期综述)(解读人:李巧珍)
文献名:Current understanding of human metaproteome association and modulation(人类宏蛋白质组研究近期综述) 期刊名:J Prot ...
随机推荐
- byte类型的取值为什么是-128~127
参考:https://blog.csdn.net/qq_22771739/article/details/84496115 https://blog.csdn.net/boatalways/artic ...
- K8S+GitLab+.net core-自动化分布式部署-1
K8S+GitLab-自动化分布式部署ASP.NET Core(一) 部署环境 一.部署流程介绍 开发人员通过Git上传asp.net core 项目到Gilab,并编写好.gitlab-ci.yml ...
- 学习数据结构Day4
链表 之前看过了动态数组,栈和队列,虽然我们把第一个叫做动态数组,但是,他们的底层实质上还是静态数组.靠 resize来实现动态数组.而链表是真正的数据结构 链表需要一个节点. 数据存储在链表中 相当 ...
- Zuul学习笔记
问题: 解决:(域名映射+前缀+禁止原来访问)
- [Oracle] - 查看数据库中每个表占用空间大小,及进行表压缩
查询用户创建的表 select * from user_tab_comments; -- 查询本用户的表,视图等. select * from user_col_comments; -- 查询本用户的 ...
- 什么是REST 、RESTful 、RESTful API?
介绍 自从Roy Fielding博士在2000年他的博士论文中提出Rest(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重 ...
- Tomcat是一个Servlet容器?
"Tomcat是一个Servlet容器",这句话对于2019年的程序员应该是耳熟能详的. 单纯的思考一下这句话,我们可以抽象出来这么一段代码: class Tomcat { Lis ...
- c++基础(七)——面向对象程序设计
面向对象程序设计(Object-oriented programming)的核心思想是数据抽象,继承,和动态绑定. 1. 继承 在C++语言中,基类将类型相关的函数与派生类不做改变直接继承的函数区分对 ...
- AX2009取销售订单的税额
直接用以下方法即可: Tax::calcTaxAmount(salesLine.TaxGroup, salesLine.TaxItemGroup, systemDateGet(), salesL ...
- UnityShader - 渲染管线
定义: 显卡内部处理图像信号的并行处理单元,也称为渲染流水线 发生位置: CPU和GPU 渲染机理: 将图像所具备的图形信息(顶点.纹理.材质.摄像机位置等)经过一系列阶段的处理,最终转换为屏幕上的图 ...