HTTP/2漏洞升级说明
Go语言HTTP/2漏洞
- 发布时间:2019年8月13日
- 更新时间:2019年8月26日
- 漏洞等级:Important
- CVE编号:CVE-2019-9512 CVE-2019-9514
漏洞详情
Netflix、Google及CERT/CC 近日揭露了有关HTTP/2的8个安全漏洞,其中Go语言的net/http库存在着CVE-2019-9512与CVE-2019-9514两个安全漏洞,造成任何基于HTTP或HTTPS接听器的程序发生服务中断,而且波及K8s的所有版本及组件。
Go语言已经发布Go1.12.9与Go1.11.13来修补这两个漏洞,而K8s则是基于Go的修补发布K8s v1.15.3、K8s v1.14.6与K8s v1.13.10,建议K8s用户应尽快升级到最新版本。
影响范围
2019年8月28日18:00之前创建的集群
此批集群的K8S版本低于官方给出的修复完成版本的编号。
2019年8月28日18:00之后创建的集群已修复该漏洞,并已通测试。
修复方案
UK8S根据官方提供的修补发布版本制作了k8s v1.13.10和v1.14.6升级安装包。
v1.13.10下载地址:http://uk8s.cn-bj.ufileos.com/1.13.10/k8s.tgz
v1.14.6下载地址:http://uk8s.cn-bj.ufileos.com/1.14.6/k8s.tgz
- 下载安装包文件到服务器上,可使用命令
wget http://uk8s.cn-bj.ufileos.com/1.13.10/k8s.tgz
如您开通的是1.14.5请将wget的下载地址替换为1.14.6的下载地址
- 解压下载完成的安装包
tar zxvf k8s.tgz
- 执行更新脚本
master节点执行
chmod +x 1.13.10/uk8supgrade.sh
sh 1.13.10/uk8supgrade.sh master
node节点执行
chmod +x 1.13.10/uk8supgrade.sh
sh 1.13.10/uk8supgrade.sh node
如您开通的是1.14.5请将sh的执行路径更改为1.14.6的解压路径
注意事项
-
升级操作需要对集群内所有master和node节点进行执行,master节点需要一个节点执行成功后再执行第二个节点的升级操作,可以通过kubectl get cs查看系统服务是否变为Healthy,变为Healthy后再切换到第二台执行。
-
如果集群为内网使用或者没有设置外网网关,可以在集群内部开通一台带有外网IP的虚拟机,通过scp的方式复制到每一个节点,然后切换节点执行更新操作。
-
更新1个节点大约2分钟左右,请您耐心等待。
-
如升级过程中,升级脚本执行报错,请立即与我们联系,我们将协助您完成升级操作。
批量安装方法
批量操作方法需要节点使用密码相同,如密码不同建议使用手动部署。
master节点需要一台健康后更新第二台,故不能使用此批量更新文档。
- 安装pssh工具
yum install pssh -y
- 创建node节点列表文件
vim hosts.txt
格式为user@ip,例如:
root@10.10.10.10
root@10.10.10.11
root@10.10.10.12
root@10.10.10.13
- 执行
pscp.pssh -Ah hosts.txt k8s.tgz /root/
pssh -Ah hosts.txt -x '-o StrictHostKeyChecking=no' -i 'sudo tar zxvf k8s.tgz'
pssh -Ah hosts.txt -x '-o StrictHostKeyChecking=no' -i 'sudo chmod +x 1.13.10/uk8supgrade.sh'
pssh -Ah hosts.txt -t 0 -x '-o StrictHostKeyChecking=no' -i 'sudo sh 1.13.10/uk8supgrade.sh node'
如您开通的是1.14.5请将相关的路径更改为1.14.6的路径。