YashanDB分布式节点间SSL连接配置

简介: 本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。

本文内容来自YashanDB官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86/%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86/SSL%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AE/%E5%88%86%E5%B8%83%E5%BC%8F%E8%8A%82%E7%82%B9%E9%97%B4SSL%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AE.html

分布式节点间通信网络(DIN)支持SSL连接。

分布式节点进行跨节点通信时既可能是主动连接的一方(视作SSL握手的客户端),也可能是被动连接的一方(视作SSL握手的服务端),因此每个节点都需要配置服务器私钥和服务器证书等相关参数。

Caution

  • 分布式节点间内部通信网络是否开启SSL连接必须整个集群统一,不可部分节点配置或配置不一致。

  • 所有分布式节点的服务器证书应使用同一份根证书签名,否则SSL连接将报错。

  • 如打开了SSL连接开关,但未配置证书路径,或者配置路径不正确,数据库将无法启动。

工具准备


生成证书需使用OpenSSL工具,请先参照依赖项准备检查并确保服务器系统中已安装符合要求的工具。

生成证书


以下步骤中的工具命令选项、路径、名称等无限制,用户可依据自身环境和需要替换为其他值。

为简化操作,本手册将以服务器为单位管理服务器私钥和证书,即同一服务器上运行的所有分布式节点共用同一份服务器证书,保存在$YASDB_HOME/ssl目录下。同时,根证书、服务器私钥、服务器证书和DH文件等均只生成一份,整个集群节点间进行拷贝。

  1. 生成根证书(自签名,包含服务端公钥):

    根证书用于给分布式节点进行证书签名,整个分布式集群应使用同一份根证书。

    $ openssl req -new -x509 -days 365 -nodes -out root.crt -keyout ca.key -subj "/CN=RootCA"
    

    Copied!

  2. 生成根证书请求文件和服务器私钥:

    $ openssl req -new -nodes -text \
    -out server.csr \
    -keyout server.key \
    -subj "/CN=server"
    

    Copied!

  3. 生成服务器证书并签名:

    $ openssl x509 -req -in server.csr -text -days 5 \
    -CA root.crt \
    -CAkey ca.key \
    -CAcreateserial \
    -out server.crt
    

    Copied!

  4. 生成DH文件:

    $ openssl dhparam -2 -out dhparam.pem -text 2048
    

    Copied!

  5. 拷贝证书到其他服务器的$YASDB_HOME/ssl目录下。

    实际操作时,用户可权衡自身对证书管理便捷性和安全性的需要,对配置流程和方式进行调整。

    如需按节点为单位管理证书,可将证书保存在$YASDB_DATA/config/ssl目录下并按节点进行证书拷贝,每个分布式节点使用独立的证书。

    如需提高安全性,可在配置另一证书管理单位(服务器或节点)时仅拷贝根证书并执行流程2 - 4,单独生成服务器私钥和证书。

Note

根证书或服务器证书过期后,需重新生成证书。

配置参数


  1. 在数据库打开SSL连接开关,并配置证书路径。其中,路径仅可指定为绝对路径,且最长不超过254字节。用户可依据自身环境和需要替换示例中的证书路径。

    ALTER SYSTEM SET din_ssl_enable = ON SCOPE=spfile;
    ALTER SYSTEM SET ssl_cert_file = /home/yashan/YASDB_HOME/ssl/server.crt SCOPE=spfile;
    ALTER SYSTEM SET ssl_dh_param_file = /home/yashan/YASDB_HOME/ssl/dhparam.pem SCOPE=spfile;
    ALTER SYSTEM SET ssl_key_file = /home/yashan/YASDB_HOME/ssl/server.key SCOPE=spfile;
    

    Copied!

  2. 确认所有分布式节点都完成证书制作和参数配置且无误后,重启集群。

相关文章
|
3月前
|
机器学习/深度学习 监控 算法
分布式光伏储能系统的优化配置方法(Matlab代码实现)
分布式光伏储能系统的优化配置方法(Matlab代码实现)
144 1
|
2月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
160 12
|
3月前
|
算法 调度
【孤岛划分】分布式能源接入弹性配电网模型研究【IEEE33节点】(Matlab代码实现)
【孤岛划分】分布式能源接入弹性配电网模型研究【IEEE33节点】(Matlab代码实现)
422 10
|
3月前
|
并行计算 算法 安全
【ADMM、碳排放】基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究【IEEE6节点、IEEE30节点、IEEE118节点】(Matlab代码实现)
【ADMM、碳排放】基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究【IEEE6节点、IEEE30节点、IEEE118节点】(Matlab代码实现)
190 0
|
3月前
|
算法 安全 新能源
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
275 0
|
5月前
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
4月前
|
存储 并行计算 算法
【前推回代法】含有分布式电源的三相不平衡配电网潮流计算【IEEE33节点】(Matlab代码实现)
【前推回代法】含有分布式电源的三相不平衡配电网潮流计算【IEEE33节点】(Matlab代码实现)
133 0
|
7月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
2267 57
|
6月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
394 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
8月前
|
存储 Oracle 关系型数据库
MySQL 8.4 配置SSL组复制(八个步骤)
MySQL 8.4 配置SSL组复制(八个步骤)
515 0