我正在mysql 客户端中寻找一种可能性,以仅测试--ssl-mode=REQUIRED
给定指令是否--host
100% 得到保证,而不会潜在地破坏通过 Internet 以明文形式显示的用户名、密码和数据库名称。使用如下参数运行该模式--ssl--check-handshake-only-then-disconnect-and-report
:
这是关于一个人的网络主机的场景:
- 没有关于服务器上 SSL 可用性的适当/可用/可靠的文档,
- 和/或不能或只能复杂地访问 mysql 服务器及其配置信息。
到目前为止,经过我的研究,我认为不可能进行 100% 无风险的 SSL/TLS 握手测试运行,这显然是无风险的,因为它无需提供用户名、密码和数据库名称即可运行。
--ssl-mode=REQUIRED的文档非常简单明了地解决了这个问题:
必需:如果服务器支持加密连接,则建立加密连接。如果无法建立加密连接,则连接尝试失败。
只需相信 mysql 客户端(又名“shell”)它确实按该顺序运行:
- 确保
--ssl-mode=REQUIRED
在给定情况下有效,否则会过早退出并显示明确的错误消息。 - 只有当握手和加密协商顺利进行时,客户端才会提交提供的用户名、密码和数据库名称。
- 并且没有新的开发人员会在该条件检查中引入错误......
对于了解并信任他们的 mysql 客户端和设置的精通/日常用户来说,这可能就足够了。
但对于真正需要 100% 无风险检查的新用户或需要怀疑的人来说,这不是最佳选择。
一个真正的“无风险连接/握手测试模式”显然是无风险的,因为它也可以在不提交任何具体凭据的情况下工作,这将是非常令人放心的。
- 在我在https://bugs.mysql.com注册并在那里提交功能请求之前
- 我在这里问一下,是否有我不知道的可能性。