Redis Enterprise Software 发行说明 7.4.2-54(2024 年 2 月)

新的 Cluster Manager UI 增强功能,包括主动-主动数据库管理。完全支持 TLS 1.3。自动恢复配置。完整的 IPv6 支持,包括内部流量。维护模式增强功能。模块管理增强功能。RHEL 9 支持。

Redis 企业软件

Redis 企业软件版本 7.4.2 现已推出!

突出

此版本提供:

  • 新的 Cluster Manager UI 增强功能,包括主动-主动数据库管理

  • 完全支持 TLS 1.3

  • 自动恢复配置

  • 完整的 IPv6 支持,包括内部流量

  • 维护模式增强功能

  • 模块管理增强功能

  • 以前已弃用的 RHEL 7 和 Oracle Linux 7 不再受支持

  • RHEL 9 支持

此版本中的新增功能

新功能

  • 添加了对 TLS 1.3 的完全支持:

    • TLS 1.3 密码套件现在可以针对数据库连接进行配置。有关详细信息,请参阅配置密码套件

    • TLS 1.3 可以设置为最低 TLS 版本。有关详细信息,请参阅配置 TLS 协议

  • 可以使用 REST API 配置从持久性文件中自动恢复数据库。有关详细信息,请参阅配置自动恢复

  • 新集群完全支持 IPv6,包括内部流量。有关详细信息,请参阅为内部流量启用 IPv6

增强

  • 新的 Cluster Manager UI 增强功能:

  • 维护模式增强功能:

    • 仅保留最新的维护模式快照。

    • 使用overwrite_snapshot选项以在打开维护模式时创建新快照。

    • keep_slave_shards已弃用。用evict_ha_replicaevict_active_active_replica相反。

    • 查看或删除节点快照/v1/nodes/{node_uid}/snapshotsREST API 请求。

  • 添加了对 RHEL 9 的支持。

  • 改进actionsREST API:

  • GET /v1/usersREST API 请求包括一个新的status字段,指示用户是否可以登录:

    • active:用户可以登录

    • locked:用户无法登录

  • 取代了job_scheduler,cnm_httpcrdb_coordinator使用线程,这会导致显著的内存优化。

Redis 模块功能集

Redis Enterprise 附带多个模块。从版本 7.4.2 开始,Redis Enterprise 包括两个功能集,与不同的 Redis 数据库版本兼容。

与 Redis 数据库版本 7.2 兼容的捆绑 Redis 模块:

与 Redis 数据库版本 6.0 和 6.2 兼容的捆绑 Redis 模块:

已解决的问题

  • RS57417:具有专用链接的 Azure OSS 群集不应再返回公共 IP 来响应CLUSTER命令。

  • RS106159:如果不支持 RESP3,则HELLO请求现在返回未知命令错误,而不是协议错误。

  • RS107538:修复了由于 CCS 不一致而导致 DMC 代理永久重新启动的问题。

版本变更

重大更改

  • 重 命名sentinel_ssl_policy田。新名称为sentinel_tls_mode.

    • 您只能使用sentinel_tls_mode.

    • 使用GET /v1/cluster,则返回这两个字段以实现向后兼容性。

  • 端口 3345 现在保留供内部使用。

  • 类型progress字段返回者GET /v1/actions请求修改自integerfloat.

弃用

API 弃用

旧版 UI 弃用

旧版 UI 已被弃用,取而代之的是新的 Cluster Manager UI,并将在未来版本中删除。

Redis 6.0 数据库弃用

Redis 数据库版本 6.0 自 Redis Enterprise Software 版本 7.4.2 起已弃用,并将在未来版本中删除。

要为将来删除 Redis 6.0 做准备,请执行以下作:

  • 对于 Redis Enterprise 6.2.* 集群,请将 Redis 6.0 数据库升级到 Redis 6.2。有关更改列表,请参阅 Redis 6.2 发行说明

  • 对于 Redis Enterprise 7.2.4 和 7.4.2 集群,请将 Redis 6.0 数据库升级到 Redis 7.2。在升级数据库之前,请参阅 Redis 7.2 重大更改列表,并更新连接到数据库的任何应用程序以处理这些更改。

作系统停用

安全停用

  • RC4 加密密码(以前已弃用,以支持更强的密码)不再受支持。

  • 3DES 加密密码(以前已弃用,转而使用 AES 等更强的密码)不再受支持。验证所有客户端、应用程序和连接是否都支持 AES 密码。

  • TLS 1.0 和 TLS 1.1 连接(以前已弃用,转而支持 TLS 1.2 或更高版本)不再受支持。验证所有客户端、应用程序和连接是否都支持 TLS 1.2 或更高版本。

支持的平台

下表提供了截至此 Redis Enterprise Software 版本支持的平台的快照。有关作系统兼容性的更多详细信息,请参阅支持的平台参考

支持 – 此版本的 Redis Enterprise Software 支持该平台。

⚠️已弃用 – 此版本的 Redis Enterprise Software 仍支持该平台,但在未来版本中将取消支持。

生命周期结束 – 平台支持在此版本的 Redis Enterprise Software 中结束。

Redis 企业版 7.4.2 7.2.4 6.4.2 6.2.18 6.2.12 6.2.10 6.2.8 6.2.4
发布日期
2024 年 2 月

2023 年 8 月

2023 年 2 月

2022 年 9 月

2022 年 8 月

2022 年 2 月

2021 年 10 月

2021 年 8 月
生命周期结束日期 2025 年 7 月

2025 年 2 月

2024 年 8 月

2024 年 8 月

2024 年 8 月

2024 年 8 月

2024 年 8 月
Ubuntu 浏览器1
20.04 6
18.04 ⚠️ ⚠️
16.04 ⚠️
RHEL & CentOS2
9.0-9.3
8.9
8.8 8
8.7
8.5-8.6
8.0-8.4
7.0-7.9 ⚠️
甲骨文 Linux3
8
7 ⚠️
洛奇 Linux3
8
Amazon Linux
2 7
1 ⚠️ ⚠️
码头工人4
Kubernetes (简体中文)5
  1. 建议将 Ubuntu 的服务器版本用于生产安装。桌面版本仅建议用于开发部署。

  2. RHEL 和 CentOS 部署需要防火墙配置

  3. 基于相应的 RHEL 版本。

  4. Redis Enterprise Software 的 Docker 映像仅经过认证,可用于开发和测试。

  5. 请参阅 Redis Enterprise for Kubernetes 文档

  6. Ubuntu 20.04 支持已在 Redis Enterprise Software 6.4.2-43 中添加。

  7. Redis Enterprise Software 6.4.2-61 中添加了 Amazon Linux 2 支持的候选版本。Redis Enterprise Software 6.4.2-69 中添加了对 Amazon Linux 2 的官方支持。

  8. Redis Enterprise Software 6.4.2-103 及更高版本支持 RHEL 8.8。

下载

下表显示了可用软件包的 MD5 校验和:

MD5 校验和(7.4.2-54 2 月版)
Ubuntu 18 的 d22100b9ce51f602b7b93751bc0ab439
Ubuntu 20 的 784f3d07eafc99104da124d69f49b617
RedHat Enterprise Linux (RHEL) 8
Oracle Enterprise Linux (OL) 8
Rocky Enterprise Linux
107c1ce8510fd16026bac4179bb2aaa8
RedHat 企业 Linux (RHEL) 9 d5fe1b085147b6ee1fc6f70aa43b263f
Amazon Linux 2 62b3dfb977750a3879c7e83c66a7726c

已知限制

新的 Cluster Manager UI 限制

以下旧版 UI 功能在新的 Cluster Manager UI 中尚不可用:

Amazon Linux 2 上 7.4.2 模块的 OpenSSL 兼容性问题

由于模块和集群之间存在 OpenSSL 1.1 兼容性问题,如果 Amazon Linux 2 集群的数据库使用以下模块:RedisGears、RediSearch 或 RedisTimeSeries,则不完全支持 Redis Enterprise Software 版本 7.4.2-54。

此问题将在将来的维护版本中修复。

RedisGraph 阻止升级到 RHEL 9

如果 Redis Enterprise 集群包含 RedisGraph 模块,则无法从以前的 RHEL 版本升级到 RHEL 9,即使任何数据库未使用也是如此。RedisGraph 模块已达到生命周期结束,在 RHEL 9 中完全不可用。

无法使用模块创建 Redis v6.x 双活数据库

您无法创建将 Redis 版本 6.0 或 6.2 与模块结合使用的主动-主动数据库。使用 Redis 版本 7.2 的数据库没有此限制。

此限制将在将来的维护版本中修复。

安全

开源 Redis 安全修复兼容性

作为 Redis 安全承诺的一部分,Redis Enterprise Software 实施了开源 Redis 提供的最新安全修复程序。Redis Enterprise 已经包含了相关 CVE 的修复程序。

针对开源 Redis 宣布的一些 CVE 不会影响 Redis Enterprise,因为 Redis Enterprise 中提供的功能不同或附加,而开源 Redis 中不可用。

Redis Enterprise 7.4.2-54 支持开源的 Redis 7.2、6.2 和 6.0。以下是按版本修复的开源 Redis CVE 列表。

Redis 7.2.x:

  • (CVE-2023-41056 漏洞)在某些情况下,Redis 可能会错误地处理内存缓冲区的大小调整,这可能会导致缓冲区大小的计算不正确,并导致堆溢出和潜在的远程代码执行。

  • (CVE-2023-41053 漏洞)Redis 无法正确识别SORT_RO因此,可能会授予执行此命令的用户访问未由 ACL 配置明确授权的密钥的权限。(Redis 7.2.1)

Redis 7.0.x版本:

  • (CVE-2023-41056 漏洞)在某些情况下,Redis 可能会错误地处理内存缓冲区的大小调整,这可能会导致缓冲区大小的计算不正确,并导致堆溢出和潜在的远程代码执行。

  • (CVE-2023-41053 漏洞)Redis 无法正确识别SORT_RO因此,可能会授予执行此命令的用户访问未由 ACL 配置明确授权的密钥的权限。(Redis 7.0.13)

  • (CVE-2023-36824 漏洞)在某些情况下,从命令和参数列表中提取键名称可能会触发堆溢出,并导致读取随机堆内存、堆损坏和可能的远程代码执行。具体来说:使用COMMAND GETKEYS*以及 ACL 规则中键名称的验证。(Redis 7.0.12)

  • (CVE-2023-28856 漏洞)经过身份验证的用户可以使用HINCRBYFLOAT命令创建无效的哈希字段,该字段将在访问时使 Redis 崩溃。(Redis 7.0.11)

  • (CVE-2023-28425 漏洞)特制MSETNX命令可能导致断言和拒绝服务。(Redis 7.0.10)

  • (CVE-2023-25155 漏洞)特制SRANDMEMBER,ZRANDMEMBERHRANDFIELD命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 7.0.9)

  • (CVE-2023-22458 漏洞)Redis 中的整数溢出HRANDFIELDZRANDMEMBER命令可能导致拒绝服务。(Redis 7.0.8)

  • (CVE-2022-36021 漏洞)字符串匹配命令(如SCANKEYS) 触发对 Redis 的拒绝服务攻击,导致其挂起并消耗 100% 的 CPU 时间。(Redis 7.0.9)

  • (CVE-2022-35977 漏洞)Redis 中的整数溢出SETRANGESORT/SORT_RO命令可能会使 Redis 出现 OOM panic。(Redis 7.0.8)

  • (CVE-2022-35951 漏洞)执行XAUTOCLAIM命令,并使用特制的COUNT参数可能会导致整数溢出、后续堆溢出,并可能导致远程代码执行。此问题会影响 Redis 版本 7.0.0 或更高版本。(Redis 7.0.5)

  • (CVE-2022-31144 漏洞)特制的XAUTOCLAIM命令可能会导致堆溢出,并可能远程执行代码。此问题会影响 Redis 版本 7.0.0 或更高版本。(Redis 7.0.4)

  • (CVE-2022-24834 漏洞)在 Redis 中执行的特制 Lua 脚本可在 cjson 和 cmsgpack 库中触发堆溢出,并导致堆损坏和可能的远程代码执行。从 2.6 开始,所有支持 Lua 脚本的 Redis 版本都存在此问题,并且仅影响经过身份验证的用户和授权用户。(Redis 7.0.12)

  • (CVE-2022-24736 漏洞)尝试加载特制 Lua 脚本的攻击者可导致空指针取消引用,从而导致redis-server过程。此问题会影响 Redis 的所有版本。(Redis 7.0.0)

  • (CVE-2022-24735 漏洞)通过利用 Lua 脚本执行环境中的弱点,有权访问 Redis 的攻击者可以注入 Lua 代码,该代码将以另一个 Redis 用户的(可能更高)权限执行。(Redis 7.0.0)

Redis 6.2.x:

  • (CVE-2023-28856 漏洞)经过身份验证的用户可以使用HINCRBYFLOAT命令创建无效的哈希字段,该字段将在访问时使 Redis 崩溃。(Redis 6.2.12)

  • (CVE-2023-25155 漏洞)特制SRANDMEMBER,ZRANDMEMBERHRANDFIELD命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 6.2.11)

  • (CVE-2023-22458 漏洞)Redis 中的整数溢出HRANDFIELDZRANDMEMBER命令可能导致拒绝服务。(Redis 6.2.9)

  • (CVE-2022-36021 漏洞)字符串匹配命令(如SCANKEYS) 触发对 Redis 的拒绝服务攻击,导致其挂起并消耗 100% 的 CPU 时间。(Redis 6.2.11)

  • (CVE-2022-35977 漏洞)Redis 中的整数溢出SETRANGESORT/SORT_RO命令可能会使 Redis 出现 OOM panic。(Redis 6.2.9)

  • (CVE-2022-24834 漏洞)在 Redis 中执行的特制 Lua 脚本可在 cjson 和 cmsgpack 库中触发堆溢出,并导致堆损坏和可能的远程代码执行。从 2.6 开始,所有支持 Lua 脚本的 Redis 版本都存在此问题,并且仅影响经过身份验证的用户和授权用户。(Redis 6.2.13)

  • (CVE-2022-24736 漏洞)尝试加载特制 Lua 脚本的攻击者可导致空指针取消引用,从而导致redis-server过程。此问题会影响 Redis 的所有版本。(Redis 6.2.7)

  • (CVE-2022-24735 漏洞)通过利用 Lua 脚本执行环境中的弱点,有权访问 Redis 的攻击者可以注入 Lua 代码,该代码将以另一个 Redis 用户的(可能更高)权限执行。(Redis 6.2.7)

  • (CVE-2021-41099 漏洞)处理某些字符串命令和网络负载时出现整数到堆缓冲区溢出,当proto-max-bulk-len手动配置为非默认的非常大的值。(Redis 6.2.6)

  • (CVE-2021-32762 漏洞)中的整数到堆缓冲区溢出问题redis-cliredis-sentinel在一些较旧和不太常见的平台上解析大型多批量回复。(Redis 6.2.6)

  • (CVE-2021-32761 漏洞)Redis 版本 2.2 或更高版本中的整数溢出错误可使用BITFIELD命令来破坏堆,并可能导致远程代码执行。(Redis 6.2.5)

  • (CVE-2021-32687 漏洞)整数到堆缓冲区溢出,当 intsetsset-max-intset-entries手动配置为非默认的非常大的值。(Redis 6.2.6)

  • (CVE-2021-32675 漏洞)在许多连接上处理具有大量元素的 RESP 请求负载时,拒绝服务。(Redis 6.2.6)

  • (CVE-2021-32672 漏洞)Lua 调试器的随机堆读取问题。(Redis 6.2.6)

  • (CVE-2021-32628 漏洞)当为hash-max-ziplist-entries,hash-max-ziplist-value,zset-max-ziplist-entrieszset-max-ziplist-value.(Redis 6.2.6)

  • (CVE-2021-32627 漏洞)当为proto-max-bulk-lenclient-query-buffer-limit.(Redis 6.2.6)

  • (CVE-2021-32626 漏洞)特别构建的 Lua 脚本可能会导致堆缓冲区溢出。(Redis 6.2.6)

  • (CVE-2021-32625 漏洞)使用 STRALGO LCS 命令可以利用 Redis 版本 6.0 或更高版本中的整数溢出错误来破坏堆,并可能导致远程代码执行。这是 CVE-2021-29477 修复不完整的结果。(Redis 6.2.4)

  • (CVE-2021-29478 漏洞)Redis 6.2 中的整数溢出错误可能被利用来破坏堆,并可能导致远程代码执行。该漏洞涉及更改默认的 set-max-intset-entries 配置值,创建一个由整数值组成的大型 set 键,并使用 COPY 命令复制它。从 2.6 开始的所有 Redis 版本都存在整数溢出错误,它可能导致 RDB 或 DUMP 有效负载损坏,但不会通过 COPY(在 6.2 之前不存在)利用。(Redis 6.2.3)

  • (CVE-2021-29477 漏洞)使用 STRALGO LCS 命令,可以利用 Redis 版本 6.0 或更高版本中的整数溢出错误来破坏堆,并可能导致远程代码执行。从 6.0 开始的所有 Redis 版本都存在整数溢出错误。(Redis 6.2.3)

Redis 6.0.x:

  • (CVE-2022-24834 漏洞)在 Redis 中执行的特制 Lua 脚本可在 cjson 和 cmsgpack 库中触发堆溢出,并导致堆损坏和可能的远程代码执行。从 2.6 开始,所有支持 Lua 脚本的 Redis 版本都存在此问题,并且仅影响经过身份验证的用户和授权用户。(Redis 6.0.20)

  • (CVE-2023-28856 漏洞)经过身份验证的用户可以使用HINCRBYFLOAT命令创建无效的哈希字段,该字段将在访问时使 Redis 崩溃。(Redis 6.0.19)

  • (CVE-2023-25155 漏洞)特制SRANDMEMBER,ZRANDMEMBERHRANDFIELD命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 6.0.18)

  • (CVE-2022-36021 漏洞)字符串匹配命令(如SCANKEYS) 触发对 Redis 的拒绝服务攻击,导致其挂起并消耗 100% 的 CPU 时间。(Redis 6.0.18)

  • (CVE-2022-35977 漏洞)Redis 中的整数溢出SETRANGESORT/SORT_RO命令可能会使 Redis 出现 OOM panic。(Redis 6.0.17)

为本页评分
返回顶部 ↑