黄东旭解析 TiDB 的核心优势
914
2024-01-17
为应对等保三级测评,需要开启tidb客户端和服务端通信的加密传输,要求通过SSL并校验客户端证书
1、自动生成证书
在tidb.toml文件中增加,启用证书自动生成功能(从 v5.2.0 开始)[security]
auto-tls = true
2、新建ssl用户
CREATE USER 'u1'@'%' IDENTIFIED BY 'my_random_password' REQUIRE SSL; --新增用户使用SSL连接
3、重启集群tidb节点
tiup cluster restart {tidb-cluster} -N 192.168.195.140:4000
4、使用这个用户勾选SSL可以连接tidb服务端,不需要校验证书
创建目录 mkdir /data/cert && cd /data/cert
1、生成密钥openssl genrsa -out root.key 4096
2、生成证书openssl req -new -x509 -days 36500 -key root.key -out root.crt
3、验证证书openssl x509 -text -in root.crt -noout
1、生成私钥openssl genrsa -out tidb.key 2048
2、拷贝openssl配置文件并修改
find / -name openssl.cnf
cp /etc/pki/tls/openssl.cnf .
vi openssl.cnf
编辑 openssl.cnf,在 [ req ] 字段下加入 req_extensions = v3_req,然后在 [ v3_req ] 字段下加入 subjectAltName = @alt_names。最后新建一个字段,并编辑 SAN 的信息:[ alt_names ]
IP.1 = 127.0.0.1
IP.2 = 192.168.195.140
(这里写tidb的ip地址信息)
3、生成证书请求文件openssl req -new -key tidb.key -out tidb.csr -config openssl.cnf
4、签发生成证书openssl x509 -req -days 36500 -CA root.crt -CAkey root.key -CAcreateserial -in tidb.csr -out tidb.crt -extensions v3_req -extfile openssl.cnf
5、验证证书携带 SAN 字段信息(可选)openssl x509 -text -in tidb.crt -noout
1、生成该证书对应的私钥openssl genrsa -out client.key 2048
2、生成证书请求文件openssl req -new -key client.key -out client.csr
3、签发生成证书openssl x509 -req -days 365 -CA root.crt -CAkey root.key -CAcreateserial -in client.csr -out client.crt
综合以上,我们需要的证书是 CA根证书root.crt, 服务器证书tidb.csr,tidb.key, 客户端证书client.csr,client.key
vi tidb.toml[security]
#auto-tls = true
#skip-grant-table = true
require-secure-transport = true
ssl-ca = "/data/cert/root.crt"
ssl-cert = "/data/cert/tidb.crt"
ssl-key = "/data/cert/tidb.key"
tiup cluster restart eu-test-tidb-cluster -N 192.168.195.140:4000
#require-secure-transport = true 这个选项决定是否需要验证客户端证书,开启后所有用户都需要ssl
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。