dot Redis 8 来了 - 而且是开源的

了解更多

Redis Enterprise 6.4.2 重点介绍客户端验证和访问管理功能

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

我们都知道保护公司数据的重要性。Redis Enterprise 6.4.2 的首要任务是添加两项企业级安全功能。

Redis 6.4.2 企业级安全功能

您一直关注安全,我们也是如此。

具有主题验证的相互 TLS 身份验证

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

相互 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 值为 permissive (allchannels),以符合之前的 Redis 版本。一旦集群中的所有数据库都位于 Redis 6.2 版本(或未来版本更高版本)中,我们建议将此值设置为“restrictive”(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 天免费试用!