为了提高链路安全性,您可以启用SSL(Secure Sockets Layer)加密,并下载安装CA证书到所需要的应用服务中。SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,防止数据被第三方监听、截取和篡改,但会增加网络连接响应时间。本文为您介绍如何开启、关闭SSL加密。
前提条件
AnalyticDB for MySQL集群需满足以下条件:
产品系列为数仓版。
集群内核版本为3.2.1.0及以上版本。
说明查看和升级数仓版集群的内核版本,请参见查看和升级版本。
背景信息
SSL是Netscape公司所提出的安全保密协议,在浏览器和Web服务器之间构造安全通道来进行数据传输,采用RC4、MD5、RSA等加密算法实现安全通讯。国际互联网工程任务组(IETF)对SSL 3.0进行了标准化,标准化后更名为安全传输层协议(TLS)。由于SSL术语更为常用,因此本文所述SSL加密实际指TLS加密。
AnalyticDB for MySQL推荐使用TLS 1.2协议进行安全通信。
注意事项
SSL的证书有效期为1年,请在1年内更新证书有效期,否则使用加密连接的客户端程序将无法正常连接。
由于SSL加密的固有缺陷,开启SSL加密会导致CPU使用率升高,建议您按业务实际需求开启SSL加密。
开启、关闭SSL加密和更新证书时,会重启Controller节点,会导致连接闪断,请在业务低峰期执行并确保您的应用有重连机制。
开启SSL加密
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。
在左侧导航栏,单击数据安全。
在SSL配置页签下,打开SSL状态后的开关。
在弹出的设置SSL对话框中选择受保护的地址,并单击确定。
重要AnalyticDB for MySQL支持加密内网链路和公网链路,但每个集群仅允许加密一条链路。您可以修改加密的链路,修改后,证书会自动更新,并同时重启Controller节点。
若需加密公网链路,请确保集群已开通公网地址,否则无法对公网地址进行加密。更多操作,请参见申请公网地址。
待SSL加密开启后,单击下载证书。
下载的文件为压缩包,包含如下三个文件:
.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证书有效期
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。
在左侧导航栏,单击数据安全。
在SSL配置页签下,单击更新有效期。
关闭SSL加密
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。
在左侧导航栏,单击数据安全。
在SSL配置页签下,关闭SSL状态后的开关。
在弹出的关闭SSL对话框中,单击确定。
相关API
API | 说明 |
开启或关闭数仓版集群的SSL加密功能。 | |
查询数仓版集群的SSL配置信息。 |