redis(全稱:Remote Dictionary Server 遠程字典服務)是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。 |
漏洞描述
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、成都網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的訥河網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
Redis 因配置不當存在未授權訪問漏洞,可以被***者惡意利用。
在特定條件下,如果 Redis 以 root 身份運行,***可以給 root 賬號寫入 SSH 公鑰文件,直接通過 SSH 登錄受害服務器,從而獲取服務器權限和數(shù)據(jù)。一旦***成功,***者可直接添加賬號用于 SSH 遠程登錄控制服務器,給用戶的 Redis 運行環(huán)境以及?Linux?主機帶來安全風險,如刪除、泄露或加密重要數(shù)據(jù),引發(fā)勒索事件等。
受影響范圍
在 Redis 客戶端,測試Redis是否設置密碼:
root@kali:~#?redis-cli?-h?10.16.10.2 redis?10.16.10.2:6379>?keys?* 1)?"1"`
從登錄結果可以看出,該 Redis 服務對公網(wǎng)開放,且未啟用認證。
修復方案
禁止監(jiān)聽在公網(wǎng)
指定 Redis 服務使用的網(wǎng)卡
默認情況下,Redis 監(jiān)聽 127.0.0.1。如果僅僅是本地通信,請確保監(jiān)聽在本地。
這種方式可以在一定程度上緩解 Redis 未授權訪問的風險(例外情況下,如果 Redis 以 root 用戶運行,***者借助已有的 webshell,就可以利用該 Redis 來反彈 shell 以實現(xiàn)提權)。
在redis.conf文件中找到 # bind 127.0.0.1,將前面的 # 去掉,然后保存。
該操作需要重啟Redis 才能生效。
修改后只有本機才能訪問 Redis,也可以指定訪問源 IP 來訪問 Redis。
bind?192.168.1.100?10.0.0.1
修改默認6379端口
port?6377
編輯文件redis的配置文件redis.conf,找到包含port的行,將默認的6379修改為自定義的端口號,重啟`redis生效`
設置防火墻策略
如果正常業(yè)務中 Redis 服務需要被其他服務器來訪問,可以通過 iptables 策略,僅允許指定的 IP 來訪問 Redis 服務。
iptables?-A?INPUT?-s?x.x.x.x?-p?tcp?--dport?6379?-j?ACCEPT
賬號與認證
設置訪問密碼:在 redis.conf中找到 requirepass字段,去掉其注釋,并在后面填上需要的密碼。Redis 客戶端也需要使用此密碼來訪問 Redis 服務。
打開 /etc/redis/redis.conf配置文件:
requirepass?www.dgstack.cn12332@@#$%@!%
確保密碼的復雜度,配置完畢后重啟服務即可生效。
服務運行權限最小化
使用root切換到redis用戶啟動服務:
useradd?-s?/sbin/nolog?-M?redis? sudo?-u?redis?//redis-server?//redis.conf
注意:該操作需要重啟 Redis 才能生效。
禁用或者重命名危險命令
隱藏重要命令:Redis 無權限分離,其管理員賬號和普通賬號無明顯區(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) 版本下存在 沙箱逃逸漏洞,***者可通過該漏洞執(zhí)行任意 Lua 代碼。
下述配置將 config/flushdb/flushall 設置為空,即禁用該命令;也可設置為一些復雜的、難以猜測的名字。
rename-command?FLUSHALL?"" rename-command?FLUSHDB??"" rename-command?CONFIG???"" rename-command?KEYS?????"" rename-command?SHUTDOWN?"" rename-command?DEL?"" rename-command??""
然后重啟redis。
重命名為"" 代表禁用命令,如想保留命令,可以重命名為不可猜測的字符串,如:
rename-command?FLUSHALL?joYAPNXRPmcarcR4ZDgC
打開保護模式
redis默認開啟保護模式。要是配置里沒有指定bind和密碼,開啟該參數(shù)后,redis只能本地訪問,拒絕外部訪問。
redis.conf安全設置:?#?打開保護模式?protected-mode?yes
安全補丁
定期關注最新軟件版本,并及時升級 Redis 到最新版,防止新漏洞被惡意利用。
排查病毒思路(挖礦病毒)
新聞標題:Redis服務安全加固的說明
瀏覽地址:http://jinyejixie.com/article24/posije.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、自適應網(wǎng)站、微信小程序、品牌網(wǎng)站設計、網(wǎng)站制作、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)