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加密连接的更多相关文章

  1. MySQL的SSL加密连接与性能开销

    本文转载自:http://www.innomysql.net/article/23959.html(只作转载, 不代表本站和博主同意文中观点或证实文中信息) Contents [hide] 1 前言 ...

  2. mysql 建立加密连接

    加密连接可提高数据的安全性,但会降低性能.要进行加密连接,必须满足以下要求: user权限表里要有相关的SSL数据列.如果安装的MySQL服务器是4.0.0版的,user权限表已包含相关的SSL数据列 ...

  3. MsSQL使用加密连接SSL/TLS

    说明 应用程序通过未加密的通道与数据库服务器通信, 这可能会造成重大的安全风险.在这种情况下, 攻击者可以修改用户输入的数据, 甚至对数据库服务器执行任意 SQL 命令. 例如,当您使用以下连接字符串 ...

  4. MSSQL - 最佳实践 - 使用SSL加密连接

    MSSQL - 最佳实践 - 使用SSL加密连接 author: 风移 摘要 在SQL Server安全系列专题月报分享中,往期我们已经陆续分享了:如何使用对称密钥实现SQL Server列加密技术. ...

  5. SQL Server使用加密连接SSL/TLS (转载)

    说明 应用程序通过未加密的通道与数据库服务器通信, 这可能会造成重大的安全风险.在这种情况下, 攻击者可以修改用户输入的数据, 甚至对数据库服务器执行任意 SQL 命令.例如,当您使用以下连接字符串时 ...

  6. Tomcat配置https加密连接

    配置https安全连接(ssl加密连接) https连接需要用到数字证书与数字签名(MD5算法),网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书. 证书运用到RSA技术,RSA ...

  7. Mysql 5.7.18 加密连接mysql_ssl_rsa_setup

    MySQL 5.7.18 下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64. ...

  8. SSM实现mysql数据库账号密码加密连接

    引言 咱们公司从事的是信息安全涉密应用的一些项目研发一共有分为三步,相比较于一般公司和一般的项目,对于信息安全要求更加严格,领导要求数据量和用户的用户名及密码信息都必需是要密文配置和存储的,这就涉及到 ...

  9. ip端口协议,SSHj加密连接

    SSH协议----一旦linux服务器开机,SSH协议就不断的侦听22端口,一旦有连接到达,就校验连接用户名和密码: 可以理解为连接ip端口为找到一栋大楼,发送用户名和密码为向大楼保安出示证件.SSH ...

随机推荐

  1. java中public protected friendly private作用域

    1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...

  2. Netty源码剖析-业务处理

    参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! ----主线:worker thread 触发pipeline.fi ...

  3. (三)mysql SQL 基本操作

    文章目录 MySQL服务器对象 mysql 的基本操作 SQL的注释 库操作 表(字段)操作 数据操作 MySQL服务器对象 mysql 服务器对象内部分成了 4 层: 系统(DBMS)----> ...

  4. # Ubuntu子系统安装配置

    目录 Ubuntu子系统安装配置 安装配置 终端美化 卸载 和win10之间的交互 Ubuntu子系统安装配置 亲测启动速度毫秒之间 安装配置 系统升级到一周年正式版及以上(1607) 依次在 设置 ...

  5. 统计学习方法 | 感知机 | python实现

    感知机是二类分类的线性分类模型,利用随机梯度下降法对基于误分类的损失函数进行极小化. 书中算法可以将所有样本和系数向量写成增广向量的形式,并将所有负样本乘以-1,统一形式,方便计算. (1)训练数据集 ...

  6. S02_CH07_ ZYNQ PL中断请求

    S02_CH07_ ZYNQ PL中断请求 7.1 ZYNQ 中断介绍 7.1.1 ZYNQ中断框图 可以看到本例子中PL到PS部分的中断经过ICD控制器分发器后同时进入CPU1 和CPU0.从下面的 ...

  7. idea 编辑器Git暂存区的使用

    平时在开发时候 一般线上环境和线下环境区别会很大,所以一下线下的自己测试环境的代码没有如果提交会影响线上环境,所以一般都会使用git的一个暂存区作为临时存放不需要提交的代码,这样每次提交代码都可以在不 ...

  8. MyBatis 源码篇-资源加载

    本章主要描述 MyBatis 资源加载模块中的 ClassLoaderWrapper 类和 Java 加载配置文件的三种方式. ClassLoaderWrapper 上一章的案例,使用 org.apa ...

  9. ES6入门十一:Generator生成器、async+await、Promisify

    生成器的基本使用 生成器 + Promise async+await Promise化之Promisify工具方法 一.生成器的基本使用 在介绍生成器的使用之前,可以简单理解生成器实质上生成的就是一个 ...

  10. 解决maven 引用JDK内部类编译错误 程序包:com.sun.xml.internal.bind.marshaller.CharacterEscapeHandler不存在

    当maven项目里面有用到JDK内部的一些类或者接口的时候,用maven编译一般会出现如下错误: 程序包:com.sun.xml.internal.bind.marshaller.CharacterE ...