36. ClustrixDB 使用ClustrixDB加密连接
Posted yuxiaohao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了36. ClustrixDB 使用ClustrixDB加密连接相关的知识,希望对你有一定的参考价值。
ClustrixDB使用sha256_password插件支持SSL和身份验证。
一些安全规则要求对存储在数据库中的用户密码进行更强的保护。与默认的mysql_native_password插件相比,sha256_password插件提供了在ClustrixDB中存储用户密码凭证的更安全的方法。当用户帐户配置为使用sha256_password插件时,该用户必须始终使用受SSL保护的连接进行连接。
下面的说明提供了配置ClustrixDB用于SSL加密连接的步骤,还配置ClustrixDB用户帐户使用SHA256密码安全性和SSL加密连接。要使用此功能,请使用下面的说明来生成证书和密钥,将它们复制到所有节点,配置数据库和用户以在适用时使用SSL(需要mysql客户机5.6.38或更高)。
一、用于SSL加密连接的ClustrixDB配置
配置ClustrixDB使用加密连接:
创建密钥和证书(使用您选择的方法),并将它们作为根用户复制到每个节点:
shell> scp server-cert.pem root@hostname:/data/clustrix
shell> scp server-key.pem root@hostname:/data/clustrix
在每个节点上,将这些文件的所有权转移给clxd用户:
shell> sudo chown clxd server-*.pem
证书和密钥必须位于每个节点上的相同位置。
配置ClustrixDB以使用这些证书、密钥和SSL:
sql> SET GLOBAL ssl_cert = ‘/data/clustrix/server-cert.pem‘; sql> SET GLOBAL ssl_key = ‘/data/clustrix/server-key.pem‘; sql> ALTER CLUSTER RELOAD SSL; sql> SET GLOBAL ssl_enabled = TRUE;
ALTER CLUSTER RELOAD SSL验证证书和密钥的位置。如果这个命令失败,clustrix.log可能包含更多的细节。
二、使用加密连接从客户端连接
MySQL客户端版本必须是5.6.38、5.7或更高版本。
如果你使用的是mysql 5.6.38客户端,你必须指定密码类型:
shell> mysql --ssl-cipher=AES256-SHA -u username -h hostname -p
如果你使用的是mysql 5.7客户端,不需要特殊的选项:
shell> mysql username -h hostname -p
s的输出会显示是否启用了TLS:
sql> s
并在输出中显示使用的加密类型:
Cipher in use is AES256-SHA
这个查询将显示所有会话使用的加密类型:
sql> select * from system.sessions;
三、设置用户
默认情况下,密码使用mysql_native_password。要更改现有用户的密码以使用sha256加密:
sql> ALTER USER ‘seymour@‘%‘ IDENTIFIED WITH sha256_password BY ‘foo‘;
要设置回使用mysql本机密码:
sql> ALTER USER ‘seymour‘@’%’ IDENTIFIED WITH mysql_native_password by ‘foo‘;
使用sha256_password身份验证创建新用户:
sql> CREATE USER ‘seymour2‘@‘%‘ IDENTIFIED WITH sha256_password BY ‘foo‘;
使用SHA256加密密码的用户必须使用加密连接连接到ClustrixDB。如果安全连接不可用,用户将遇到错误并无法连接。
关于使用SHA2的注意事项
- 证书和密钥必须存在于所有节点上,并由clxd用户拥有
- ClustrixDB不支持配置mysql_native_password之外的默认身份验证插件
- ClustrixDB不支持RSA密码加密
- 使用加密连接会带来性能开销
以上是关于36. ClustrixDB 使用ClustrixDB加密连接的主要内容,如果未能解决你的问题,请参考以下文章
36. ClustrixDB 使用ClustrixDB加密连接