为了提高链路安全性,您可以启用SSL(Secure Sockets Layer)加密,并安装SSL CA证书到需要的应用服务。SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,但会同时增加网络连接响应时间。

注意事项

  • SSL的证书有效期为1年,请及时更新证书有效期并重新下载和配置CA证书,否则使用加密连接的客户端程序将无法正常连接。
  • 由于SSL加密的固有缺陷,启用SSL加密会显著增加CPU使用率,建议您仅在外网链路有加密需求的时候启用SSL加密。内网链路相对较安全,一般无需对链路加密。
  • 开启SSL加密的PolarDB连接地址需要少于64个字符,修改连接地址请参见修改和释放集群地址
  • 关闭SSL加密会重启集群,请谨慎操作。

开启SSL加密和下载证书

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧菜单栏中单击配置与管理 > 安全管理
  5. SSL配置页签,单击SSL状态右侧滑块,开启SSL加密。
    开启SSL加密
    说明
    • PolarDB MySQL5.6和PolarDB MySQL集群仅支持为主地址配置SSL。
    • PolarDB MySQL8.0集群支持为主地址、集群地址和自定义地址配置SSL。
  6. 设置SSL对话框中,选择需要开通SSL加密的链路,单击确定
    说明 您可以根据需要,选择加密内网链路或者外网链路,但只可以加密一条链路。
    设置SSL加密
  7. SSL状态变为已开通后,单击下载证书
    下载证书

    下载的文件为压缩包,包含如下三个文件:

    • p7b文件:用于Windows系统中导入CA证书。
    • pem文件:用于其他系统或应用中导入CA证书。
    • jks文件:Java中的truststore证书存储文件,密码统一为apsaradb,用于Java程序中导入CA证书链。
      说明 在Java中使用JKS证书文件时,jdk7和jdk8需要修改默认的jdk安全配置,在连接PolarDB数据库的服务器的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 CA证书

开通SSL加密后,应用或者客户端连接PolarDB时需要配置SSL CA证书。本文以MySQL Workbench和Navicat为例,介绍SSL CA证书安装方法。其它应用或者客户端请参见对应产品的使用说明。

MySQL Workbench配置方法

  1. 打开MySQL Workbench。
  2. 选择Database > Manage Connections
  3. 启用Use SSL,并导入SSL CA证书,如下图所示。
    1

Navicat配置方法

  1. 打开Navicat。
  2. 在目标数据库上单击鼠标右键,选择编辑连接
    2
  3. 选择SSL页签,选择.pem格式CA证书的路径。参照下图进行设置。
    3
  4. 单击确定
    说明 如果报connection is being used错误,是由于之前的会话未断开,请关闭Navicat重新打开。
  5. 双击目标数据库测试能否正常连接。
    4

更新证书有效期

如果您修改了SSL连接地址或证书有效期即将到期,您需要更新证书有效期,以下内容将为您介绍如何更新证书有效期。

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧菜单栏中单击配置与管理 > 安全管理
  5. SSL配置页签中单击更新有效期
    更新证书有效期
  6. 设置SSL对话框单击确定
    说明 更新有效期操作将会重启集群,重启前请做好业务安排,谨慎操作。
  7. 更新有效期后,重新下载和配置证书。
    说明

关闭SSL加密

说明
  • 关闭SSL加密会重启集群,建议您在业务低峰期操作。
  • SSL加密关闭后,数据库访问性能会有一定程度提升,但安全性上有削弱,故非安全环境下不建议关闭SSL加密。
  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧菜单栏中单击配置与管理 > 安全管理
  5. SSL配置页签中单击SSL状态右侧滑块,关闭SSL加密。
    关闭SSL加密
  6. 设置SSL对话框,单击确定

常见问题

Q:SSL证书到期后不更新会有什么影响?会影响实例运行或数据安全吗?

A:SSL证书到期后不更新,会导致使用加密连接的客户端程序无法正常连接实例,不会影响实例运行或数据安全。

相关API

API 描述
DescribeDBClusterSSL 调用DescribeDBClusterSSL接口查询PolarDB集群SSL设置。
ModifyDBClusterSSL 调用ModifyDBClusterSSL接口设置PolarDB集群SSL加密的开通、关闭或更新CA证书。