如何确定在MySql连接中使用SSL?

时间:2017-03-09 18:38:01

标签: c# mysql ssl database-connection wireshark

我们正在使用.Net MySql Connector的v6.9.9来使用此连接字符串访问MySql,指定需要SSL。

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
SSL Mode=Required

我们的DBA已启用对SSL的支持,但在我的测试期间,无论我的计算机上是否安装了证书,我都可以连接到服务器,无论我是否具有“SSL模式=必需”或不

但是,当我的DBA禁用SSL时,如果我使用上述连接字符串,则会收到SSL未启用的错误。

因此,我真的不知道我的网络流量是否被加密。我该如何验证?

-

我的问题与此问题有点重复,没有接受答案。

How to check whether a MySQL connection is SSL encrypted?

有些人建议使用WireShark进行测试。有没有人有关于如何使用此工具验证我的SSL连接的分步说明?

-

此链接讨论从MySql客户端调用“status”。 https://dba.stackexchange.com/questions/36776/how-can-i-verify-im-using-ssl-to-connect-to-mysql

我让我的DBA尝试了 - 但他无法针对我的连接调用该方法,只针对他的本地连接。反正有没有在我的c#代码中调用它? 我尝试过这个,但我认为返回的值不会告诉我连接是否为SSL。

SHOW SESSION STATUS LIKE '%Ssl%';

任何有关如何验证我的SSL连接的详细信息的人都将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

Didn在数据库方面做了很多工作,但网络/ wireshark专业知识足以让您完成任务。那么你应该怎么做:

  1. 使用this tutorial
  2. 准备捕获设置
  3. 使用wireshark开始嗅探网络并对数据库执行一些查询
  4. 使用display filter按数据库IP地址和/或端口过滤流量,因此无法显示无关的数据包
  5. 检查显示的数据包。将它们与sample of MySQL over TCPsample of MySQL over SSL进行比较。提示:您可以在不受保护的连接中将查询视为纯文本,而SSL使数据包有效负载看起来像一堆随机垃圾。