当前位置: 首页 > Linux

云原生生态周刊Vol.7-Docker爆出CVE

时间:2023-04-06 22:40:05 Linux

行业动态Docker基础镜像Alpine存在提权漏洞(CVE-2019-5021):该CVE影响所有从AlpineLinux3.3开始的Docker镜像。该漏洞产生的机制是Alpine的root用户包含空密码,可能允许攻击者获得root权限,从而引发攻击。报道称,受影响范围为AlpineLinuxDocker镜像3.3、3.4、3.5、3.6、3.7、3.8、3.9、edge等所有版本,目前整个容器技术中很多项目的基础镜像层生态系统正在使用高山。漏洞披露后,Alpine最新版本已修复该问题,用户可使用3.9.4版本规避风险。这里也可以参考一些开源项目替换其他基础镜像,比如kubernetes-csi项目的这个PR。Docker项目本身存在严重漏洞,允许攻击者直接访问主机文件系统(CVE-2018-15664):5月29日,SUSE的Linux工程师AleksaSarai报告了该漏洞。他指出,在某些情况下,攻击者可以在dockercp解析文件路径和执行文件操作之间的短时间窗口内,将自己的符号链接(symlink)插入到路径中,从而成为容器中的root。直接获取宿主机文件的符号链接。在dockercp场景下,这相当于直接获取宿主机任意文件的读写权限。可以看出,该漏洞是TOCTOU攻击的典型变种,利用了Linux操作系统文件时的竞争条件。虽然可能会影响所有Docker版本,但Docker官方发布了补丁计划,在后续版本中会包含相应的修复。本次漏洞攻击的前提是攻击者拥有dockercp命令的使用权限。阿里云容器服务集群默认开启了基于RBAC的访问控制。非法用户在容器中没有cp命令的访问权限。作为用户,最安全的方法是在多租户环境下禁止dockercp运行,通过apparmor等方式限制DockerDaemon。幸运的是,该漏洞的利用方法非常复杂,需要构造上述文件竞争才能生效。详情请参考阿里巴巴专家的CVE-2018-15664漏洞分析报告。上游重要进展Kubernetes从v1.15开始将使用go模块进行包管理。与原来的Godeps相比,gomodule在打包、编译等多个环节都具有明显的速度优势,可以在任何操作系统上轻松复现依赖包。更重要的是,gomodule本身的设计使得Kubernetes本身更容易被其他项目引用,这是Kubernetes项目向框架演化的又一重要体现。Envoy在RedisProxy中实现请求镜像功能,对请求进行镜像。该函数可以指定只对固定百分比的流量进行镜像,并且可以过滤掉与读取相关的请求。Envoy正在添加路由调试功能。通过这个功能可以知道发起的呼叫是否能正常路由,路由到哪个集群。虽然社区提供了routetablechecker这个工具,但是这个工具只能用来检查静态路由,对于通过xDS下发的动态路由是无能为力的。路由调试功能针对的是动态路由。Knative社区正在探索有状态无服务器。实验项目由lightbend公司开发(著名产品akka)。希望在knative中建立一个有状态的服务,主要依赖akka集群加一个持久化数据库,可以将请求分配到固定的容器中。演示视频:演示一个柜台服务,并附上KubeConEventing的演讲视频安全需求:针对数据面事件的安全需求,knative提出了一个大纲设计,主要定义了事件处理的三个安全策略边界和对应的Securitypolicy:事件提供者到事件源(EventSource),通过身份认证和授权事件流量入口(Ingress)到Broker,通过Token和Broker进行认证。触发消费服务。持有Token的Trigger由消费服务(function)认证。Istio将结束对1.0版本的支持,请尽快升级:根据Istio社区的支持政策,在最新的LTS发布后的三个月内,将继续支持之前的LTS版本。Istio1.1于3月19日发布,因此社区对1.0的支持将于2019年6月19日结束。此后,1.0版本将停止对安全问题和关键错误修复的支持,因此建议用户尽快升级到最新版本的Istio。https://istio.io/blog/2019/announcing-1.0-eol/开源项目推荐Cilium:KubernetesNetworkPolicy的优秀实现。Cilium是一个用于容器间通信的网络策略软件。依托于Linux的核心能力——伯克利包过滤器(BerkeleyPacketFilter,简称BPF)在安全和隔离方面表现出色。目前,它作为Kubernetes的插件存在,显示出强大的安全可见性和执行能力。本周阅读推荐Informer在Kubernetes中的使用:Informer是编写Kubernetes自定义控制器过程中经常用到的一个概念,也是自定义控制器通过WATCH机制获取KubernetesAPI对象的主要手段。但是,你是否经常混淆Informer和相关的Reflector、DeltaFIFOQueue、LocalStore、WorkQueue的概念?本博客通过通俗易懂的语言,对Informer的工作原理进行通俗易懂的解读。我建议你学习它。ServiceMesh发展趋势:云原生的中流砥柱:介绍ServiceMesh的最新产品动向,分析其发展趋势和未来趋势;结合Ant上云实践,阐述ServiceMesh在云原生背景下的核心价值,以及实现云原生效果的关键。本周报告由阿里巴巴容器平台和蚂蚁金服联合发布。本周作者:志坚、张磊、宋景超、林育之、大虎、王希宁原文链接本文为云栖社区原创内容,未经允许不得转载。