传输层安全性 (TLS)
启用 TLS 以加密应用程序和 Redis 数据库之间的数据通信。
Redis 云 |
---|
传输层安全性 (TLS) 使用加密来保护网络通信。
付费的 Redis Cloud Essentials 计划和 Redis Cloud Pro 计划可以使用 TLS 来加密应用程序和 Redis 数据库之间的数据通信。
将 TLS 与 Redis Cloud 结合使用
默认情况下,TLS 未启用。
TLS 建议
由于 TLS 对性能有影响,因此您需要确定 TLS 的安全优势是否值得对性能产生影响。TLS 建议取决于订阅计划以及客户端是使用公有终端节点还是私有终端节点连接到您的数据库。
下表显示了 TLS 建议:
订阅 | 公共终端节点 | 专用终端节点 |
---|---|---|
Redis Cloud Essentials | 启用 TLS | 不适用 |
Redis Cloud Pro | 启用 TLS | 如果安全性大于性能影响,则启用 TLS |
客户端身份验证
启用 TLS 时,您可以选择要求客户端身份验证(也称为“相互身份验证”)。如果启用,则所有客户端在连接到数据库时都必须提供有效的客户端证书。
Redis Cloud 不需要客户端身份验证;但是,强烈建议这样做。
启用 TLS
要为 Redis Cloud 数据库启用 TLS,请执行以下作:
-
从 Redis Cloud 控制台菜单中选择 Databases,然后从列表中选择您的数据库。
-
从数据库的 Configuration 屏幕中,选择 Edit:
-
在 Security (安全) 部分中,使用 Transport layer security (TLS) (传输层安全性 (TLS) ) 切换开关启用 TLS:
-
选择 Download server certificate (下载服务器证书) 按钮以下载 Redis Cloud 证书捆绑包
redis_ca.pem
: -
确定是否要要求客户端身份验证:
-
如果您只希望提供有效证书的客户端能够连接,请继续执行下一步。
-
如果您不想要求客户端身份验证,请跳至最后一步以应用更改。
-
-
要要求客户端身份验证,请选中 Mutual TLS (require client authentication) 复选框。
-
选择 Add client certificate (添加客户端证书) 以添加证书。
-
为您的客户端提供 PEM 格式的 X.509 客户端证书或链,或者选择 Generate (生成) 创建一个:
-
您可以再次选择 Add client certificate (添加客户端证书) 以添加其他证书。
-
要应用更改并启用 TLS,请选择 Save database 按钮:
-
启用或关闭 TLS 时,更改将应用于新连接,但不会影响现有连接。客户端必须关闭现有连接并重新连接才能应用更改。
-
启用 TLS 后,与数据库的所有客户端连接都必须使用 TLS。将不再允许使用未加密的连接。
通过 TLS 连接
要通过 TLS 连接到 Redis Cloud 数据库,您需要:
- 支持 TLS 的 Redis 客户端
- Redis Cloud CA 证书
下载 CA 证书
如果您没有 Redis Cloud CA 证书,可以从 Redis Cloud 控制台下载它们:
-
从 Redis Cloud 控制台菜单中选择 Account Settings,或转到数据库的 Configuration 屏幕。
-
转到 Security (安全) 部分。
-
对于 Redis Cloud 证书颁发机构,请执行以下任一作:
下载内容包含一个名为redis_ca.pem
,其中包括以下证书:
-
自签名 Redis Cloud Essentials 计划根 CA(已弃用但仍在使用)
-
自签名 Redis Cloud Pro 计划根 CA 和中间 CA(已弃用但仍在使用)
-
公开信任的 GlobalSign 根 CA
要检查redis_ca.pem
,运行keytool
命令:
keytool -printcert -file ./redis_ca.pem | grep "Owner:"
You can add
redis_ca.pem
to the trust store or pass it directly to a Redis client.
If your database requires client authentication, you also need the public (redis_user.crt
) and private (redis_user_private.key
) client keys. See
Enable TLS for details.
Connect with the Redis CLI
Here's how to use the Redis CLI to connect to a TLS-enabled Redis Cloud database.
Endpoint and port details are available from the Databases list or the database's Configuration screen.
Without client authentication
If your database doesn't require client authentication, then provide the Redis Cloud CA certificate bundle (redis_ca.pem
) when you connect:
redis-cli -h <endpoint> -p <port> --tls --cacert redis_ca.pem
With client authentication
If your database requires client authentication, then you also need to provide your client's private and public keys:
redis-cli -h <endpoint> -p <port> --tls --cacert redis_ca.pem \
--cert redis_user.crt --key redis_user_private.key
On this page