Redis 爆高危漏洞,请速度修复。。

科技   2024-12-31 14:32   广东  
点击关注公众号,Java 干货及时推送
推荐阅读无良外包,又开始清场了。。

↓↓↓点下面小程序刷题突击面试↓↓↓




大家好,我是R哥。

今天一早收到了腾讯云给我的【主机安全】漏洞通知:

好家伙,大名鼎鼎的 Redis 爆高危漏洞了,R哥的题库「Java面试库」也用到了 Redis 来缓存面试题内容,所以这一下子就引起了我的警惕,赶紧看看什么鬼。

漏洞描述

下面是漏洞描述和修复说明:

https://github.com/redis/redis/security/advisories/GHSA-whxg-wx83-85p5

这次的漏洞是因为 Lua 库引起的,用户可能会使用特制的 Lua 脚本来触发堆栈缓冲区溢出,这可能会导致「远程代码执行」漏洞。

也就是说,所有带有 Lua 脚本的 Redis 版本(>= 2.8.18)都存在该漏洞,赶紧使用下面命令查看下你的 Redis 版本号:

$ redis-cli --version redis-cli 7.2.5

我使用的是 Redis 7.2.5,也是受影响的版本。

Lua 扫盲:

Lua 是一种轻量级的脚本语言,Redis 中内置了 Lua 功能,可以直接运行 Lua 脚本。因为 Redis 的基本操作都是单个命令,但在某些场景下,可能需要多个操作组合成事务或执行复杂的逻辑,这时候 Lua 脚本就派上用场了,使用 Lua 脚本可以大大减少网络开锁。

说到 Lua 就不得不提 OpenResty,它是一个基于 Nginx 的高性能 Web 组件,其支持用 Lua 编写复杂逻辑,并提了许多精心编写的 Lua 模块,这就是它最大的亮点。

解决方案

升级最新安全版本

Redis 官方发布了 3 个漏洞补丁及修复版本:6.2.16, 7.2.6, 7.4.1,请评估业务是否受影响后,再酌情升级至安全版本,如果是 5.x 及以下的版本就不受支持了。

版本升级前,建议大家做好数据备份操作,云服务升级版本前最好先制作镜像/快照,避免升级不当导致数据丢失情况。

临时解决方案

1、开放指定 IP 地址

如果使用的是云服务,可以使用云上的安全组对 Redis 端口(默认:6379)设置只对指定的 IP 地址开放,如示例所示:

注意,来源这一项不要再勾选全部 IP 地址。

2、设置密码访问

强制对 Redis 实例的所有访问使用凭据,这个可以通过配置 Redis 的 requirepass 参数来设置访问密码,修改 Redis.conf 配置文件:

requirepass XXX

配置密码后,就会强制所有访问 Redis 的客户端使用密码,相信现在没人还在使用 Redis 裸奔吧?

3、设置用户权限

设置用户权限,仅允许受信任的身份运行 Lua 脚本或任何其他潜在危险的命令。

在 Redis 中,可以通过 ACL(访问控制列表) 功能设置用户权限,从而限制特定用户只能运行受信任的命令,如:禁止运行 Lua 脚本或其他潜在危险的命令

注意,ACL 功能在 Redis 6.0+ 版本中才支持,如果版本较低,请先升级 Redis。


最后,赶紧检查 Redis 版本并修复吧,确保系统安全稳定运行。

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。


推荐阅读:
1. Spring Boot 3.4 正式发布,王炸级更新!
2. 在外包干了 3 年,被强制清场了!
3. 35 岁程序员面试 21 连挂,惨不忍睹。
4. 华为 OD 的职级与薪资。
5. 大厂程序员正在大溃败。。
6. 项目中有 10000 个 if else 如何优化?
7. 已经淘汰的 Java 技术,不要再学了!

8. Spring Boot 3.x 又又又更新了!

9. Spring Cloud 微服务实战(2024 最新版)
10. 2024 最新版面试题,应有尽有!
关注公众号学习最主流的 Java 技术↓

Java技术栈
专注分享Java核心技术、MySQL、Spring Boot、Spring Cloud、Redis、Kafka、Elasticsearch、Nacos、微服务、架构设计、设计模式、消息队列、缓存、面试题、面试辅导。
 最新文章