kingbase配置SSL双向认证

SSL简介:

SSL属于传输加密,在服务器端和客户端建立加密通信渠道来保证数据安全,防止数据在网络传输过程中被篡改和拦截。SSL加密可以使用第三方证书机构颁发的数字证书,也可以使用自签名证书。这里我们使用自签名证书。

背景:

现场是V8R3一主一从集群模式,集群模式相较于单机主要是sys_hba.conf的配置要注意,主备机都需要同步证书并修改配置

具体步骤:

一、检查openssl是否安装

openssl version

若没有安装

yum -y install openssl

yum -y install openssl-devel

二、生成一个有效期很长的自签名证书

cd 到数据目录

openssl req -new -text -out server.req-days 36500

openssl rsa -in privkey.pem -out server.key

rm -f privkey.pem

openssl req -x509 -in server.req -text -key server.key -out server.crt -days 36500

chmod og-rwx server.key

cp server.crtroot.crt

chmod 600 server.crt root.crt server.key

三、配置本地可ssl登录

cd /home/kingbase

mkdir .kingbase

chmod 0700 .kingbase

cd .kingbase

生成kingbase8.key

将第一步data下创建的root.crt文件和server.key文件cp到.kingbase目录下

openssl genrsa -des3 -out kingbase.key 1024

openssl rsa -in kingbase.key -out kingbase.key

chmod 400 kingbase.key

生成kingbase8.csr,CN需要指定为要连接数据库的用户名system(需要免密登录的话必须指定正确,不需要的话并不强制确定)

openssl req -new -key kingbase.key -out kingbase.csr -subj '/C=GB/ST=Berkshire/L=Newbury/O=Kingbase/CN=system' -days 36500

生成kingbase8.crt

openssl X509 -sha1 -req -in kingbase.csr -CA root.crt -CAkey server.key -out kingbase.crt-CAcreateserial -days 36500

生成kingbase8.pk8

openssl pkcs8 -topk8 -outform DER -in kingbase.key -outkingbase.pk8-nocrypt

用金仓的管理工具连接此库需要kingbase.pk8 (密钥)kingbase.crt(证书)、root.crt(CA证书)

cd /home/kingbase/.kingbase

chmod 600 *

四、配置数据库SSL参数

主备数据库kingbase.conf参数修改(集群的话,主备机data/kingbase.conf和etc/kingbase.conf需要保持一致)

ssl = on

ssl_cert_file = 'server.crt'

ssl_key_file = 'server.key'

ssl_ca_file = 'root.crt'

主备机修改sys_hba.conf,增加如下内容

##SYSTEM用户不用ssl验证,避免流复制、物理逻辑备份受影响

host all SYSTEM 192.168.233.0/24 md5

##SUPERMANAGER_V8ADMIN不用ssl验证,避免kingbasecluster检查数据库状态受影响

host all SUPERMANAGER_V8ADMIN 192.168.233.0/24 md5

##其他用户均强制使用ssl验证

hostssl all all 0.0.0.0/0 md5 clientcert=1

五、重启备机在重启主机

sys_ctl restart -D 数据目录

六、重启集群

kingbase_monitor stop

kingbase_monitor start

连接:

使用jdbc连接配置:

连接串后加参数并将root.crt、server.crt、server.crt上传到项目的主目录

sslmode=verify-ca&sslrootcert=root.crt&sslcert=server.crt&sslkey=server.crt

注意:如果是原生pg的驱动可以使用root.crt、server.crt、server.crt;

但如果是金仓的驱动需要使用kingbase.crt 、kingbase.pk8、 root.crt

相关推荐
白云~️2 小时前
uniappx 打包配置32位64位x86安装包
运维·服务器·github
在河之洲木水3 小时前
现代多核调度器的本质 调度三重奏
linux·服务器·系统架构
文牧之3 小时前
PostgreSQL的扩展 pgcrypto
运维·数据库·postgresql
程序员JerrySUN3 小时前
驱动开发硬核特训 · Day 22(下篇): # 深入理解 Power-domain 框架:概念、功能与完整代码剖析
linux·开发语言·驱动开发·嵌入式硬件
白总Server3 小时前
多智能体系统的中间件架构
linux·运维·服务器·中间件·ribbon·架构·github
未来会更好yes3 小时前
Centos 7.6安装redis-6.2.6
linux·redis·centos
二猛子4 小时前
Linux(Centos版本)中安装Docker
linux·docker·centos
浪裡遊5 小时前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
Johny_Zhao5 小时前
OpenStack 全套搭建部署指南(基于 Kolla-Ansible)
linux·python·信息安全·云计算·openstack·shell·yum源·系统运维
2401_867021905 小时前
文件缓冲区(IO与文件 ·III)(linux/C)
linux·运维·服务器·c语言