OceanBase安全审计之传输加密

这篇具有很好参考价值的文章主要介绍了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 查看。

OceanBase安全审计之传输加密,oceanbase

抓包。

OceanBase安全审计之传输加密,oceanbase

RPC 端口(2882)

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

OceanBase安全审计之传输加密,oceanbase

抓包。

OceanBase安全审计之传输加密,oceanbase

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 服务端的“客户端”。

检查是否设置成功。

OceanBase安全审计之传输加密,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) 字段一致。

OceanBase安全审计之传输加密,oceanbase

3.2 验证加密

客户端和 OBProxy 的连接

OceanBase安全审计之传输加密,oceanbase

OBProxy 和 OBServer 的连接

OceanBase安全审计之传输加密,oceanbase

总结

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

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

关于 SQLE

爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。文章来源地址https://www.toymoban.com/news/detail-694553.html

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

到了这里,关于OceanBase安全审计之传输加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OceanBase—01(入门篇——使用docker安装OceanBase以及介绍连接OB的几种方式)

    1.1.1 安装前提 安装了docker Linux下安装docker以及docker安装Oracle19c的全部详细过程及各种问题解决. 1.1.2 参考 参考官网: 使用 Docker 部署 OceanBase 数据库. 提示:这是安装之后的操作,需要的话可以,安装之后可以跳到这里看修改密码!!! 安装后默认密码为空,可以修改也可以

    2024年02月09日
    浏览(37)
  • 「OceanBase 4.1 体验」OceanBase:解读领先的分布式数据库系统,功能与体验全解析

    本文旨在介绍 OceanBase 4.1 版本的特点、更新内容和初体验,帮助读者了解和掌握这个开源分布式关系型数据库管理系统。如果你对大规模数据存储和处理的挑战感兴趣,或者正在寻找一种满足互联网领域高并发、高可靠性和高扩展性要求的数据库解决方案,本文将为你提供有

    2024年02月05日
    浏览(42)
  • OceanBase架构概览

    了解一个系统或软件,比较好的一种方式是了解其架构,下图是官网上的架构图,基于V 4.2.1版本 OceanBase 使用通用服务器硬件,依赖本地存储,分布式部署在多个服务器上,每个服务器都是对等的,数据库内的 SQL 执行引擎具有分布式执行能力,每台服务器上运行一个observe

    2024年01月17日
    浏览(29)
  • OceanBase集群技术架构

    本文章学习自OceanBase官方培训资料,仅供学习、交流 分区 当一个表很大的时候,可以水平拆分为若干个分区,每个分区包含表的若干行记录。根据行数据到分区的映射关系不同,分为hash分区,List分区(按列表),range分区(按范围)等 每一个分区,还可以用不同的维度再分

    2024年01月20日
    浏览(37)
  • OceanBase写入限速源码解读

    OceanBase中的写入限速机制旨在控制系统中写入操作(一般写入操作包括插入、更新和删除等)的速率,目的是为了提高数据库系统的稳定性。本文主要通过以下2个参数来解释写入限速的实现机制。 **1.**writing_throttling_trigger_percentage:设置写入速度的阈值百分比。当内存使用达

    2024年02月03日
    浏览(27)
  • OceanBase基础概念

    一个集群由多个Zone组成,给集群内的一批机器打上同一个tag,则属于同一个Zone 不同的Zone可以对应不同城市、一个城市的不同机房、或者一个机房的不同机架 Zone个数=3,建议是奇数 每个zone均有且只有一份完整的副本;单Zone的故障不影响业务 每台OBServer相对独立,有独立计

    2024年01月21日
    浏览(36)
  • OceanBase集群部署

    我认为学习一个中间件比较好的方式是,先了解它的架构和运行原理,然后动手部署一遍,加深对它的了解,再使用它,最后进行总结和分享 本篇介绍OceanBase部署前提条件和集群部署 1.使用开源免费的社区版,企业版需要付费 社区版目前最新是V4.2.1_CE_BP3,它们之间的差异请

    2024年01月19日
    浏览(41)
  • OceanBase集群扩缩容

    ​ OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎、事务引擎,天然支持多租户,租户间资源、数据隔离,集群运行的最小资源单元是Unit,每个租户在每个节点上只会运行一个Unit。 先看看集群整体架构图,下面集群的

    2024年01月21日
    浏览(34)
  • OceanBase使用规范

    降低故障率和维护成本 所有使用OceanBase的数据库 关于分区表创建时的注意事项。 。 单表行数可能超过10亿行或者单表容量超过200GB,推荐进行创建分区表。 。如果预计三年后的数据量根本达不到这个级别,请不要在创建表时使用分区表。 分区表在表创建的时候需要指定,后续不

    2024年01月24日
    浏览(27)
  • 实践练习一:OceanBase Docker 体验

    实验环境 Linux version 3.10.0-1160.45.1.el7.x86_64  硬件配置 处理器4核、内存16GB   200G硬盘 内容包含 下载Docker 镜像:OceanBase 官方社区版镜像 255 。 使用 OBD 命令完成后续的 OceanBase 集群部署。 创建一个业务租户、一个业务数据库,以及一些表等。 安装步骤: 1. 安装docker [root@d

    2024年03月24日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包