OceanBase安全审计之传输加密
上一期我们讲了关于 OceanBase 安全审计的《身份鉴别》和《用户管理与访问控制》 两个部分,OceanBase 的安全机制介绍其支持传输加密,今天我们主要来实践一下如何配置传输加密以及验证是否真的加密。
作者:金长龙
爱可生测试工程师,负责 DMP 产品的测试工作。
作者:陈慧明
爱可生测试工程师,主要参与 DMP 和 DBLE 自动化测试项目。
本文来源:原创投稿
* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
OceanBase 的安全机制介绍其支持传输加密,今天我们主要来实践一下如何配置传输加密以及验证是否真的加密。
环境准备
-
企业版 OceanBase 4.1 集群(3 节点) + OBProxy
-
配置 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 开启加密
- 使用 OBProxy 的
root@proxysys
账号登录。 - 设置证书、公钥、私钥。
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 获取

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
极氪汽车的云资源治理细探
前言 2021 年,极氪 001 迅速崭露头角,仅用 110 天便创下了首款车型交付量“最快破万”的纪录。2022 年 11 月,极氪 009 在短短 76 天内便率先完成了首批交付,刷新了中国豪华纯电品牌交付速度的纪录。2023 年 6 月,极氪汽车再次交付 10620 辆,成为保持五个月连续同比增长的唯一豪华纯电品牌。至此,极氪 001 已成为全球最快突破 10 万辆销售的豪华车,再次稳居 30 万元以上纯电车型销冠。 在过去的两年里,极氪汽车业务加速发展,数字化发展部门面临巨大挑战。作为支持公司履约交付、整车交付、支付结算等诸多核心系统的技术部门,团队几乎每天都需要应对不同规模的应用发布,且应用系统所需的云资源消耗日益增加。之前,为确保业务快速发展得到有效支持,基础设施的整体架构缺乏顶层统筹规划,形势犹如野蛮生长。公司虽然在行业赛道中不断打破交付纪录,但疯狂增长背后,则是濒临失控的基础设施框架及成本支出,这种状况正对未来业务的可持续发展,带来了极大的风险和隐患。 因此,从去年开始,技术中台团队制定了明确的技术目标,力求尽快成立专项小组,深度整治现有基础设施的问题。团队期待通过改进...
- 下一篇
BootstrapBlazor v7.10.0 已经发布,Bootstrap 样式的 Blazor UI 组件库
BootstrapBlazor v7.10.0 已经发布,Bootstrap 样式的 Blazor UI 组件库 此版本更新内容包括: Release 2023-08-30 V7.10.0 What's Changed 破坏性更新 refactor(TableToolbarPopConfirmButton): 组件重命名 TableToolbarPopconfirmButton 更新为 TableToolbarPopConfirmButton 大小写变化 by @ArgoZhang in https://github.com/dotnetcore/BootstrapBlazor/pull/1952 refactor(Table): 参数 ShowExportPdfButton 默认值由 true 更改为 false by @ArgoZhang in https://github.com/dotnetcore/BootstrapBlazor/pull/1976 Bugs fix(Message): 修复设置 Placement="Bottom" 时消息出现位置不正确 by @ArgoZh...
相关文章
文章评论
共有0条评论来说两句吧...