2.4.3. 对特定的用户帐户需要 TLS 加密连接
可以访问敏感数据的用户应始终使用 TLS 加密连接,以避免通过网络发送未加密的数据。
如果您无法在服务器上配置所有连接都需要安全传输(require_secure_transport = on),请将单个用户帐户配置为需要 TLS 加密。
先决条件
- MariaDB 服务器启用了 TLS 支持。
- 您配置为需要安全传输的用户已存在。
流程
以管理员用户身份连接到 MariaDB 服务器:
# mysql -u root -p -h server.example.com如果您的管理用户没有远程访问服务器的权限,请在 MariaDB 服务器上执行命令并连接到
localhost。使用
REQUIRE SSL子句强制用户必须使用 TLS 加密连接进行连接:MariaDB [(none)]> ALTER USER 'example'@'%' REQUIRE SSL;
验证
使用 TLS 加密,以
example用户身份连接到服务器:# mysql -u example -p -h server.example.com --ssl ... MariaDB [(none)]>如果没有显示错误,并且您可以访问交互式 MariaDB 控制台,则与 TLS 的连接成功。
尝试以禁用 TLS 的
example用户身份进行连接:# mysql -u example -p -h server.example.com --skip-ssl ERROR 1045 (28000): Access denied for user 'example'@'server.example.com' (using password: YES)服务器拒绝登录尝试,因为此用户需要 TLS,但被禁用了(
--skip-ssl)。