有些事你只有抓包才知道之mysql tls会话

举报
张俭 发表于 2023/12/11 10:59:47 2023/12/11
【摘要】 你的mysql客户端和服务端之间开启tls了吗?你的回答可能是No,我根本没开启mysql的tls。可是当你抓取了3306 mysql的端口之后,你会发现,抓出来的包里居然有Client Hello、Server Hello这样的典型TLS报文。Mysql返回的Server Greeting 中有一个flag的集合字段,名为Capabilities Flag,顾名思义,这就是用来做兼容性的位...

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

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

mysql-tls-pcap.png

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

mysql-pcap-capabilities-flag.png

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

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

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

mysql-plain-pcap.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。