等保三级测评:TiDB 客户端服务端间通信开启加密传输实践
作者: Fly-bird 原文来源:https://tidb.net/blog/3ea9d925
背景:
为应对等保三级测评,需要开启 tidb 客户端和服务端通信的加密传输,要求通过 SSL 并校验客户端证书
操作
方案一,此方案可以应付测评,无法保证客户端的身份校验
一、开启 SSL,自动生成服务端证书,不校验客户端证书
1、自动生成证书在 tidb.toml 文件中增加,启用证书自动生成功能(从 v5.2.0 开始)[security]<br>auto-tls = true
2、新建 ssl 用户
CREATE USER 'u1'@'%' IDENTIFIED BY 'my_random_password' REQUIRE SSL; --新增用户使用SSL连接
3、重启集群 tidb 节点
4、使用这个用户勾选 SSL 可以连接 tidb 服务端,不需要校验证书
方案二、开启 SSL,手动生成服务端证书,校验客户端证书
创建目录 mkdir /data/cert && cd /data/cert
一、生成 CA 证书
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
二、签发证书,这里因为是客户端服务端间通信,所以只给 tidb 签发证书
1、生成私钥openssl genrsa -out tidb.key 2048
2、拷贝 openssl 配置文件并修改 find / -name openssl.cnfcp /etc/pki/tls/openssl.cnf .vi openssl.cnf 编辑 openssl.cnf,在 [ req ] 字段下加入 req_extensions = v3_req,然后在 [ v3_req ] 字段下加入 subjectAltName = @alt_names。最后新建一个字段,并编辑 SAN 的信息:[ alt_names ]<br>IP.1 = 127.0.0.1<br>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
四、配置 tidb
vi tidb.toml[security] #auto-tls = true #skip-grant-table = true<br>require-secure-transport = true<br>ssl-ca = "/data/cert/root.crt"<br>ssl-cert = "/data/cert/tidb.crt"<br>ssl-key = "/data/cert/tidb.key"
五、重启 tidb 节点
tiup cluster restart eu-test-tidb-cluster -N 192.168.195.140:4000
六、客户端连接需要开启 ssl,配置证书
#require-secure-transport = true 这个选项决定是否需要验证客户端证书,开启后所有用户都需要 ssl
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/d27837c19d9ed2aabf05dba22】。文章转载请联系作者。
评论