章
目
录
Kubernetes ingress-nginx这个在容器编排领域备受瞩目的组件,它最近惊现重大安全漏洞,而且后续还会有重大变动,咱得好好关注一下,文末也会附上相关修复漏洞的方案。
一、Kubernetes和ingress-nginx是啥?
Kubernetes是现在用得特别广泛的容器编排平台。打个比方,它就像是一个智能的集装箱码头管理员,能把各种容器(也就是一个个打包好的应用程序)安排得明明白白,让它们在服务器这个“码头”上高效地运行、协同工作。
Ingress则是Kubernetes的核心功能之一,它的作用是把外部的网络流量引导到内部的服务里。想象一下,Ingress就是码头的大门,负责把外面的船只(网络请求)引导到对应的集装箱存放区域(内部服务)。
ingress – nginx是一种基于NGINX服务器的Ingress控制器,专门用来处理HTTP和HTTPS流量。研究发现,超过40%的Kubernetes集群都在使用它,可见它在这个领域的受欢迎程度。
二、漏洞情况
最近,ingress – nginx团队发布了修复五个漏洞的补丁。在这当中,编号为CVE – 2025 – 1974的漏洞最为严重,它的CVSS评级达到了9.8。这意味着什么呢?简单来说,就是这个漏洞让那些没经过身份验证的攻击者找到了可乘之机,他们可以通过Pod网络,在ingress – nginx控制器上执行任意代码。
这可不是闹着玩的!在默认配置下,ingress – nginx控制器能访问集群里所有的Secrets(可以理解为存放敏感信息的“小金库”),一旦攻击者控制了控制器,就像拿到了“小金库”的钥匙,里面的敏感信息,比如API密钥、数据库凭证等,都会被泄露,风险极高。
除了这个关键漏洞,还有四个漏洞,它们主要和NGINX的配置处理有关,编号分别是CVE – 2025 – 24513、CVE – 2025 – 24514、CVE – 2025 – 1097、CVE – 2025 – 1098 。好在这些漏洞在补丁版本里都已经被修复了。
三、漏洞带来的风险和影响
Pod网络是Kubernetes内部Pod之间相互通信的网络。正常情况下,它应该是和外界隔离的,就像一个内部的专用通道,只有Pod之间能通行。但在实际部署的时候,有些配置可能会让这个“专用通道”不小心暴露给外部网络或者公司内部网络。
CVE – 2025 – 1974这个漏洞的可怕之处就在于,只要攻击者能接触到Pod网络,就能利用这个漏洞执行代码,进而控制ingress – nginx控制器。这就好比坏人闯进了码头的大门管理室,整个码头(集群)都可能被他们掌控,数据安全和用户隐私会受到严重威胁。
比如说在云环境或者企业网络中,如果Pod网络没有正确设置隔离,攻击者就可能利用这个漏洞获取所有的Secrets,这样一来,敏感信息就全暴露了,对使用ingress – nginx的用户而言,风险真的很大。
四、如何检查和修复?
(一)检查是否受影响
想知道自己的系统有没有受到这个漏洞的影响,可以在命令行里运行下面这条命令:
# 使用kubectl工具获取所有命名空间下,标签为app.kubernetes.io/name=ingress-nginx的Pod
kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
要是执行命令后返回了相关的Pod信息,那就说明你在用ingress-nginx。
(二)修复方法
- 升级到补丁版本:最直接有效的办法就是把ingress – nginx升级到v1.12.1或v1.11.5版本。具体的升级指南可以查看升级文档。
- 临时缓解措施:要是没办法马上升级,也有临时的应对办法。可以禁用Validating Admission Controller,具体操作如下:
- 如果你是用Helm安装的ingress – nginx,那就设置
controller.admissionWebhooks.enabled=false
。 - 手动删除
ingress - nginx - admission ValidatingWebhookconfiguration
,并且从ingress - nginx - controller
里把--validating - webhook
参数去掉。
- 如果你是用Helm安装的ingress – nginx,那就设置
五、ingress – nginx的未来变动
有个重要的消息得告诉大家,ingress – nginx项目计划进入维护模式,之后会推出新的InGate项目来替代它。这对于长期使用ingress – nginx的用户来说影响可不小,后续的迁移计划一定要重点关注,提前做好准备,避免影响业务的正常运行。
以上就是关于Kubernetes ingress – nginx漏洞和后续变动的全部内容,大伙一定要重视起来,及时做好检查和修复工作。