redis(全稱:Remote Dictionary Server 遠(yuǎn)程字典服務(wù))是一個(gè)開源的使用ANSI C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。 |
漏洞描述
在成都做網(wǎng)站、成都網(wǎng)站制作過(guò)程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
Redis 因配置不當(dāng)存在未授權(quán)訪問(wèn)漏洞,可以被惡意利用。
在特定條件下,如果 Redis 以 root 身份運(yùn)行,給 root 賬號(hào)寫入 SSH 公鑰文件,直接通過(guò) SSH 登錄受害服務(wù)器,從而獲取服務(wù)器權(quán)限和數(shù)據(jù)。一旦成功,可直接添加賬號(hào)用于 SSH 遠(yuǎn)程登錄控制服務(wù)器,給用戶的 Redis 運(yùn)行環(huán)境以及 Linux 主機(jī)帶來(lái)安全風(fēng)險(xiǎn),如刪除、泄露或加密重要數(shù)據(jù),引發(fā)勒索事件等。
受影響范圍
在 Redis 客戶端,測(cè)試Redis是否設(shè)置密碼:
root@kali:~# redis-cli -h 10.16.10.2 redis 10.16.10.2:6379> keys * 1) "1"`
從登錄結(jié)果可以看出,該 Redis 服務(wù)對(duì)公網(wǎng)開放,且未啟用認(rèn)證。
修復(fù)方案
禁止監(jiān)聽(tīng)在公網(wǎng)
指定 Redis 服務(wù)使用的網(wǎng)卡
默認(rèn)情況下,Redis 監(jiān)聽(tīng) 127.0.0.1。如果僅僅是本地通信,請(qǐng)確保監(jiān)聽(tīng)在本地。
這種方式可以在一定程度上緩解 Redis 未授權(quán)訪問(wèn)的風(fēng)險(xiǎn)(例外情況下,如果 Redis 以 root 用戶運(yùn)行,借助已有的 webshell,就可以利用該 Redis 來(lái)反彈 shell 以實(shí)現(xiàn)提權(quán))。
在redis.conf文件中找到 # bind 127.0.0.1,將前面的 # 去掉,然后保存。
該操作需要重啟Redis 才能生效。
修改后只有本機(jī)才能訪問(wèn) Redis,也可以指定訪問(wèn)源 IP 來(lái)訪問(wèn) Redis。
bind 192.168.1.100 10.0.0.1
修改默認(rèn)6379端口
port 6377
編輯文件redis的配置文件redis.conf,找到包含port的行,將默認(rèn)的6379修改為自定義的端口號(hào),重啟`redis生效`
設(shè)置防火墻策略
如果正常業(yè)務(wù)中 Redis 服務(wù)需要被其他服務(wù)器來(lái)訪問(wèn),可以通過(guò) iptables 策略,僅允許指定的 IP 來(lái)訪問(wèn) Redis 服務(wù)。
iptables -A INPUT -s x.x.x.x -p tcp --dport 6379 -j ACCEPT
賬號(hào)與認(rèn)證
設(shè)置訪問(wèn)密碼:在 redis.conf中找到 requirepass字段,去掉其注釋,并在后面填上需要的密碼。Redis 客戶端也需要使用此密碼來(lái)訪問(wèn) Redis 服務(wù)。
打開 /etc/redis/redis.conf配置文件:
requirepass www.dgstack.cn12332@@#$%@!%
確保密碼的復(fù)雜度,配置完畢后重啟服務(wù)即可生效。
服務(wù)運(yùn)行權(quán)限最小化
使用root切換到redis用戶啟動(dòng)服務(wù):
useradd -s /sbin/nolog -M redis sudo -u redis //redis-server //redis.conf
注意:該操作需要重啟 Redis 才能生效。
禁用或者重命名危險(xiǎn)命令
隱藏重要命令:Redis 無(wú)權(quán)限分離,其管理員賬號(hào)和普通賬號(hào)無(wú)明顯區(qū)分。登錄后可執(zhí)行任意操作,因此需要隱藏以下重要命令:FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, 。
另外,在 Redis 2.8.1 及 Redis 3.x (低于 3.0.2) 版本下存在 沙箱逃逸漏洞,可通過(guò)該漏洞執(zhí)行任意 Lua 代碼。
下述配置將 config/flushdb/flushall 設(shè)置為空,即禁用該命令;也可設(shè)置為一些復(fù)雜的、難以猜測(cè)的名字。
rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG "" rename-command KEYS "" rename-command SHUTDOWN "" rename-command DEL "" rename-command ""
然后重啟redis。
重命名為"" 代表禁用命令,如想保留命令,可以重命名為不可猜測(cè)的字符串,如:
rename-command FLUSHALL joYAPNXRPmcarcR4ZDgC
打開保護(hù)模式
redis默認(rèn)開啟保護(hù)模式。要是配置里沒(méi)有指定bind和密碼,開啟該參數(shù)后,redis只能本地訪問(wèn),拒絕外部訪問(wèn)。
redis.conf安全設(shè)置: # 打開保護(hù)模式 protected-mode yes
安全補(bǔ)丁
定期關(guān)注最新軟件版本,并及時(shí)升級(jí) Redis 到最新版,防止新漏洞被惡意利用。
排查病毒思路(挖礦病毒)
分享題目:如何加固Redis服務(wù)安全減少漏洞
URL分享:http://m.newbst.com/article16/gceedg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、Google、服務(wù)器托管、靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)