欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > 【Linux】环境下升级redis

【Linux】环境下升级redis

2024/10/28 3:47:46 来源:https://blog.csdn.net/m0_52985087/article/details/143203588  浏览:    关键词:【Linux】环境下升级redis

一、摘要

最近漏洞扫描服务器发现,Redis 缓冲区溢出漏洞(CVE-2024-31449),解决办法redis更新到6.2.16、7.2.6或7.4.1及以上版本。

二、漏洞描述

漏洞描述:经过身份验证的用户可能会使用特制的 Lua 脚本来触发位库中的堆栈缓冲区溢出,这可能会导致远程代码执行。所有带有 Lua 脚本的 Redis 版本都存在该问题。

目前受影响的Redis版本:
2.6 ≤ Redis < 6.2.16
7.0.0 ≤ Redis < 7.2.6
7.4.0 ≤ Redis < 7.4.1

三、旧redis版本

1.查看旧redis版本信息

# 登录redis客户端
redis-cli# 输入密码
auth password# 查看redis版本
info

 2.备份redis数据

(1)查看目前redis的key
dbsize

从下图可知,目前redis中所有的key值只有4条数据

 

(2)备份数据
# 登录redis客户端
redis-cli# 备份命令
SAVE 
或
BGSAVE

 

3.查看备份文件地址

# 登录redis客户端# 通过命令找到备份的数据文件
config get dir
config get dbfilename

4.将旧redis安装目录备份

例如:旧redis安装目录在/usr/local/redis7
备份旧目录

mv /usr/local/redis7  /usr/local/redis7_20241024.bak

四、安装新版本redis

1.下载redis安装包

下载地址:Index of /releases/

大家可以自行选择redis的版本,笔者选择redis是不在漏洞范围内的7.2.6版本

2.安装redis

(1)执行安装
# 1.解压redis
tar -zxvf redis-7.2.6.tar.gz
# 2.切换到加压后redis目录
cd redis-7.2.6
# 3.执行安装
make install
(2)将redis目录移动到之前旧redis目录

注意:新redis目录名和旧redis目录名保持一致,这里涉及到redis的启动和环境变量,保持一致可以解决这些问题。我们前面已经修改过旧redis目录不会出现覆盖的问题。

mv redis-7.2.6 /usr/local/redis7
(3)复制redis配置文件
# 切换目录
cd /usr/local/redis7/src# 将新的redis配置文件备份
mv redis.conf redis.conf_20241024.bak# 复制旧配置文件到新redis目录的src下
cp -ar /usr/local/redis7_20241024.bak/src/redis.conf ./
 (4)复制备份数据
cp /usr/local/redis7_20241024.bak/src/dump.rdb /usr/local/redis7/src
(5)停止旧的redis
# 查看redis进程
ps -ef|grep redis# 杀死进程
kill -9 redis进程号
(6)启动新的redis

说明:如果自行配置过redis的启动文件,如通过systemctl start redis启动的命令,需要注意修改redis启动的系统配置文件。这里都是手动启动redis的,没有注册到系统服务中。

# 切换到新redis目录
cd /usr/local/redis7/src# 启动redis并指定配置文件
./redis-server /usr/local/redis7/src/redis.conf

五、验证

1.查看新安装的redis版本

redis-server -v

2.查看数据是否恢复

从图可知数据和旧数据一致,说明数据恢复了,或者通过redis可视化工具连接查看数据。

到此redis升级完成。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com