OceanBase安全审计之传输加密

上一期我们讲了关于 OceanBase 安全审计的《身份鉴别》和《用户管理与访问控制》 两个部分,OceanBase 的安全机制介绍其支持传输加密,今天我们主要来实践一下如何配置传输加密以及验证是否真的加密。

作者:金长龙

爱可生测试工程师,负责 DMP 产品的测试工作。

作者:陈慧明

爱可生测试工程师,主要参与 DMP 和 DBLE 自动化测试项目。

本文来源:原创投稿

* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

OceanBase 的安全机制介绍其支持传输加密,今天我们主要来实践一下如何配置传输加密以及验证是否真的加密。

环境准备

  1. 企业版 OceanBase 4.1 集群(3 节点) + OBProxy

  2. 配置 CA、服务端、客户端证书

OceanBase 社区版也可以实现。

OBServer 传输加密

2.1 开启加密

OceanBase 传输加密的开启通过多个配置项配合使用。

通过 root 用户登录 sys 租户

指定私钥/证书/CA 证书的获取方式

alter system set ssl_external_kms_info = '
{
"ssl_mode":"file"
}';

配置 MySQL 端口 SSL 通信

alter system set ssl_client_authentication = 'TRUE';
# 配置为 TRUE 后,MySQL 通信 SSL 即时开启。

配置 RPC 通信的 SSL 白名单

由于 OBServer 之间 TCP 连接都是长连接,因此需要重启 OBServer 后 RPC SSL 加密通信才能开启。

# RPC 通信 SSL 需要配置白名单。
# 整个集群都开启。
alter system set _ob_ssl_invited_nodes='ALL'; # 指定 IP 的 OBServer 开启 SSL。
alter system set _ob_ssl_invited_nodes='135.xxx.xx.xx, 128.xxx.xx.xx'; 

2.2 验证加密

MySQL 端口(2881)

通过 \s 查看。

抓包。

RPC 端口(2882)

日志检索 rpc connection accept,查看 use_ssl 的值是 True 还是 False。

抓包。

ODP 传输加密

使用了 OBProxy 之后,客户端跟 OceanBase 建立加密连接,实际是跟 OBProxy 建立加密连接,然后 OBProxy 跟 OBServer 再建立加密连接。 按照这个理解,前面服务端 OceanBase 集群开启 SSL 客户端认证也是个必要的前提了。

3.1 开启加密

  1. 使用 OBProxy 的 root@proxysys 账号登录。
  2. 设置证书、公钥、私钥。
UPDATE proxyconfig.security_config SET CONFIG_VAL= '{"sourceType" : "FILE", "CA" : "certs/ca.pem", "publicKey" : "certs/client-cert.pem", "privateKey" : "certs/client-key.pem"}' WHERE APP_NAME = 'obproxy' and VERSION = '1';

注意:这里配置的公钥和私钥,是前面生成的 Client 端证书,而不是 Server 端的。因为 OBProxy 作为客户端和服务端链路中间重要的一环,是客户端的“服务端”,同时也是 OceanBase 服务端的“客户端”。

检查是否设置成功。

配置客户端和 OBProxy 开启 SSL 连接。

alter proxyconfig set enable_client_ssl=true;

配置 OBProxy 和 OBServer 开启 SSL 连接。

alter proxyconfig set enable_server_ssl=true;

用业务租户的管理员账户登录,设置 SSL 白名单。

alter system set ob_ssl_invited_common_names="obclient";
# 这个参数是租户级别的,需要在要连接的租户里设置,立即生效,不需要重启实例或者集群。

注意:ob_ssl_invited_common_names 的值要设置成和 Client 端证书 subject 中的 cn(common name) 字段一致。

3.2 验证加密

客户端和 OBProxy 的连接

OBProxy 和 OBServer 的连接

总结

实际配置和验证的过程也踩了几个坑,还是要结合文档多加理解和消化。

更多技术文章,请访问:https://opensource.actionsky.com/

关于 SQLE

爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。

SQLE 获取

类型地址
版本库https://github.com/actiontech/sqle
文档https://actiontech.github.io/sqle-docs/
发布信息https://github.com/actiontech/sqle/releases
数据审核插件开发文档https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtouse

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/94013.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机基础】Git从安装到使用,详细每一步!扩展Github\Gitlab

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

maven本地安装jar包install-file,解决没有pom的问题

背景: 公司因为权限问题,没有所有的代码,内部maven还在搭建,所以需要拿到同事的jar包,本地install: mvn install:install-file -DgroupIdcom..framework -DartifactIdcloud-api -Dversion1.0.0-SNAPSHOT …

最详细Maven下载、安装、配置教程

Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具&…

【App端】uni-app使用百度地图api和echarts省市地图下钻

目录 前言方案一:echarts百度地图获取百度地图AK安装echarts和引入百度地图api完整使用代码 方案二:echarts地图和柱状图变形动画实现思路完整使用代码 方案三:中国地图和各省市地图下钻实现思路完整使用代码 前言 近期的app项目中想加一个功…

QEMU 啓動gdb 調試

背景 上一章介紹了如何使用QEMU 運行RISC-V 程序, GDB 作爲強大的代碼調試工具,對軟件開發至關重要,本章介紹如何啓動GDB 調試 CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132522853 開啓GDB 服務 QEMU 啓動時添加-s參數, 代碼啓用本地GDB 服務, 默認端口號爲1234.…

基于单片机的串行通信发射机设计

一、项目介绍 串行通信是一种常见的数据传输方式,允许将数据以比特流的形式在发送端和接收端之间传输。当前实现基于STC89C52单片机的串行通信发射机,通过红外发射管和接收头实现自定义协议的数据无线传输。 二、系统设计 2.1 单片机选择 在本设计中&…

十五、pikachu之CSRF

文章目录 一、CSRF概述二、CSRF实战2.1 CSRF(get)2.2 CSRF之token 一、CSRF概述 Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击&#xf…

docker linux(centos 7) 安装

这是个目录 1:安装1:手动安装(适用于centos7)之一2:手动安装(适用于centos7)之二3:一键安装docker4:二进制安装1:下载二进制包2:解压3:移动文件4:后台运行docker5:测试 dicker命令表999:遇到的问…

基于 Debian 12 的 Devuan GNU+Linux 5 为软件自由爱好者而生

导读Devuan 开发人员宣布发布 Devuan GNULinux 5.0 “代达罗斯 “发行版,它是 Debian GNU/Linux 操作系统的 100% 衍生版本,不包含 systemd 和相关组件。 Devuan GNULinux 5 基于最新的 Debian GNU/Linux 12 “书虫 “操作系统系列,采用长期支…

计算机竞赛 基于机器视觉的停车位识别检测

简介 你是不是经常在停车场周围转来转去寻找停车位。如果你的车辆能准确地告诉你最近的停车位在哪里,那是不是很爽?事实证明,基于深度学习和OpenCV解决这个问题相对容易,只需获取停车场的实时视频即可。 该项目较为新颖&#xf…

指针结构体题

目录 初阶指针_指针的概念 1.使用指针打印数组内容 2.字符串逆序 3.整形数组和字符串数组 4.打印菱形 5.打印水仙花数 6.计算求和 结构体 7.喝汽水问题 8.程序死循环解释 9.选择题总结tips 今天是重点是指针&结构体题题目。🆗🆗&#x…

Spring Aop--通知注解

一、环绕注解 环绕注解 环绕注解Aroud 注解描述AroundAround是Spring AOP中的一种通知类型,用于在目标方法执行前后进行环绕操作。它可以在方法调用前后增加额外的逻辑,例如日志记录、性能监控等。Around注解需要配合AspectJ表达式来指定切入点&#…