首页 > 其他分享 >KingbaseES V8R6 sslinfo 插件

KingbaseES V8R6 sslinfo 插件

时间:2022-12-21 17:11:20浏览次数:39  
标签:24 02 插件 openssl server ssl sslinfo KingbaseES

前言

KingbaseES对使用SSL 连接加密客户端/服务器通讯的本地支持,可以增加数据传输安全性。

本文展示配置ssl连接,并通过安装一个插件验证ssl加密认证使用。

一、配置ssl连接过程:

ssl_library的参数值是OpenSSL

test=#show ssl_library ;
 ssl_library
-------------
 OpenSSL
(1 row)

test=# select version();
version
\----------------------------------------------------------------------------------------------------------------------
KingbaseES V008R006C006B0013 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)

想要我们的数据库支持SSL连接,首先需要确保服务器安装了openssl:

[kingbase2@localhost ~]$ openssl version -d
OPENSSLDIR: "/etc/pki/tls"

KingbaseES 数据库配置单向SSL认证连接

首先为服务器创建一个有效期为365天的自签名证书,创建服务端证书和私钥文件并授权:

mkdir ~/openssl

openssl req -new -x509 -days 365 -nodes -text -subj '/CN=kingbase' -out ~/openssl/server.crt -keyout ~/openssl/server.key

chmod 600 ~/openssl/server.key

修改kingbase.conf配置文件

ssl = on 
ssl_cert_file = '/home/kingbase2/openssl/server.crt' 
ssl_key_file = '/home/kingbase2/openssl/server.key'
启动数据库实例:
[kingbase2@localhost data]$ sys_ctl start
waiting for server to start....2022-12-02 11:24:32.053 CST [16431] LOG:  sepapower extension initialized
2022-12-02 11:24:32.054 CST [16431] LOG:  starting KingbaseES V008R006C006B0013 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
2022-12-02 11:24:32.055 CST [16431] LOG:  listening on IPv4 address "0.0.0.0", port 2920
2022-12-02 11:24:32.055 CST [16431] LOG:  listening on IPv6 address "::", port 2920
2022-12-02 11:24:32.056 CST [16431] LOG:  listening on Unix socket "/tmp/.s.KINGBASE.2920"
2022-12-02 11:24:32.077 CST [16431] LOG:  redirecting log output to logging collector process
2022-12-02 11:24:32.077 CST [16431] HINT:  Future log output will appear in directory "sys_log".
 done
server started

[kingbase2@localhost data]$ ksql -h 127.0.0.1 -d test -Usystem -p2920
Password for user system:
ksql (V8.0)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

注意连接时候需要加上-h参数,否则不以ssl方式连接。

二、插件实现方法

KingbaseES数据库可将以下内容添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

shared_preload_libraries = 'sslinfo'
test=# select * from sys_available_extensions where name like 'ssl%';
  name   | default_version | installed_version |              comment
---------+-----------------+-------------------+------------------------------------
 sslinfo | 1.2             |                   | information about SSL certificates
(1 row)

test=# create extension sslinfo;
CREATE EXTENSION

test=# select * from ssl_is_used(), ssl_cipher();

ssl_is_used | ssl_cipher
-------------+-----------------------------
t | ECDHE-RSA-AES256-GCM-SHA384
(1 row)

test=# select * from pg_stat_ssl;
pid | ssl | version | cipher | bits | compression | client_dn | client_serial | issuer_dn
-------+-----+---------+-----------------------------+------+-------------+-----------+---------------+-----------
16437 | f | | | | | | |
16440 | f | | | | | | |
16442 | f | | | | | | |
16441 | f | | | | | | |
18551 | t | TLSv1.2 | ECDHE-RSA-AES256-GCM-SHA384 | 256 | f | | |
16435 | f | | | | | | |
16434 | f | | | | | | |
16436 | f | | | | | | |
(8 rows)

连接已成功加密。如果“ssl = true”,那么这么客户端已经使用ssl连接数据库。

标签:24,02,插件,openssl,server,ssl,sslinfo,KingbaseES
From: https://www.cnblogs.com/kingbase/p/16944792.html

相关文章

  • KingbaseES Clusterware 高可用案例之---构建iSCSI共享存储
    案例说明:在KingbaseESClusterware高可用的架构中,集群节点需要访问共享的存储设备,可以使用FCSAN、iscsiSAN、NAS等存储设备。本案例详细描述了,在Linux系统下构建iscsi......
  • KingbaseES 实现 MYSQL 的 delete limit 写法
    使用MySQL的用户可能会比较熟悉这样的用法,更新或删除时可以指定限制更新或删除多少条记录。updatetlsetxxx=xxxwherexxxlimit10;deletefromtlwherexxxlimit......
  • KingbaseES 基于SQL的函数过程
    什么是SQL函数?SQL函数包体是一些可执行的SQL语言。同时包含1条以上的查询,但是函数只返回最后一个查询(必须是SELECT)的结果。除非SQL函数声明为返回void,否则最后一条语......
  • KingbaseES V8R6 空闲事务会话超时自动终止机制
    背景如果会话在事务中停留的时间过长,则允许自动终止空闲会话。可以由配置参数idle_in_transaction_session_timeout事务处于空闲状态的时长,它有助于防止被遗忘的交易事务......
  • Argocd/Argocd Rolloouts/Argocd-cli/kubectl argo rollouts插件部署
    argocd部署官网​​https://argo-cd.readthedocs.io/en/stable/getting_started/​​部署地址参考​​https://argo-cd.readthedocs.io/en/stable/getting_started/​​​​......
  • 推荐8个提高工作效率的IntelliJ插件
    前言欢迎关注微信公众号「JAVA旭阳」交流和学习IntelliJ目前已经成为市面上最受欢迎的Java开发工具,这得益于里面非常丰富的插件机制。本文我将分享在日常开发中我经常......
  • idea常用插件
    idea常用插件IDEevalReset破解ideamybatis-log打印sql日志SonarLint代码审查AlibabaJavaCodingGuidelines代码审查Translation翻译RainbowBrackets括......
  • IDEA插件开发 如何在UI 面板 里添加 EditorTextFiled 组件
    很早之前的笔记了,现在想当时的场景,这么蠢的问题竟然还头疼了很长时间,说到底还是不愿尝试,以此为戒。 问题IDEA插件开发,在编写.form格式文件的时候,同时会展示一个Pale......
  • Debug --> wireshark中的lua插件使用
    一、使用Lua脚本对pcap文件按流进行存储https://zhuanlan.zhihu.com/p/35188803二、使用tshark对pcap报文进行批量切流https://blog.csdn.net/javajiawei/article/detai......
  • 油猴插件的下载、安装、使用教程及几个好用的脚本推荐
    Chrome浏览器(及基于Chromium内核的各种版本浏览器)之所以受到众多用户喜爱,除了它界面简洁、速度很快之外,另一方面就是它拥有各种各样功能丰富的扩展插件,可以实现屏蔽广告、页......