安全漏洞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解读的更多相关文章

  1. 【独家】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解读 在 ...

  2. 【独家】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 ...

  3. K8S漏洞报告 | 近期bug fix解读&1.13主要bug fix汇总

    K8s近期漏洞详解 Kubernetes仪表盘漏洞(CVE-2018-18264) 因为这一漏洞,用户可以“跳过”登录过程获得仪表盘所使用的自定义TLS证书.如果您已将Kubernetes仪表盘配置为 ...

  4. 【独家】K8S漏洞报告 | CVE-2019-1002101解读

    kubectl cp漏洞CVE-2019-1002101分析 Kube-proxy IPVS添加flag ipvs-strict-arp 近期bug fix数据分析 ——本期更新内容 kubectl ...

  5. 【代码审计】ESPCMSP8(易思企业建站管理系统)漏洞报告

    0x00简介 项目名称:ESPCMS-P8(易思企业建站管理系统) 测试平台:Windwos 版本信息:P8.19082801稳定版 更新时间:2019-08-30 00:56:32 网站官网:htt ...

  6. 最常见的安全漏洞– Acunetix Web应用程序漏洞报告2021

    每年,Acunetix都会为您提供最常见的Web安全漏洞和网络外围漏洞的分析.我们的年度Web应用程序漏洞报告(现已成为Invicti AppSec指标的一部分)是基于从Acunetix在线获得的真实 ...

  7. 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通过云盾安骑士-->漏洞管 ...

  8. MyCat不支持毫秒 bug fix

    问题描述:mysql jdbc的驱动(mysql-connector-java-5.1.34.jar)设置的服务器的版本号最低是5.6.4才不会截取时间毫秒,但是现在取的是mycat 的版本号 5.5 ...

  9. Journal of Proteome Research | Current understanding of human metaproteome association and modulation(人类宏蛋白质组研究近期综述)(解读人:李巧珍)

    文献名:Current understanding of human metaproteome association and modulation(人类宏蛋白质组研究近期综述) 期刊名:J Prot ...

随机推荐

  1. [LeetCode] 359. Logger Rate Limiter 记录速率限制器

    Design a logger system that receive stream of messages along with its timestamps, each message shoul ...

  2. 【神经网络与深度学习】Win10+VS2015 caffe环境搭建(极其详细)

    caffe是好用,可是配置其环境实在是太痛苦了,依赖的库很多不说,在VS上编译还各种报错,你能想象那种被一百多个红色提示所笼罩的恐惧.  且网上很多教程是VS2013环境下编译的,问人很多也说让我把1 ...

  3. Survey of single-target visual tracking methods based on online learning 翻译

    基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...

  4. PHP 可变参数

    <?php //php 可变参数 function concatenate( ...$strings): string { $string = ''; //此时的strings 是一个数组 fo ...

  5. docker深入学习三

    docker学习三:network docker支持容器之间的网络通信,docker的网络通信方式有以下五种: bridge docker 默认的网络驱动,如果不指定网络驱动,docker就会创建一个 ...

  6. docker 部署 nsq

    这篇文章主要介绍如何使用docker部署 nsq 组件 环境准备 本文基于一台 ubuntu 虚拟机试验 docker 安装 docker 安装方式 使用docker version 命令检查 doc ...

  7. SpringBoot 返回Json实体类属性大小写问题

    今天碰到的问题,当时找了半天为啥前台传参后台却接收不到,原来是返回的时候返回小写,但是前台依旧大写传参. 查了很多后发现其实是json返回的时候把首字母变小写了,也就是Spring Boot中Jack ...

  8. mysql sql 分析

    一.SQL 执行时间分析通过找到执行时间长的 SQL 语句,可以直观的发现数据层的效率问题. 1.通过 show processlist 来查看系统的执行情况mysql> show proces ...

  9. Delphi调用爷爷类的方法(自己构建一个procedure of Object)

    Delphi通过inherited 可以调用父类的方法,但是没有提供直接调用父类的父类的方法(爷爷类),通过变通的方式实现如下: 假设父类是TFather,爷爷类TGrand,调用爷爷类的Write方 ...

  10. Intel realSense ubuntu 16.04+python 环境配置指南

    1. 安装librealsense2-dkms 以及librealsense2-utils 1.Register the server's public key: sudo apt-key adv - ...