作者: gary



一、前言

xx公司经过网络安全信息扫描,现TiDB集群存在grafana 权限提升漏洞(CVE-2022-39306|CNNVD-202211-

399)。

Grafana 是 Grafana 开源的一套提供可视化监控界面的开源

2 监控工具。Grafana 中存在权限提升漏洞。可通过发送特制文件 获取主机最高权限,进一步控制主机进行任意操作。

此漏洞Grafana官网通报升级到v9.2.4以上版本可以解决此漏洞问题,现需要单独升级grafana组件并配置离线镜像源。



二、现tidb集群信息

Grafana组件升级和离线镜像源_linux

Grafana版本为V7.5.11

Grafana组件升级和离线镜像源_json_02



三、下载解压grafana组件

Grafana官网下载地址

https://grafana.com/grafana/download/9.0.3?edition=oss

解压
cd /tidb/soft
tar zxvf grafana-9.2.4.linux-amd64.tar.gz



四、制作离线镜像源

制作镜像,把tidb镜像*json复制到/tidb/soft/grafana-9.2.4目录下,并重新打包
cd /tidb/soft/tidb-enterprise-server-v6.1.0-linux-amd64
cp *.json /tidb/soft/grafana-9.2.4
cd /tidb/soft/grafana-9.2.4
tar zcvf grafana-9.2.4.linux-amd64.tar.gz *


#离线镜像发布
#查看当前镜像源,设置镜像源
tiup mirror show
tiup mirror set /tidb/soft/tidb-enterprise-server-v6.1.0-linux-amd64

#备份private.json
cp /home/tidb/.tiup/keys/private.json /tmp/private.json
cp /tidb/soft/tidb-enterprise-server-v6.1.0-linux-amd64/keys/*pingcap.json /home/tidb/.tiup/keys/private.json

#publish镜像
tiup mirror publish grafana v6.1.0 /tidb/soft/grafana-9.2.4/grafana-9.2.4.linux-amd64.tar.gz grafana

#各个参数解释如下:
· <comp-name>:组件名,如 tidb,建议使用符合正则 ^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$ 的字符串
· <version>:当前正在发布的版本,版本号需要符合 Semantic Versioning
· <tarball>:.tar.gz 包的本地路径,需要将组件的可执行文件及依赖放在该包中,由 TiUP 上传到镜像
· <entry>:组件的可执行文件在 <tarball> 中的位置

#清理老文件
[tidb@tidb80 .tiup]$ ls -l /tidb/soft/tidb-enterprise-server-v6.1.0-linux-amd64/*grafana.json
-rw-r--r-- 1 tidb tidb 34115 6月  22 10:24 /tidb/soft/tidb-enterprise-server-v6.1.0-linux-amd64/2172.grafana.json
-rw-rw-r-- 1 tidb tidb 33657 12月  2 17:46 /tidb/soft/tidb-enterprise-server-v6.1.0-linux-amd64/2173.grafana.json
 
rm -rf /tidb/soft/tidb-enterprise-server-v6.1.0-linux-amd64/2172.grafana.json



五、Grafana组件升级替换

Grafana升级替换
#备份老集群的/data/tidb-deploy/grafana/bin/目录
cp -R /data/tidb-deploy/grafana-3000/bin/ bin.bak20221202
 
#将grafana-9.2.4数据复制到/data/tidb-deploy/grafana-3000/bin目录下
cp -Rf /tidb/soft/grafana-9.2.4/* /data/tidb-deploy/grafana-3000/bin

#重新加载grafana
tiup cluster reload tidb-test -R grafana



六、升级后版本验证

Grafana组件升级和离线镜像源_镜像源_03

 

升级后grafana版本为v9.2.4

 

Grafana组件升级和离线镜像源_linux_04

 


七、后续grafana扩缩容

#Grafana的扩缩容验证版本变化
#grafana缩容
tiup cluster scale-in tidb-test -N 192.168.2.80:3000

Grafana组件升级和离线镜像源_json_05

 

#grafana扩容
tiup cluster scale-out tidb-test scale-grafana.yaml

Grafana组件升级和离线镜像源_镜像源_06

 

#后续通过tiup工具进行grafana组件扩缩容仍然是v9.2.4版本

 

Grafana组件升级和离线镜像源_linux_07