本文分享自华为云社区《有些事你只有抓包才知道之mysql tls会话》,作者:张俭。

你的mysql客户端和服务端之间开启tls了吗?你的回答可能是No,我根本没开启mysql的tls。

可是当你抓取了3306 mysql的端口之后,你会发现,抓出来的包里居然有Client Hello、Server Hello这样的典型TLS报文。

Mysql返回的Server Greeting中有一个flag的集合字段,名为Capabilities Flag,顾名思义,这就是用来做兼容性的位flag。其中的2048位、也就是第12位,代表着CLIENT_SSL,如果设置为1,则会在后面的会话中切换到TLS。可以看到里面还有一些其他的flag,事务、长密码等等相关的兼容性开关。

那么该如何关闭这个TLS呢,只需要在my.cnf中添加

echo "ssl=0" >> /etc/my.cnf

重启mysql。再度进行抓包,就发现没有tls的报文了,都是在使用明文进行通信了。

点击关注,第一时间了解华为云新鲜技术~