Redis服務安全加固的說明

漏洞描述linux

Redis 因配置不當存在未受權訪問漏洞,能夠被***者惡意利用。web

在特定條件下,若是 Redis 以 root 身份運行,***能夠給 root 帳號寫入 SSH 公鑰文件,直接經過 SSH 登陸受害服務器,從而獲取服務器權限和數據。一旦***成功,***者可直接添加帳號用於 SSH 遠程登陸控制服務器,給用戶的 Redis 運行環境以及 Linux 主機帶來安全風險,如刪除、泄露或加密重要數據,引起勒索事件等。redis

受影響範圍shell

在 Redis 客戶端,測試Redis是否設置密碼:安全

root@kali:~# redis-cli -h 10.16.10.2
redis 10.16.10.2:6379> keys *
1) "1"`

從登陸結果能夠看出,該 Redis 服務對公網開放,且未啓用認證。服務器

修復方案tcp

禁止監聽在公網ide

指定 Redis 服務使用的網卡測試

默認狀況下,Redis 監聽 127.0.0.1。若是僅僅是本地通訊,請確保監聽在本地。ui

這種方式能夠在必定程度上緩解 Redis 未受權訪問的風險(例外狀況下,若是 Redis 以 root 用戶運行,***者藉助已有的 webshell,就能夠利用該 Redis 來反彈 shell 以實現提權)。

在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生效`

設置防火牆策略

若是正常業務中 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 無權限分離,其管理員帳號和普通帳號無明顯區分。***者登陸後可執行任意操做,所以須要隱藏如下重要命令:FLUSHDB, FLUSHALL, KEYS,PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME,DEBUG, 。

另外,在 Redis 2.8.1 及 Redis 3.x (低於 3.0.2) 版本下存在 沙箱逃逸漏洞,***者可經過該漏洞執行任意 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和密碼,開啓該參數後,redis只能本地訪問,拒絕外部訪問。

redis.conf安全設置: # 打開保護模式 protected-mode yes

安全補丁

按期關注最新軟件版本,並及時升級 Redis 到最新版,防止新漏洞被惡意利用。

排查病毒思路(挖礦病毒)

Redis服務安全加固的說明Redis服務安全加固的說明

相關文章
相關標籤/搜索