云数据库 Tair(兼容 Redis)支持TLS(Transport Layer Security)加密协议,TLS协议具有比SSL(Secure Sockets Layer)协议更好的加密技术和更高级别的安全性,可进一步保障数据通信安全。
背景信息
TLS协议是SSL协议的升级版,当前已成为互联网加密通信的标准协议,在现代网络中被广泛使用。以下是TLS相对SSL的一些优势:
加密强度:TLS协议使用更强大的加密技术,例如AES(Advanced Encryption Standard)算法。
安全性:TLS协议采用更安全的算法和协议,例如SHA-2(Secure Hash Algorithm 2)算法。
兼容性:TLS协议是更现代化的协议,更加兼容现代浏览器和服务器,且支持更广泛的加密协议和密码套件。
安全更新:TLS协议支持实时升级加密算法和协议。
因此,若您希望在传输层对网络连接进行加密,推荐您使用更安全、更新的TLS加密功能(该功能默认关闭)。
前提条件
实例满足如下条件:
实例版本为Tair(企业版)内存型、持久内存型或Redis开源版5.0、6.0、7.0。
实例类型为高可用(双副本)。
若实例已申请公网连接地址,请释放公网连接地址,释放后才能开启TLS加密功能。
说明若本地盘版集群架构实例已申请直连地址,也请释放直连地址。
注意事项
创建TLS连接需要经历多次握手过程,包括认证和密钥交换,这些步骤会占用显著的计算资源和时间,创建TLS连接的速度显著低于创建普通连接。在短时间内无法快速创建大量TLS连接,且频繁创建TLS连接会显著影响正常请求的延迟。因此,建议通过使用TLS长连接来减少这些开销,尽量避免频繁创建和销毁TLS连接,以降低对性能的影响。
建立TLS连接后,使用TLS连接传输数据,由于所有的数据都需要加密、解密,也会产生额外开销,这些额外开销会伴随传输内容大小增长。
说明具体的性能影响因业务场景而异,需要进行实际测试来评估在特定业务环境下的影响程度。
开启TLS加密功能后,实例将不支持申请公网连接地址,同时经典版集群实例也无法申请直连地址,客户端只能通过专有网络、TLS加密方式连接实例。连接示例请参见启用TLS(SSL)加密连接实例。
开启TLS加密功能后,实例将不支持迁移可用区。
开启TLS加密功能后,若修改了实例的连接地址或端口号,请更新实例TLS证书,再进行连接。否则会报错
No subject alternative DNS name matching xxx found
。
操作步骤
访问实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击TLS(SSL)设置。
单击一键开通。
在弹出的对话框中,选择TLS版本。
参数说明:
TLSv1.3(推荐):RFC8446,2018年发布,相比较TLSv1.2,TLSv1.3具有更快、更安全的特性。
TLSv1.2(推荐):RFC5246,2008年发布,具有强大的加密技术,能提供更好的安全保护。
TLSv1.1:RFC4346,2006年发布,修复TLSv1.0若干漏洞。
TLSv1.0:RFC2246,1999年发布,基于SSLv3.0,该版本易受各种攻击(如BEAST和POODLE)。
单击确定。
警告本操作将触发重启实例,实例会出现秒级的连接闪断,请在业务低峰期执行该操作并确保应用具备重连机制。
此时,您可以通过刷新控制台页面,更新TLS的开通状态。
开通TLS后,您可以单击页面中的下载CA证书,将CA证书导入至客户端中。下载的文件为压缩包,包含如下三个文件:
ApsaraDB-CA-Chain.p7b:用于Windows系统中导入CA证书。
ApsaraDB-CA-Chain.pem:用于其他系统(如Linux)或应用中导入CA证书。
不同实例下载的CA证书均相同,可以用于连接任何实例。
管理TLS加密设置
以下操作需要在实例已开通TLS加密后进行。
访问实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击TLS(SSL)设置。
根据要执行的操作,选择下述操作步骤。
要执行的操作
操作说明
更新CA证书
单击页面中的更新证书,然后单击确定。
开通TLS加密时,证书的默认有效期为3年,且不支持自定义有效期。在证书到期前20天,实例会发起主动运维,更新证书有效期。届时,您可以在
中修改运维时间。或者您也可以随时单击更新证书并重新下载配置CA证书,更新后,证书将重新获取3年有效期。警告本操作会使实例出现秒级的连接闪断,请在业务低峰期执行该操作并确保应用具备重连机制。
修改TLS版本
单击TLS版本右侧的图标,然后在下拉列表中选择要更换的TLS版本。推荐使用TLSv1.2版本。
说明如果TLS 最低版本下拉列表处于不可用状态,请升级实例的小版本后重试,具体操作请参见升级小版本与代理版本。
关闭TLS加密
关闭TLS状态右侧的开关。
警告本操作将触发重启实例,实例会出现秒级的连接闪断,请在业务低峰期执行该操作并确保应用具备重连机制。
更新证书或修改TLS版本后,无需重新下载证书,可继续使用。
相关API
API | 说明 |
设置实例的TLS(SSL)加密功能。 |
后续步骤
常见问题
为什么我的实例无法开启TLS功能?
若实例为经典版读写分离架构实例,不支持开启TLS功能。