當前位置:
首頁 > 最新 > redis-保護好redis伺服器,做好必要的安全設置

redis-保護好redis伺服器,做好必要的安全設置

0x00 前言

運維不是維護好服務就好,更應該注意安全。


0x01 限制內網訪問,或者只限制本機訪問

只監聽內網的IP,然後在iptables裡面限制訪問的主機:

在/etc/redis/redis.conf中配置如下:

bind 192.168.12.100

如果服務只需要本機訪問就直接監聽127.0.0.1的迴環地址就可以了。


0x02 設置防火牆

如果需要其他機器訪問,或者設置了slave模式,那就記得加上相應的防火牆設置,命令如下:

iptables -A INPUT -s 192.168.12.10/32 -p tcp --dport 6379 -j ACCEPT


0x03 禁止root用戶啟動redis

使用root許可權去運行網路服務是比較有風險的(nginx和apache都是有獨立的work用戶,而redis沒有)。edis crackit 漏洞就是利用root用戶的許可權來替換或者增加authorized_keys,來獲取root登錄許可權的。

useradd -s /sbin/nolog -M redis

setsid sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf # 使用root切換到redis用戶啟動服務

0x04 限制redis文件目錄訪問許可權

設置redis的主目錄許可權為700,如果redis配置文件獨立於redis主目錄,許可權修過為600,因為redis密碼明文存儲在配置文件中。


0x05 避免使用熟知的埠,降低被初級掃描的風險

在/etc/redis/redis.conf中配置如下:

找到port 6379這行,把6379改為9999,記得iptables對應的埠要修改


0x06 開啟redis密碼認證,並設置高複雜度密碼

redis在redis.conf配置文件中,設置配置項requirepass, 開戶密碼認證。

redis因查詢效率高,auth這種命令每秒能處理10w次以上,簡單的redis的密碼極容易為攻擊者暴破。

0x07 禁用或者重命名危險命令

edis crackit漏洞就利用config/save兩個命令完成攻擊 。 因redis無用戶許可權限制,建議危險的命令,使用rename配置項進行禁用或重命名,這樣外部不了解重命名規則攻擊者,就不能執行這類命令。涉及到的命令:

FLUSHDB, FLUSHALL, KEYS, PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME, DEBUG, EVAL`

以下示例:redis.config文件禁用FLUSHDB、FLUSHALL兩個命令;重命名CONFIG、SHUTDOWN命令,添加一個特殊的後綴。 這樣redis啟動後,只能運行CONFIG_b9fc8327c4dee7命令,不能執行CONFIG命令。

rename-command CONFIG CONFIG_des327c4dee7dfsf

rename-command SHUTDOWN SHUTDOWN_des327c4dee7dfsf

rename-command FLUSHDB ""

rename-command FLUSHALL ""

上述配置將config,flushdb,flushall設置為了空,即禁用該命令,我們也可以命名為一些攻擊者難以猜測,我們自己卻容易記住的的名字。保存之後,執行/etc/init.d/redis-server restart 重啟生效。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 運維小菜 的精彩文章:

linux-你是怎麼關機的?

TAG:運維小菜 |