0
0
0
0
博客/.../

TLS证书指南

 cchouqiang  发表于  2025-12-31

背景

TiDB 数据库默认允许不安全(unencrypted/plaintext)连接,即客户端与服务端之间的通信不加密,这意味着如果网络渠道可以被第三方监听。漏扫软件会扫描出一些安全漏洞,存在一些安全隐患,需要做安全加固,不安全连接容易造成信息泄露,建议使用 TLS 连接确保安全性。

平凯数据库服务端支持启用基于 TLS(传输层安全)协议的安全连接,协议与 MySQL 安全连接一致,现有 MySQL Client 如 MySQL Shell 和 MySQL 驱动等能直接支持。

本文总结TLS的常用方法。

开启/关闭集群TLS

开启集群TLS的命令

tiup cluster tls tidb-test enable

关闭集群TLS命令

tiup cluster tls tidb-test disable

开启集群TLS后,连接pd需要使用证书

tiup ctl:v8.5.3 pd -u https://IP:2379 --cacert=/home/tidb/.tiup/storage/cluster/clusters/tidb-test/tls/ca.crt --cert=/home/tidb/.tiup/storage/cluster/clusters/tidb-test/tls/client.crt --key=/home/tidb/.tiup/storage/cluster/clusters/tidb-test/tls/client.pem config show

使用原有证书开启TLS

手动生成证书,不使用tiup生成证书

生成证书的有效期可以手动设定

 openssl genrsa -out ca.pem 4096
 openssl req -new -x509 -days 1000 -key ca.pem -out ca.crt
 openssl genrsa -out client.pem 2048
 openssl req -new -key client.pem -out client.csr
 openssl x509 -req -days 365 -CA ca.crt -CAkey ca.pem -CAcreateserial -in client.csr -out client.crt

将生成的证书放在tiup目录下

mkdir -p ~/.tiup/storage/cluster/clusters/cluster_name/tls
cp ca.crt ~/.tiup/storage/cluster/clusters/cluster_name/tls/ca.crt
cp ca.pem ~/.tiup/storage/cluster/clusters/cluster_name/tls/ca.pem
cp client.crt ~/.tiup/storage/cluster/clusters/cluster_name/tls/client.crt
cp client.pem ~/.tiup/storage/cluster/clusters/cluster_name/tls/client.pem

缩容pd为一个节点,开启tls

tiup cluster tls tidb-test enable

查看证书有效期

ca证书有效期为50年,client证书有效期10年

[tidb@vm tls]$ openssl x509 -in client.crt -noout -dates
notBefore=Dec 31 07:35:55 2025 GMT
notAfter=Dec 29 07:35:55 2035 GMT

[tidb@vm tls]$ openssl x509 -in ca.crt -noout -dates
notBefore=Dec 31 07:35:55 2025 GMT
notAfter=Dec 19 07:35:55 2075 GMT

生成客户端证书

生成该证书对应的私钥:

openssl genrsa -out new-client.pem 2048

生成证书请求文件

openssl req -new -key new-client.pem -out new-client.csr

签发生成证书

openssl x509 -req -days 365 -CA ca.crt -CAkey ca.pem -CAcreateserial -in new-client.csr -out new-client.crt

总结

1、集群开启TLS时,可以用tiup自动生成,也可手动生成证书;

2、可以手动设置证书有效期限。

0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论