暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何开启PolarDB分布式版SSL加密功能

酷数据库 2023-06-25
266

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

前提条件

实例需为PolarDB分布式版且版本为5.4.10或以上,实例基本信息页可查看实例版本信息。

注意事项

  • SSL的证书有效期为1年,请及时更新证书有效期并重新下载配置CA证书,否则使用加密连接的客户端程序将无法正常连接。
  • 由于SSL加密的实现原理,启用SSL加密会显著增加CPU使用率,建议您仅在外网链路有加密需求的时候启用SSL加密。内网链路相对较安全,一般无需对链路加密。
  • 开启或关闭SSL加密会重启实例,请谨慎操作。

开启SSL加密

  1. 登录PolarDB分布式版控制台
  2. 在页面左上角选择目标实例所在地域。
  3. 在实例列表页,单击PolarDB-X 2.0页签。
  4. 找到目标实例,单击实例ID。
  5. 在左侧导航栏选择配置与管理 > 安全管理。
  6. 单击SSL配置页签,打开SSL配置的开关。

    1

    说明 开启SSL加密时,默认选择内网地址为SSL受保护的地址。您也可以将受保护的地址修改为公网地址,详情请参见修改SSL受保护地址

  7. 在弹出的对话框中,单击确定。

    重要 开启或关闭SSL加密会重启实例,建议在业务低峰期操作,并确保您的应用具备自动重连机制。

  8. 开通成功后,单击下载CA证书。

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

    • .p7b文件:用于Windows系统中导入CA证书。
    • .pem文件:用于其他系统或应用中导入CA证书。
    • .jks文件:Java中的truststore证书存储文件,密码统一为apsaradb,用于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 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. 在目标数据库上单击鼠标右键,选择编辑连接。

    1

  3. 选择SSL页签,选择.pem格式CA证书的路径。

    2

  4. 单击确定。

    说明 如果报connection is being used错误,是由于之前的会话未断开,请关闭Navicat重新打开。

  5. 双击目标数据库测试能否正常连接。

    3

更新证书有效期

说明

  • 更新有效期操作将会重启实例,建议在业务低峰期操作,并确保您的应用具备自动重连机制。
  • 更新有效期后需要重新下载及配置CA证书。
1
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论