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)過身份驗(yàn)證的用戶可能會(huì)使用特制的 Lua 腳本來觸發(fā)位庫中的堆棧緩沖區(qū)溢出,這可能會(huì)導(dǎo)致遠(yuǎn)程代碼執(zhí)行。所有帶有 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數(shù)據(jù)
(1)查看目前redis的key
dbsize
從下圖可知,目前redis中所有的key值只有4條數(shù)據(jù)
(2)備份數(shù)據(jù)
# 登錄redis客戶端 redis-cli # 備份命令 SAVE 或 BGSAVE
3.查看備份文件地址
# 登錄redis客戶端 # 通過命令找到備份的數(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)境變量,保持一致可以解決這些問題。我們前面已經(jīng)修改過舊redis目錄不會(huì)出現(xià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
說明:如果自行配置過redis的啟動(dòng)文件,如通過systemctl start redis啟動(dòng)的命令,需要注意修改redis啟動(dòng)的系統(tǒng)配置文件。這里都是手動(dòng)啟動(dòng)redis的,沒有注冊(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ù)一致,說明數(shù)據(jù)恢復(fù)了,或者通過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 migrate數(shù)據(jù)遷移工具的使用教程
這篇文章主要給大家介紹了關(guān)于Redis migrate數(shù)據(jù)遷移工具的使用教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Redis集群節(jié)點(diǎn)通信過程/原理流程分析
這篇文章主要介紹了Redis集群節(jié)點(diǎn)通信過程/原理,詳細(xì)介紹了Cluster(集群)的節(jié)點(diǎn)通信的流程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03redis和rabbitmq實(shí)現(xiàn)延時(shí)隊(duì)列的示例代碼
在高并發(fā)場(chǎng)景下,延遲隊(duì)列顯得尤為重要,本文主要介紹了兩種方式,redis和rabbitmq實(shí)現(xiàn)延時(shí)隊(duì)列,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03redis數(shù)據(jù)類型及應(yīng)用場(chǎng)景知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于2020-02-02搭建單機(jī)Redis緩存服務(wù)的實(shí)現(xiàn)
本文主要介紹了搭建單機(jī)Redis緩存服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04