dot 速度的未来即将在您的城市举行活动。

加入我们在 Redis 发布会

Redis Enterprise 6.4.2 突出显示客户端验证和访问管理功能

在 Redis Enterprise 6.4.2 中,我们增强了现有的安全功能:扩展了客户端证书验证和发布/订阅访问管理。以下是它们对您的意义。

我们都知道保护公司数据的重要性。在 Redis Enterprise 6.4.2 的优先事项清单中,最重要的是添加两个企业级安全功能。

Redis 6.4.2 企业级安全功能

安全始终是您和我们的关注重点。

具有主题验证的双向 TLS 身份验证

传输层安全 (TLS) 是一种加密协议,广泛用于保护计算机应用程序之间的通信。一个常见用途是 Web 应用程序连接和验证服务器,之后所有交换的数据在通过网络发送之前都会被加密。TLS 由互联网工程任务组 (IETF) 提出,它将 TLS 描述为“互联网的核心安全协议”。

双向 TLS 或 mTLS,是一种用于 双向身份验证 的方法。mTLS 确保服务器和客户端同时相互验证。这是通过服务器向客户端提供服务器证书,以及客户端向服务器提供客户端证书来实现的。mTLS 在会话开始时的 TLS 握手期间执行。

Redis Enterprise 中,可以将数据库配置为使用 mTLS。在这种情况下,当客户端尝试连接到数据库时,Redis Enterprise 会在允许客户端连接到数据库之前,在 TLS 握手期间验证客户端的证书。

但是,当多个客户端都拥有有效的客户端证书,而您只想让其中一部分客户端访问特定数据库时,会发生什么?

这就是新的功能,额外的证书验证,发挥作用的地方。

从 6.4.2 版开始,Redis Enterprise 允许您对经过身份验证的客户端证书执行额外的验证。

它使用公钥证书的 主题字段,其中包含有关证书所属客户端身份的更多信息。这样,在允许客户端连接到数据库之前,Redis Enterprise 会执行两个步骤

  • 证书在密码学上得到验证。
  • 证书的主题信息与数据库配置的允许主题列表进行比较。只有在找到匹配项时,才允许连接。

例如,我们的一个客户,一家大型美国金融机构,希望更好地控制哪些客户端可以根据其客户端证书访问哪些数据库。他们的客户端都在使用有效的客户端证书,但主题值不同。一旦为数据库启用了“额外证书验证”选项,并正确配置了允许主题列表,客户现在就可以控制哪些客户端证书子集可以访问数据库。

在 Redis Enterprise 中使用 mTLS 包含以下几个步骤

  • 为数据库启用 TLS 和 mTLS 选项
  • 为数据库加载相关的证书颁发机构 (CA) 根证书或中间证书
  • 添加允许主题行列表
  • 选择“通过完整主题进行额外证书验证”选项

增强 Redis ACL 发布和订阅的访问管理

发布/订阅 (pub/sub) 是一种允许非直接通信的消息传递方法。客户端或应用程序可以将消息发布到共享资源,其他客户端/应用程序可以订阅该资源并接收这些消息。

在 Redis 中,此资源称为通道,它提供了一种快速、轻量级且可扩展的解决方案。发布/订阅通道的操作方式类似于广播电台,这意味着您需要连接才能接收消息。其同步特性使发布/订阅通道对于实现实时通知、在 微服务 之间发送消息或在应用程序的不同部分之间进行通信非常有用。

当然,软件必须保护这些资源。

访问控制列表 (ACL) 是一个规则列表,每个规则都允许或拒绝对资源或操作的访问。ACL 是组织限制未经授权的用户访问敏感的商业信息或执行未经授权的操作的强大工具。

为了满足用户的需求,Redis 不断增强其 ACL 功能和覆盖范围。随着 Redis Enterprise 6.2 的发布,ACL 已得到增强,可以允许和禁止对发布/订阅通道的访问。

为什么有人会想要保护发布/订阅通道?发送到通道的无效消息会破坏应用程序。它可能会导致数据损坏、数据丢失,甚至停机。通过限制所有访问并仅允许相关用户访问特定通道,我们可以减少有人在不应该访问或发送消息时访问或发送消息的可能性,无论是恶意还是无意。

保护资源主要有两种方法。

第一种是隐式访问,您可以访问所有内容,并设置限制来限制访问。例如,进入餐厅:任何人都可以进入,除非有人被列入某种禁止入内名单。

第二种方法是显式授权:除非您被明确授予权限,否则您将无法访问。例如,登机。在验证其凭据以允许进入之前,任何人都不得登上飞机。第二种方法是保护资产的更安全的方法。

这就是 Redis 采用的方法,选择限制所有发布/订阅通道,除了您使用 ACL 允许的通道。使用 Redis Enterprise 6.4.2,现在可以通过配置适用于所有数据库中所有通道的集群级默认选项来强制执行此策略。为了避免出现重大更改,6.4.2 安装提供的 acl-pubsub-default 值是允许的 (allchannels),以符合以前的 Redis 版本。一旦集群中的所有数据库都处于 Redis 6.2(或更高版本)中,我们建议将此值设置为“限制性”(resetchannels)。

如果您正在使用 ACL 和发布/订阅通道,我们建议您查看您的数据库和 ACL 设置。计划切换到限制模式,这将是未来 Redis Enterprise 版本中 acl-pubsub-default 的新默认值。

但这还不是全部:更多 6.4.2 功能可以为您节省时间和资源

我们在本次发布中的重点是上述安全功能。但我们添加的内容不仅仅是这些!

生成自签名证书

Redis Enterprise 提供自签名 TLS 证书。这允许不使用 受信任的 CA 签署证书的客户安全地使用 Redis Enterprise。这些自签名证书默认有效期为一年;我们建议客户在证书到期之前续签证书。

我们现在提供了一个用户友好的脚本,可以一次创建新的自签名证书。您可以快速轻松地创建新的自签名证书,无需任何先验知识。然后,您可以通过 几个简单的步骤 将这些证书加载到 Redis Enterprise 中。

灵活选择您需要的服务

Redis Enterprise 提供各种丰富的服务,但有时您并不需要所有服务。Redis 提供了 删除服务 的工具,因此您可以节省内存资源,并专注于对您重要的服务。我们最近添加了禁用警报管理器(负责发送电子邮件警报的服务)的功能


rladmin cluster config alert_mgr [<enabled | disabled> ]

如果您有替代的警报系统,禁用此服务会很方便。我们建议谨慎使用此功能。

使用 Redis Enterprise 6.4.2,创建应用程序变得更快、更高效、更灵活,最重要的是,在用户整个旅程中都安全。 下载 6.4.2 版本 并立即开始免费试用 30 天!