将 MySQL 连接限制在安全传输中
mysqlmysqli database
当 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 选项将通过在全局级别强制执行安全传输来添加这些账户级要求。