问题场景:

CVE-2016-2183漏洞,主要针对2379,2380端口的漏洞修复总结


处理步骤

1.复制并备份 etcd 静态 pod 清单文件 :

 cp /etc/kubernetes/manifests/etcd.yaml   ~/etcd.yaml
 cp  ~/etcd.yaml   ~/etcd.yaml.bak

·2.打开etcd.yaml 静态 pod 清单文件,进行编辑:

 vim  ~/etcd.yaml

3.将以下选项添加到 etcd 静态 pod 清单文件:

 "--cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"

如图所示:
在这里插入图片描述

4.复制更新后的 etcd 静态 pod 清单。复制回文件后,Kubelet 会自动重启 etcd 服务:

 cp ~/etcd.yaml  /etc/kubernetes/manifests/etcd.yaml

注意:这里有危险动作,不要用kubectl apply -f ,可能会将集群搞挂,难以修复。他自己会自动重启的,cp即可
5.验证 etcd 服务是否已启动

 docker ps |grep etcd

以下是示例输出:

416e7e7ed2a5    33bdcac177c2    "etcd --name=etcd0 -…"   2 minutes ago   Up 2 minutes   k8s_etcd_

6.Openssl验证:

openssl s_client -connect ip:port -cipher "DES:3DES" -ssl2
openssl s_client -connect ip:port -cipher "DES:3DES" -ssl3
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1_1
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1_2

如图所示:
在这里插入图片描述
7.漏洞扫描验证:

 git clone --depth 1 https://gitcode.net/mirrors/drwetter/testssl.sh.git
 cd  testssl.sh
./testssl.sh -W 192.168.5.230:2379

在这里插入图片描述
看到: not vulnerable (OK) 说明已修复了
8.补充:
如果仍然未修复,请升级openssl版本
参考文档:https://blog.csdn.net/qq_36902628/article/details/118997046
如果k8s是多master,请在每一台master上做1–8步


点评:

此篇文章为本人在生产实践得出解决方案,全网仅此一篇文章,兄弟们引用本篇文章,请注明出处。祝大家工作顺利!


Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐