k8s ssl/tls安全问题修复
关于k8s ssl/tls安全问题修复
·
漏洞原理
kubernets组件在相互通信的时候,采用的是https协议。https协议作为一种安全的通信协议,就是在http协议的基础上,加了ssl层,ssl层通过各种各样的加密算法最终实现整个报文在传输过程中的安全性。
然而在多种加密算法中,DES和3DES算法会被漏洞扫描工具认为是不安全的算法(具体为什么不安全,有兴趣的朋友可以私下去了解),k8s组件在不配置ssl加密算法的情况下,默认使用的加密算法就会使用到DES和3DES算法,因为就会被扫出来漏洞。
漏洞信息
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
通过分析漏洞报告不难发现,端口对应分别是etcd,kube-apiserver,kube-controller-manager,kube-schedule等服务
修复方案
参考文章:https://www.jianshu.com/p/96d3c5843e57
通过去修改每个组件的ssl加密算法,不让其采用DES,3DES算法,就可以修复该漏洞
操作方案
以下方案只要针对采用二进制方式安装的k8s环境,kubeadm方式安装的环境,可能修改的配置文件和路径不同
etcd
- 在etcd.conf文件中添加ETCD_CIPHER_SUITES参数,取值为:
ETCD_CIPHER_SUITES="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
2. 加载配置文件,重启服务
systemctl daemon-reload && systemctl restart etcd
kube-apiserver,kube-controller-manager,kube-schedule
- 分别在kube-apiserver,kube-controller-manager,kube-schedule配置文件中添加参数,取值为:
--tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
2. 加载配置文件,重启服务
systemctl daemon-reload && systemctl restart kube-controller-manager.service
systemctl daemon-reload && systemctl restart kube-apiserver.service
systemctl daemon-reload && systemctl restart kube-scheduler.service
更多推荐
已为社区贡献2条内容
所有评论(0)