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

注意事项

  • SSL的证书有效期为1年,请及时更新证书有效期并重新下载配置CA证书,否则使用加密连接的客户端程序将无法正常连接。
  • 由于SSL加密的固有缺陷,启用SSL加密会显著增加CPU使用率,建议您仅在外网链路有加密需求的时候启用SSL加密。内网链路相对较安全,一般无需对链路加密。
  • 开启SSL加密后,将无法再关闭,请谨慎操作。
  • 读写分离地址不支持SSL加密。

开启SSL加密

  1. 登录 RDS 管理控制台
  2. 在页面左上角,选择实例所在地域。设置 SSL 加密_数据安全/加密_RDS SQL Server 数据库_云数据库 RDS 版 阿里云技术文档 第1张
  3. 找到目标实例,单击实例ID。
  4. 在左侧菜单栏中单击数据安全性
  5. 选择SSL标签页。
  6. 单击未开通前面的开关,如下图所示。
    设置 SSL 加密_数据安全/加密_RDS SQL Server 数据库_云数据库 RDS 版 阿里云技术文档 第2张
  7. 设置 SSL对话框中选择要开通SSL加密的链路,单击确定,开通 SSL 加密。
    说明 用户可以根据需要,选择加密内网链路或者外网链路,但只可以加密一条链路。
    设置 SSL 加密_数据安全/加密_RDS SQL Server 数据库_云数据库 RDS 版 阿里云技术文档 第3张
  8. 单击下载证书,下载SSL CA证书,如下图所示。
    设置 SSL 加密_数据安全/加密_RDS SQL Server 数据库_云数据库 RDS 版 阿里云技术文档 第4张

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

    • p7b文件:用于Windows系统中导入CA证书。

    • PEM文件:用于其他系统或应用中导入CA证书。

    • JKS文件:java中的truststore证书存储文件,密码统一为apsaradb,用于java程序中导入CA证书链。

      说明 在java中使用JKS证书文件时,jdk7和jdk8需要修改默认的jdk安全配置,在需要SSL访问的数据库所在机器的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加密后,应用或者客户端连接RDS时需要配置SSL CA证书。本文以MySQL Workbench为例,介绍SSL CA证书安装方法。其它应用或者客户端请参见对应产品的使用说明。

  1. 打开MySQL Workbench。
  2. 选择Database > Manage Connections
  3. 启用Use SSL,并导入SSL CA证书,如下图所示。
    设置 SSL 加密_数据安全/加密_RDS SQL Server 数据库_云数据库 RDS 版 阿里云技术文档 第5张

更新证书有效期

SSL的证书有效期为1年,请及时更新证书有效期。

说明
  • 更新有效期操作将会重启实例,重启前请做好业务安排,谨慎操作。
  • 更新有效期后需要重新下载及配置CA证书。
设置 SSL 加密_数据安全/加密_RDS SQL Server 数据库_云数据库 RDS 版 阿里云技术文档 第6张