kingbase配置SSL双向认证

news/2024/7/9 22:25:00 标签: ssl, 服务器, linux, postgresql, 金仓

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.crt root.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 -out kingbase.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


http://www.niftyadmin.cn/n/5360921.html

相关文章

跟着pink老师前端入门教程-day16

二十七、CSS3进阶 1、CSS3 2D转换 转换(transform)是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果 转换(transform)可以简单理解为变形 移动:translate;旋转&#xff…

Vue中使用定义的函数时,无法访问到data()里面的数据

const translateItems1 () > {this.translatedItems this.items1.map(item > {return {...item,label: this.$t(item.labelKey)};}); items1是我们data()里面的数据,无法访问到 解决办法 把箭头函数替换为普通函数 const translateItems1 function() {th…

STM32之IIC总线控制ATC24C04

一、存储器介绍 1、电子密码存储概述 单片机的电子密码存储是一种将密码信息以电子形式存储在单片机内部的技术。它通常用于需要保护敏感信息或限制访问权限的应用程序,如安全系统、门禁系统、电子锁等。 电子密码存储可以通过多种方式实现,以下是其中…

SQL的函数类型

目录 一、聚合函数 二、数值型函数 三、字符串函数 四、日期函数 五、流程控制函数 一、聚合函数 定义:聚合函数是指对一组值进行运算,最终返回是单个值,也可以被称为组合函数。 COUNT() 统计目标行数量的函数 AVG() 求平均值 SU…

Git私服搭建

1、安装 openssh服务器 sudo apt-get install openssh-server openssh-client 2、创建个人公钥和私钥 在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥 ssh-keygen -t rsa 默认生成2048位,如果需要提高安全级别&#xff0c…

贰[2],Xamarin生成APK

1,生成改为Release版本 2,选中****.Android项目 3,点击生成,选择存档 4,点击分发 5,选择临时 6,添加签名标识 7,选择对应的签名标识,点击另存为

C#入门:在JetBrains Rider中创建.Net Framework控制台应用程序,输出“Hello, World!”

引言 学习C#编程语言的一个经典起点是编写一个简单的"Hello, World!"程序。本篇博客将引导您使用JetBrains Rider这一功能强大且用户友好的集成开发环境(IDE),基于传统的.NET Framework来构建并运行您的第一个C#控制台应用程序。 …

爬虫学习笔记-Cookie登录古诗文网

1.导包请求 import requests 2.获取古诗文网登录接口 url https://so.gushiwen.cn/user/login.aspxfromhttp%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx # 请求头 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like …