传输层安全性 (TLS)
启用TLS以加密应用程序与Redis数据库之间的数据通信。
传输层安全性(TLS)使用加密来保护网络通信。
付费的Redis Cloud Essentials计划和Redis Cloud Pro计划可以使用TLS来加密应用程序与Redis数据库之间的数据通信。
在Redis Cloud中使用TLS
默认情况下未启用TLS。
TLS 建议
由于TLS对性能有影响,您需要确定TLS的安全优势是否值得性能上的影响。TLS的建议取决于订阅计划以及客户端是使用公共端点还是私有端点连接到您的数据库。
此表显示了TLS建议:
订阅 | 公共端点 | 私有端点 |
---|---|---|
Redis 云基础版 | 启用 TLS | N/A |
Redis Cloud Pro | 启用TLS | 如果安全性比性能影响更重要,请启用TLS |
客户端认证
当您启用TLS时,您可以选择要求客户端认证(也称为“双向认证”)。如果启用,所有客户端在连接到数据库时必须提供有效的客户端证书。
Redis Cloud 不需要客户端认证;但是,强烈建议进行认证。
启用TLS
要为Redis Cloud数据库启用TLS:
-
从Redis Cloud 控制台菜单中选择数据库,然后从列表中选择您的数据库。
-
从数据库的配置屏幕中,选择编辑数据库按钮:
-
在安全部分,使用传输层安全性(TLS)切换按钮来启用TLS:
-
选择下载服务器证书按钮以下载Redis Cloud证书包
redis_ca.pem
: -
决定是否需要客户端认证:
-
如果您只希望提供有效证书的客户端能够连接,请继续下一步。
-
如果您不希望要求客户端认证,请跳到最后一步以应用您的更改。
-
-
要要求客户端认证,请勾选相互TLS(要求客户端认证)复选框。
-
选择添加客户端证书以添加证书。
-
要么提供X.509客户端证书或PEM格式的证书链,要么选择生成来创建一个:
-
你可以再次选择添加客户端证书来添加另一个证书。
-
要应用您的更改并启用TLS,请选择保存数据库按钮:
-
当您启用或关闭TLS时,更改将应用于新连接,但不会影响现有连接。客户端必须关闭现有连接并重新连接以应用更改。
-
一旦启用了TLS,所有客户端连接到您的数据库都必须使用TLS。未加密的连接将不再被允许。
通过TLS连接
要连接到Redis Cloud数据库的TLS,您需要:
- 支持TLS的Redis客户端
- Redis Cloud CA 证书
下载CA证书
如果您没有Redis Cloud CA证书,您可以从Redis Cloud控制台下载它们:
-
要么从Redis Cloud控制台菜单中选择账户设置,要么转到数据库的配置屏幕。
-
转到安全部分。
-
对于Redis Cloud证书颁发机构,要么:
下载包含一个名为redis_ca.pem
的文件,其中包括以下证书:
-
自签名的Redis Cloud Essentials计划根CA(已弃用但仍在使用)
-
自签名的Redis Cloud Pro计划根CA和中间CA(已弃用但仍在使用)
-
公开信任的GlobalSign根证书颁发机构
要检查redis_ca.pem
中的证书,请运行keytool
命令:
keytool -printcert -file ./redis_ca.pem | grep "Owner:"
你可以将redis_ca.pem
添加到信任库中,或者直接将其传递给Redis客户端。
如果您的数据库需要客户端认证,您还需要公钥(redis_user.crt
)和私钥(redis_user_private.key
)。详情请参见
启用TLS。
使用Redis CLI连接
以下是使用Redis CLI连接到启用TLS的Redis Cloud数据库的方法。
端点和端口详细信息可从数据库列表或数据库的配置屏幕获取。
无需客户端认证
如果您的数据库不需要客户端认证,那么在连接时请提供Redis Cloud CA证书包(redis_ca.pem
):
redis-cli -h <endpoint> -p <port> --tls --cacert redis_ca.pem
使用客户端认证
如果您的数据库需要客户端认证,那么您还需要提供客户端的私钥和公钥:
redis-cli -h <endpoint> -p <port> --tls --cacert redis_ca.pem \
--cert redis_user.crt --key redis_user_private.key