为了提高链路安全性,您可以启用SSL(Secure Sockets Layer)加密,并安装SSL CA证书到需要的应用服务。SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,但会同时增加网络连接相应时间。由于SSL加密的固有缺陷,启用SSL加密会显著增加CPU使用率,建议您仅在外网链路有加密需求的时候启用SSL加密。内网链路相对较安全,一般情况下无需对链路加密。
另外,开启SSL加密后,将无法再关闭,请谨慎操作。
开启SSL加密
登录RDS管理控制台。
选择目标实例所在地域。
单击目标实例的ID,进入[backcolor=transparent]基本信息页面。
在左侧菜单栏中选择[backcolor=transparent]数据安全性,进入[backcolor=transparent]数据安全性页面。
选择[backcolor=transparent]SSL标签页。
单击[backcolor=transparent]未开通前面的开关,如下图所示。
在[backcolor=transparent]设置 SSL对话框中选择要开通SSL加密的链路,单击[backcolor=transparent]确定,开通 SSL 加密,如下图所示。
说明:用户可以根据需要,选择加密内网链路或者外网链路,但只可以加密一条链路。
单击[backcolor=transparent]下载证书,下载SSL CA证书,如下图所示。
下载的文件为压缩包,包含如下三个文件:
p7b文件:用于Windows系统中导入CA证书。
PEM文件:用于其他系统或应用中导入CA证书。
JKS文件:java中的truststore证书存储文件,密码统一为apsaradb,用于java程序中导入CA证书链。
[backcolor=transparent]注意:在java中使用JKS证书文件时,jdk7和jdk8需要修改默认的jdk安全配置,在需要SSL访问的数据库所在机器的jre/lib/security/java.security文件中,修改如下两项配置:[backcolor=transparent]
jdk[backcolor=transparent]
.[backcolor=transparent]
tls[backcolor=transparent]
.[backcolor=transparent]
disabledAlgorithms[backcolor=transparent]
=[backcolor=transparent]
SSLv3[backcolor=transparent]
,[backcolor=transparent]
RC4[backcolor=transparent]
,[backcolor=transparent]
DH keySize [backcolor=transparent]
<[backcolor=transparent]
[backcolor=transparent]
224
- [backcolor=transparent]jdk[backcolor=transparent].[backcolor=transparent]certpath[backcolor=transparent].[backcolor=transparent]disabledAlgorithms[backcolor=transparent]=[backcolor=transparent]MD2[backcolor=transparent],[backcolor=transparent] RSA keySize [backcolor=transparent]<[backcolor=transparent] [backcolor=transparent]1024
若不修改jdk安全配置,会报如下错误。其它类似报错,一般也都由java安全配置导致。
- [backcolor=transparent]javax[backcolor=transparent].[backcolor=transparent]net[backcolor=transparent].[backcolor=transparent]ssl[backcolor=transparent].[backcolor=transparent]SSLHandshakeException[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]DHPublicKey[backcolor=transparent] does [backcolor=transparent]not[backcolor=transparent] comply to algorithm constraints
配置SSL CA证书
开通SSL加密后,应用或者客户端连接RDS时需要配置SSL CA证书。本文以MySQL Workbench为例,介绍SSL CA证书安装方法。其它应用或者客户端请参见对应产品的使用说明。
打开MySQL Workbench。
选择[backcolor=transparent]Database > [backcolor=transparent]Manage Connections。
启用[backcolor=transparent]Use SSL,并导入SSL CA证书,如下图所示。