Linux環(huán)境下升級(jí)redis的詳細(xì)步驟記錄
一、摘要
最近漏洞掃描服務(wù)器發(fā)現(xiàn),Redis 緩沖區(qū)溢出漏洞(CVE-2024-31449),解決辦法redis更新到6.2.16、7.2.6或7.4.1及以上版本。
二、漏洞描述
漏洞描述:經(jīng)過(guò)身份驗(yàn)證的用戶可能會(huì)使用特制的 Lua 腳本來(lái)觸發(fā)位庫(kù)中的堆棧緩沖區(qū)溢出,這可能會(huì)導(dǎo)致遠(yuǎn)程代碼執(zhí)行。所有帶有 Lua 腳本的 Redis 版本都存在該問(wèn)題。
目前受影響的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數(shù)據(jù)
(1)查看目前redis的key
dbsize
從下圖可知,目前redis中所有的key值只有4條數(shù)據(jù)

(2)備份數(shù)據(jù)
# 登錄redis客戶端 redis-cli # 備份命令 SAVE 或 BGSAVE

3.查看備份文件地址
# 登錄redis客戶端 # 通過(guò)命令找到備份的數(shù)據(jù)文件 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是不在漏洞范圍內(nèi)的7.2.6版本

2.安裝redis
(1)執(zhí)行安裝
# 1.解壓redis tar -zxvf redis-7.2.6.tar.gz # 2.切換到加壓后redis目錄 cd redis-7.2.6 # 3.執(zhí)行安裝 make install
(2)將redis目錄移動(dòng)到之前舊redis目錄
注意:新redis目錄名和舊redis目錄名保持一致,這里涉及到redis的啟動(dòng)和環(huán)境變量,保持一致可以解決這些問(wèn)題。我們前面已經(jīng)修改過(guò)舊redis目錄不會(huì)出現(xiàn)覆蓋的問(wèn)題。
mv redis-7.2.6 /usr/local/redis7
(3)復(fù)制redis配置文件
# 切換目錄 cd /usr/local/redis7/src # 將新的redis配置文件備份 mv redis.conf redis.conf_20241024.bak # 復(fù)制舊配置文件到新redis目錄的src下 cp -ar /usr/local/redis7_20241024.bak/redis.conf ./
(4)復(fù)制備份數(shù)據(jù)
cp /usr/local/redis7_20241024.bak/src/dump.rdb /usr/local/redis7/src
(5)停止舊的redis
# 查看redis進(jìn)程 ps -ef|grep redis # 殺死進(jìn)程 kill -9 redis進(jìn)程號(hào)
(6)啟動(dòng)新的redis
說(shuō)明:如果自行配置過(guò)redis的啟動(dòng)文件,如通過(guò)systemctl start redis啟動(dòng)的命令,需要注意修改redis啟動(dòng)的系統(tǒng)配置文件。這里都是手動(dòng)啟動(dòng)redis的,沒(méi)有注冊(cè)到系統(tǒng)服務(wù)中。
# 切換到新redis目錄 cd /usr/local/redis7/src # 啟動(dòng)redis并指定配置文件 ./redis-server /usr/local/redis7/redis.conf
五、驗(yàn)證
1.查看新安裝的redis版本
redis-server -v

2.查看數(shù)據(jù)是否恢復(fù)
從圖可知數(shù)據(jù)和舊數(shù)據(jù)一致,說(shuō)明數(shù)據(jù)恢復(fù)了,或者通過(guò)redis可視化工具連接查看數(shù)據(jù)。

到此redis升級(jí)完成。
總結(jié)
到此這篇關(guān)于Linux環(huán)境下升級(jí)redis的文章就介紹到這了,更多相關(guān)Linux環(huán)境升級(jí)redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis 安裝 redistimeseries.so(時(shí)間序列數(shù)據(jù)類型)的配置步驟
這篇文章主要介紹了Redis 安裝 redistimeseries.so(時(shí)間序列數(shù)據(jù)類型)詳細(xì)教程,配置步驟需要先下載redistimeseries.so 文件,文中介紹了啟動(dòng)失敗問(wèn)題排查,需要的朋友可以參考下2024-01-01
Redis分布式鎖中Redission底層實(shí)現(xiàn)方式
Redission基于Redis原子操作和Lua腳本實(shí)現(xiàn)分布式鎖,通過(guò)SETNX命令、看門狗續(xù)期、可重入機(jī)制及異常處理,確保鎖的可靠性和一致性,是Java項(xiàng)目中高效解決并發(fā)控制問(wèn)題的優(yōu)選方案2025-08-08

