本页面为您介绍 SSL 链路加密的操作步骤。
背景信息
为了提高链路安全性,OceanBase 数据库连接支持开启 SSL(Secure Sockets Layer)加密,通过在传输层对网络连接进行加密,提升通信数据的安全性。在开启 SSL 连接之后,支持设置要求客户端也必须使用 SSL 连接访问。
SSL 链路加密开启后暂不支持关闭,实例性能将有轻微下降(证书加解密需要消耗一定的计算资源),建议仅在有外网连接或者有传输加密需求的时候开启实例 SSL 链路加密。
云数据库 OceanBase V2.2.76 及以上版本支持 SSL 链路加密功能。
标准版(Key-Value)集群暂不支持 SSL 链路加密功能。
SSL 链路加密功能开启后对直连地址不生效。
操作步骤
登录 OceanBase 管理控制台。
在左侧导航栏单击 实例列表。
在实例列表中找到目标集群实例,单击集群实例名称,进入 集群实例工作台 页面。
在左侧导航栏单击 安全设置。
单击 SSL 链路加密 页签,您可进行如下操作。
单击 SSL 链路加密 开关,开启 SSL 链路加密,开启过程大概需要 3~5 分钟。SSL 链路加密成功开启后,有些版本可选择是否开启 强制 SSL 连接。如果页面不显示强制 SSL 链接,说明当前版本不支持强制开启。
说明开启强制 SSL 连接,会屏蔽非 SSL 连接,历史创建的非 SSL 连接将失效,请注意切换连接方式。
单击 下载 CA 证书,下载证书。
下载的文件为压缩包,包含如下三个文件:
p7b 文件:用于 Windows 系统中导入 CA 证书。
PEM 文件:用于其他系统或应用中导入 CA 证书。
JKS 文件:Java 中的 truststore 证书存储文件,密码统一为 OceanBase,用于 Java 程序中导入 CA 证书链。
说明在 Java 中使用 JKS 证书文件时,jdk7 和 jdk8 需要修改默认的 jdk 安全配置,在应用程序所在主机的
jre/lib/security/java.security
文件中,修改如下两项配置:jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224 jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
若不修改 jdk 安全配置,会报如下错误。其他类似报错,一般也都由 Java 安全配置导致。
javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints
单击 更新有效期,可以刷新 SSL 证书有效期。
单击 自动更新 SSL 证书有效期 开关,开启后,证书将在到期前 7 天自动更新,每次更新有效时长为 360 天。