RDS MySQL支持对数据库代理连接地址进行SSL(Secure Sockets Layer)加密,您可以启用SSL加密,并安装SSL CA证书到需要的应用服务,以提高RDS MySQL的链路安全性。本文介绍如何设置代理SSL加密。
SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,但会同时增加网络连接响应时间。
关于RDS数据库代理的使用问题和更多相关信息,欢迎加入用户钉钉群(106730000316)进行咨询、反馈和交流 。
实例版本:MySQL 8.4、8.0、5.7、5.6 产品系列:集群系列、高可用系列 说明 如果实例有只读实例,只读实例也需要满足内核小版本要求。 MySQL 8.0、5.7、5.6高可用系列实例的内核小版本需在20200831或以上。 数据库代理内核小版本为2.25.3或以上。 需要开通SSL加密的代理连接地址总长度不能超过64个字符。 每个代理终端中仅支持对一个代理连接地址设置SSL加密。 开通SSL加密、关闭SSL加密、修改SSL加密、更新证书有效期都会重启代理实例,请谨慎操作。 重要 开通SSL加密会重启实例,请谨慎操作。 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏,单击数据库代理。 在连接信息区域,将鼠标悬停在目标代理连接地址ID,在弹出的对话框中的SSL配置信息区域,单击SSL证书信息右侧的开通。 在弹出的对话框中,选择需要加密的地址,然后单击确定。 SSL状态变为已开通后,单击SSL证书信息右侧的下载CA证书。 说明 PEM文件:适用于绝大部分场景。 JKS文件:PEM格式CA证书通常需要导入到truststore,即转换为JKS文件才能在Java中使用。您可以在Java程序中使用此JKS文件,密码为apsaradb。 p7b文件:适用于少数要求PKCS #7证书文件的Windows应用。 下载的文件为压缩包,包含如下三个文件: 配置SSL CA证书后,可以验证数据库服务器端证书。 在Java中使用JKS证书文件时,jdk7和jdk8需要修改默认的jdk安全配置,在应用程序所在主机的 若不修改jdk安全配置,会报如下错误。其它类似报错,一般也都由Java安全配置导致。 开通SSL加密并下载CA证书后,可以配置SSL CA证书。具体操作,请参见配置CA证书。 重要 修改SSL加密地址会更新证书有效期,同时重启实例,请谨慎操作。 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏,单击数据库代理。 在连接信息区域,将鼠标悬停在目标代理连接地址ID,在弹出的对话框中的SSL配置信息区域,单击受保护地址下方的修改受保护地址。 选择需要加密的地址,然后单击确定。 重要 更新证书有效期会重启实例,请谨慎操作。 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏,单击数据库代理。 在连接信息区域,将鼠标悬停在目标代理连接地址ID,在弹出的对话框中的SSL配置信息区域,单击SSL证书信息右侧的更新有效期,在弹出的对话框中单击确定。 重要 关闭SSL加密会重启实例,请谨慎操作。 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏,单击数据库代理。 在连接信息区域,将鼠标悬停在目标代理连接地址ID,在弹出的对话框中的SSL配置信息区域,单击SSL证书信息右侧的关闭,在弹出的对话框中单击确定。 API 描述 设置数据库代理连接地址SSL加密。 查询数据库代理连接地址SSL加密信息。 请参见通过SSL连接数据库示例代码。 请参见SSL加密常见问题。前提条件
注意事项
开通SSL加密
jre/lib/security/java.security文件中,修改如下两项配置:jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224
jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints
配置SSL CA证书
修改SSL加密地址
更新证书有效期
关闭SSL加密
相关API
附录
通过SSL连接数据库示例代码
SSL加密常见问题