广告位联系
返回顶部
分享到

Linux环境下升级redis的详细步骤介绍

Redis 来源:互联网 作者:佚名 发布时间:2024-12-08 22:38:46 人浏览
摘要

一、摘要 最近漏洞扫描服务器发现,Redis 缓冲区溢出漏洞(CVE-2024-31449),解决办法redis更新到6.2.16、7.2.6或7.4.1及以上版本。 二、漏洞描述 漏洞描述:经过身份验证的用户可能会使用特制的 Lu

一、摘要

最近漏洞扫描服务器发现,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版本信息

1

2

3

4

5

6

7

8

# 登录redis客户端

redis-cli

 

# 输入密码

auth password

 

# 查看redis版本

info

 2.备份redis数据

(1)查看目前redis的key

1

dbsize

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

(2)备份数据

1

2

3

4

5

6

7

# 登录redis客户端

redis-cli

 

# 备份命令

SAVE

BGSAVE

3.查看备份文件地址

1

2

3

4

5

# 登录redis客户端

 

# 通过命令找到备份的数据文件

config get dir

config get dbfilename

4.将旧redis安装目录备份

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

备份旧目录

1

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

四、安装新版本redis

1.下载redis安装包

下载地址:Index of /releases/

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

2.安装redis

(1)执行安装

1

2

3

4

5

6

# 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目录不会出现覆盖的问题。

1

mv redis-7.2.6 /usr/local/redis7

(3)复制redis配置文件

1

2

3

4

5

6

7

8

# 切换目录

cd /usr/local/redis7/src

 

# 将新的redis配置文件备份

mv redis.conf redis.conf_20241024.bak

 

# 复制旧配置文件到新redis目录的src下

cp -ar /usr/local/redis7_20241024.bak/redis.conf ./

(4)复制备份数据

1

cp /usr/local/redis7_20241024.bak/src/dump.rdb /usr/local/redis7/src

(5)停止旧的redis

1

2

3

4

5

# 查看redis进程

ps -ef|grep redis

 

# 杀死进程

kill -9 redis进程号

(6)启动新的redis

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

1

2

3

4

5

# 切换到新redis目录

cd /usr/local/redis7/src

 

# 启动redis并指定配置文件

./redis-server /usr/local/redis7/redis.conf

五、验证

1.查看新安装的redis版本

1

redis-server -v

2.查看数据是否恢复

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

到此redis升级完成。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 通过docker和docker-compose安装redis两种方式

    通过docker和docker-compose安装redis两种方式
    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并提供多种语言的 API。这里介
  • Linux环境下升级redis的详细步骤介绍

    Linux环境下升级redis的详细步骤介绍
    一、摘要 最近漏洞扫描服务器发现,Redis 缓冲区溢出漏洞(CVE-2024-31449),解决办法redis更新到6.2.16、7.2.6或7.4.1及以上版本。 二、漏洞描述 漏
  • Redis实现限量优惠券的秒杀功能

    Redis实现限量优惠券的秒杀功能
    核心:避免超卖问题,保证一人一单 业务逻辑 代码步骤分析 全部代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
  • redis缓存预热的实现介绍
    一、缓存预热的必要性 在一个高并发的系统中,如果缓存刚启动时是空的,所有的请求都会直接打到数据库,这可能会导致以下问题: 高延
  • Redis哈希槽的介绍
    1. 什么是 Redis 哈希槽? Redis Cluster 是 Redis 的分布式架构,它将数据分布在多个 Redis 实例(节点)上。为了实现数据分片,Redis Cluster 使用了
  • mysql中窗口函数lag()用法介绍
    在MySQL中,窗口函数LAG()可以用来访问当前行的前一行或多行的数据。这个函数通常用于分析时间序列数据,比如计算相邻行之间的差异或者
  • MySQL中group_concat函数用法小结

    MySQL中group_concat函数用法小结
    一、group_concat函数的功能 将group by产生的同一个分组中的值连接起来,返回一个字符串结果。group_concat函数首先根据group by指定的列进行分组
  • Redis模拟延时队列实现日程提醒的方法
    使用Redis模拟延时队列 实际上通过MQ实现延时队列更加方便,只是在实际业务中种种原因导致最终选择使用redis作为该业务实现的中间件,顺
  • mysql日常锁表之flush_tables介绍
    1. Flush tables简介 官方手册中关于Flush tables的介绍 Closes all open tables, forces all tables in use to be closed, and flushes the query cache. FLUSH TABLES also remove
  • Mysql中的secure_file_priv参数设置方法

    Mysql中的secure_file_priv参数设置方法
    secure_file_priv是MySQL中的系统变量,用于限制文件的读取和写入。 该参数的设置可以通过my.ini(windows版本)/my.cnf(Linux版本)中设置。 修改完参数
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计