【问题标题】:Is there a way to determine MySQL SSL connectivity without authentication?有没有办法在没有身份验证的情况下确定 MySQL SSL 连接?
【发布时间】:2014-09-08 03:44:38
【问题描述】:

我想通过 SSL 连接到 MySQL 服务器(AWS RDS,如果您必须知道的话)。我熟悉所涉及的基本机制。

到目前为止,我看到的所有方法都涉及运行 SQL 查询以确定当前连接使用 SSL。

我担心这是一个“鸡和蛋”问题:我可能需要以纯文本形式将我的凭据发送到服务器,因此我可以在服务器上运行查询以确定它不是纯文本。

有没有办法在不进行身份验证的情况下运行SHOW STATUS LIKE 'Ssl_cipher'; 查询?

这似乎是一个非常基本的要求(我想知道我的密码在通过网络发送之前会被加密)但似乎很难找到所需的信息。

我已阅读以下资源:

【问题讨论】:

  • 如何连接mysql服务器?
  • @mrtux: mysql -h blah -u blah --ssl-ca=blah.pem -p 但这将始终发送我的密码,即使 SSL 不起作用
  • 如果你对mysql服务器有root权限,你可以grant你的用户REQUIRE SSL然后mysql只接受加密连接。
  • 在服务器端设置此项并不能保护您免受 mitm 降级攻击。

标签: mysql sql security ssl database-connection


【解决方案1】:

MySQL 本地身份验证不会在不考虑 SSL 使用情况的情况下通过网络发送密码(它总是发送从服务器返回的密码和盐函数的结果)。

在最近的版本中,发送明文密码可能会有所帮助 - 但只有在您明确提供选项(在客户端)--enable-cleartext-plugin(或类似)时才会发生这种情况。

【讨论】:

    猜你喜欢
    • 2018-10-06
    • 2016-04-07
    • 2020-04-12
    • 2020-04-17
    • 2023-03-13
    • 2013-04-21
    • 1970-01-01
    • 2022-06-12
    • 2012-01-11
    相关资源
    最近更新 更多