限制MySQL连接到安全传输


MySQL 通过简化 MySQL Community 和 MySQL Enterprise 的密钥生成,使安全连接更容易。通过扩展对 TLSv1.1 和 TLSv1.2 的支持,从而提高了安全性。这也有助于管理员通过增强对连接类型的可见性来确定客户端是否正在安全连接。

为了强调安全连接的重要性,MySQL 服务器引入了一个新的服务器端配置选项,允许 MySQL 管理员将连接限制为使用安全传输的客户端。当我们谈到连接需要安全传输时,首先需要解决的问题是它使用的传输类型。

安全传输

让我们看看哪些传输类型被认为是安全的:

  • SSL/TLS

  • 套接字

  • 共享内存

特别是,在 Windows 机器上使用命名管道传输的连接不被认为是安全的。这些连接通常在本地进行,并且命名管道连接也可以远程进行。但是,它们也缺乏可以保护通过网络发送的数据有效负载的数据加密。

新添加了 `--require_secure_transport` 配置选项。这里,布尔选项默认为 OFF。这意味着如果与传统行为一致,则接受使用上述任何支持的

协议的连接。设置 `--require_secure_transport=ON` 将使服务器拒绝不使用上述任何连接类型的新的连接。

不安全连接

由于不安全连接而被拒绝的客户端将收到以下错误:

示例

D:\mysql-advanced-5.7.10-winx64>bin\mysql -uroot -P3310 --skip-ssl

输出

ERROR 3159 (HY000): Connections using insecure transport are prohibited while
--require_secure_transport=ON.

示例

D:\mysql-advanced-5.7.10-winx64>bin\mysql -uroot -P3310 --skip-ssl

输出

ERROR 3159 (HY000): Connections using insecure transport are prohibited while
--require_secure_transport=ON.

与帐户级要求的交互

MySQL 还支持为特定帐户要求 TLS。这是通过在 CREATE 或 ALTER USER 命令中包含 REQUIRE SSL 子句来实现的。新的 `--require_secure_transport` 选项将通过在全局级别强制执行安全传输来添加这些帐户级要求。

更新于:2021年3月9日

607 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告