Mysql tls 会话:再一次抓包之后,我认识到…
本文分享自华为云社区《有些事你只有抓包才知道之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的报文了,都是在使用明文进行通信了。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
记一次kubernetes获取internal Ip错误流程
本文分享自华为云社区《记一次kubernetes获取internal Ip错误流程》,作者:张俭。 偶尔也回首一下处理的棘手问题吧。问题的现象是,通过kubernetes get node输出的ip不是期望的ip地址。大概如下所示 ip addr eth0 ip1 eth0:xxx ip2 最终输出的不是预期的ip1地址,而是ip2地址。 按藤摸瓜,kubernetes把节点信息保存在/registry/minions/$node-name中的InternalIp字段。 InternalIp是如何确定的呢,这段代码位于pkg/kubelet/nodestatus/setters.go中 // 1) Use nodeIP if set (and not "0.0.0.0"/"::") // 2) If the user has specified an IP to HostnameOverride, use it // 3) Lookup the IP from node name by DNS // 4) Try to get the IP from the networ...
- 下一篇
一文详解kube-apiserver认证鉴权能力
本文分享自华为云社区《kube-apiserver认证鉴权能力》,作者: 可以交个朋友。 HTTPS为什么要进行身份验证 首先不管是kubectl还是API调用都是通过HTTPS访问kube-apiserver,有图有真相 所以要想了解kube-apiserver认证鉴权,得先从HTTPS说起;接下来我们直接通过API接口访问apiserver 为什么不能访问?准确来说是为什么不能建立HTTPS连接 原因就是客户端无法验证服务端证书,导致HTTPS连接建立失败。可不可以不验证服务端证书?可以 但在公网环境不建议这么做,如果不验证服务端,你可能访问的并不是你想访问的服务端 证书如何保证服务端不被伪造 如何保证客户端收到的服务端公钥没有被伪造?答案就是第三方权威机构CA 证书申请流程:服务端需要将自己的信息和公钥发给CA,CA根据服务端发送过来的内容进行HASH,然后用CA私钥加密得到签名,将签名和CSR文件同时写入一个文件即为证书,而访问端通过CA根证书(包含CA公钥)解密服务端证书中的签名可以确认服务端身份,身份确认后就可以从服务端证书中CSR文件内拿到服务端的公钥 为什么要先HASH...
相关文章
文章评论
共有0条评论来说两句吧...