给PXC集群加密

MySQL的复制时明文的,不管是集群的复制还是IST/SST,直接通过抓包就可以抓取数据。

生成证书

直接使用 mysql_ssl_rsa_setup

mysql_ssl_rsa_setup --datadir=/data/ssl/pxc/

chown mysql:mysql -R /data/ssl/pxc

[root@pxc_node0_172.16.11.127 ~]# ll /data/ssl/pxc/
total 32
-rw------- 1 mysql mysql 1675 May  4 15:18 ca-key.pem
-rw-r--r-- 1 mysql mysql 1082 May  4 15:18 ca.pem
-rw-r--r-- 1 mysql mysql 1086 May  4 15:18 client-cert.pem
-rw------- 1 mysql mysql 1679 May  4 15:18 client-key.pem
-rw------- 1 mysql mysql 1675 May  4 15:18 private_key.pem
-rw-r--r-- 1 mysql mysql  451 May  4 15:18 public_key.pem
-rw-r--r-- 1 mysql mysql 1086 May  4 15:18 server-cert.pem
-rw------- 1 mysql mysql 1675 May  4 15:18 server-key.pem

修改配置文件

[mysqld]
# ssl
ssl-ca=/data/ssl/pxc/ca.pem
ssl-cert=/data/ssl/pxc/server-cert.pem
ssl-key=/data/ssl/pxc/server-key.pem
pxc_encrypt_cluster_traffic=ON

wsrep_provider_options="socket.ssl=yes;socket.ssl_ca=/data/ssl/pxc/ca.pem;socket.ssl_cert=/data/ssl/pxc/server-cert.pem;socket.ssl_key=/data/ssl/pxc/server-key.pem"

抓包分析

可以通过tcpdump抓取4567、4568、4444端口来查看各个传输状态的数据包加密情况

tcpdump -s 0 -l -w - port  4567  | strings     
tcpdump -s 0 -l -w - port  4568  | strings       
tcpdump -s 0 -l -w - port  4444  | strings        

原文地址:https://www.cnblogs.com/wshenjin/p/8992397.html