SSL 链路加密

本页面为您介绍 SSL 链路加密的操作步骤。

背景信息

为了提高链路安全性,OceanBase 数据库连接支持开启 SSL(Secure Sockets Layer)加密,通过在传输层对网络连接进行加密,提升通信数据的安全性。在开启 SSL 连接之后,支持设置要求客户端也必须使用 SSL 连接访问。

说明
  • SSL 链路加密开启后暂不支持关闭,实例性能将有轻微下降(证书加解密需要消耗一定的计算资源),建议仅在有外网连接或者有传输加密需求的时候开启实例 SSL 链路加密。

  • 云数据库 OceanBase V2.2.76 及以上版本支持 SSL 链路加密功能。

  • 标准版(Key-Value)集群暂不支持 SSL 链路加密功能。

  • SSL 链路加密功能开启后对直连地址不生效。

操作步骤

  1. 登录 OceanBase 管理控制台

  2. 在左侧导航栏单击 实例列表

  3. 在实例列表中找到目标集群实例,单击集群实例名称,进入 集群实例工作台 页面。

  4. 在左侧导航栏单击 安全设置

  5. 单击 SSL 链路加密 页签,您可进行如下操作。

    1. 单击 SSL 链路加密 开关,开启 SSL 链路加密,开启过程大概需要 3~5 分钟。SSL 链路加密成功开启后,有些版本可选择是否开启 强制 SSL 连接。如果页面不显示强制 SSL 链接,说明当前版本不支持强制开启。强制SSL.png

      说明

      开启强制 SSL 连接,会屏蔽非 SSL 连接,历史创建的非 SSL 连接将失效,请注意切换连接方式。

    2. 单击 下载 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
    3. 单击 更新有效期,可以刷新 SSL 证书有效期

      2

    4. 单击 自动更新 SSL 证书有效期 开关,开启后,证书将在到期前 7 天自动更新,每次更新有效时长为 360 天。

      image