- A.9.1. 在哪里可以找到解决 MySQL 安全问题的文档?
- A.9.2. MySQL 5.7 中的默认身份验证插件是什么?
- A.9.3. MySQL 5.7 是否原生支持 SSL?
- A.9.4. MySQL 二进制文件中内置了 SSL 支持,还是我必须自己重新编译二进制文件才能启用它?
- A.9.5. MySQL 5.7 是否具有针对 LDAP 目录的内置身份验证?
- A.9.6. MySQL 5.7 是否包含对基于角色的访问控制 (RBAC) 的支持?
- A.9.7. MySQL 5.7 是否支持 TLS 1.0 和 1.1?
A.9.1. | 在哪里可以找到解决 MySQL 安全问题的文档? |
最好的起点是第 6 章,安全性。 MySQL 文档的其他部分可能对特定的安全问题有用,包括以下内容:
还有 Secure Deployment Guide,它提供了部署 MySQL Enterprise Edition Server 的通用二进制分发的过程,具有管理 MySQL 安装安全性的功能。 | |
A.9.2. | MySQL 5.7 中的默认身份验证插件是什么? |
MySQL 5.7 中默认的身份验证插件是
| |
A.9.3. | MySQL 5.7 是否原生支持 SSL? |
大多数 5.7 二进制文件都支持客户端和服务器之间的 SSL 连接。请参阅 第 6.3 节,“使用加密连接”。 如果(例如)客户端应用程序不支持 SSL 连接,您也可以使用 SSH 隧道连接。有关示例,请参阅第 6.3.5 节,“使用 SSH 从 Windows 远程连接到 MySQL”。 | |
A.9.4. | MySQL 二进制文件中内置了 SSL 支持,还是我必须自己重新编译二进制文件才能启用它? |
大多数 5.7 二进制文件都为客户端/服务器连接启用了 SSL,这些连接是安全的、经过身份验证的或两者兼而有之。请参阅第 6.3 节,“使用加密连接”。 | |
A.9.5. | MySQL 5.7 是否具有针对 LDAP 目录的内置身份验证? |
企业版包括一个 支持针对 LDAP 目录进行身份 验证的PAM 身份验证插件。 | |
A.9.6. | MySQL 5.7 是否包含对基于角色的访问控制 (RBAC) 的支持? |
不是在这个时候。 | |
A.9.7. | MySQL 5.7 是否支持 TLS 1.0 和 1.1? |
从 MySQL 8.0.28 开始,删除了对 TLSv1 和 TLSv1.1 连接协议的支持。这些协议已从 MySQL 8.0.26 中弃用。有关删除的后果,请参阅 已弃用的 TLS 协议。 删除了对 TLS 版本 1.0 和 1.1 的支持,因为这些协议版本较旧,分别于 1996 年和 2006 年发布。使用的算法薄弱且过时。 除非您使用的是非常旧版本的 MySQL 服务器或连接器,否则您不太可能使用 TLS 1.0 或 1.1 建立连接。MySQL 连接器和客户端默认选择可用的最高 TLS 版本。 MySQL Server 何时添加了对 TLS 1.2 的支持?MySQL Community Server 在 2019 年社区服务器为 MySQL 5.6、5.7 和 8.0 切换到 OpenSSL 时添加了 TLS 1.2 支持。对于 MySQL Enterprise Edition,OpenSSL 在 2015 年的 MySQL Server 5.7.10 中添加了 TLS 1.2 支持。 如何查看正在使用的 TLS 版本?对于 MySQL 5.7 或 8.0,通过运行以下查询查看是否正在使用 TLS 1.0 或 1.1:
如果列出了使用 TLSv1.0 或 TLSv1.1 的线程,您可以通过运行以下查询来确定此连接的来源:
或者,您可以运行此查询:
这些查询提供了确定哪个应用程序不支持 TLS 1.2 或 1.3 以及针对这些应用程序进行升级所需的详细信息。
是否有其他选项可用于测试 TLS 1.0 或 1.1?是的,您可以在将服务器升级到更新版本之前禁用这些版本。
是否所有 MySQL 连接器(5.7 和 8.0)都支持 TLS 1.2 及更高版本?使用 C 和 C++ 应用程序
在 MacOS 上,使用此命令:
连接器/J 呢?Java 8 在 2014 年 1 月默认迁移到 TLS 1.2;在此之前支持 TLS 1.2,因此除非您运行的是非常旧的 Connector/J 版本,否则您将获得 TLS 1.2 支持。 连接器/NET 怎么样?对于 .NET 应用程序,Microsoft 在 2020 年底停止了对 TLS 1.0 和 1.1 的支持。在 2012 年添加了对 TLS 1.2 的支持。您需要使用非常旧版本的 Connector/NET 才能不支持 TLS 1.2。 连接器/Python 呢?这取决于您运行的 Python 版本。Python 2.6 中的 SSL 模块仅支持 1.0 版以下的 TLS。在这种情况下,您需要升级到 Python 2.7.9 或更高版本,或者 Python 3.x,它们都支持更新版本的 TLS。有关详细信息,请参阅 连接器/Python 版本和 https://www.calazan.com/how-to-check-if-your-python-app-supports-tls-12/。
Connector/Node.js 或 Node MySQL2 怎么样?TLS 随附 PHP 呢? 这些 PHP 版本支持 TLS 1.2 及更高版本。 |