redis 預設情況下,會繫結在 0.0.0.0:6379,如果沒有進行採用相關的策略,比如新增防火牆規則避免其他非信任** ip 訪問等,這樣將會將 redis 服務暴露到公網上,如果在沒有設定密碼認證(一般為空)的情況下,會導致任意使用者在可以訪問目標伺服器的情況下未授權訪問 redis 以及讀取 redis 的資料。攻擊者在未授權訪問 redis 的情況下,利用 redis 自身的提供的config 命令,可以進行寫檔案操作,攻擊者可以成功將自己的ssh公鑰寫入目標伺服器的 /root/.ssh 資料夾的authotrized_keys 檔案中,進而可以使用對應私鑰直接使用ssh服務登入目標伺服器。
漏洞的產生條件有以下兩點:
(2)沒有設定密碼認證(一般為空),可以免密碼遠端登入redis服務。
漏洞的危害:
(1)攻擊者無需認證訪問到內部資料,可能導致敏感資訊洩露,黑客也可以惡意執行flushall來清空所有資料;
(2)攻擊者可通過eval執行lua**,或通過資料備份功能往磁碟寫入後門檔案;
(3)最嚴重的情況,如果redis以root身份執行,黑客可以給root賬戶寫入ssh公鑰檔案,直接通過ssh登入受害伺服器。
redis安全加固主要從網路訪問許可權、賬戶執行許可權兩個方面入手:
(1) 設定防火牆
通過防火牆設定,充許業務ip訪問,限制不必要ip訪問,方法參考如下:
#例如只允許192.168.1.*這一段c類位址訪問,其他ip位址禁止訪問:
iptables -a input -s 192.168.1.0/24,127.0.0.0/16 -p tcp --dport 6379 -j accept
iptables -a input -p tcp --dport 6379 -j drop
(2)設定訪問密碼
為redis設定密碼:設定客戶端連線後進行任何其他指定前需要實用的密碼。警告:因為redis速度非常快,所以在一台較好的伺服器下,乙個外部使用者可以在一秒鐘進行150k次的密碼嘗試,這意味著你需要指定非常非常強大的密碼來防止暴力破解。
修改密碼的方法:1、只需要在redis的配置檔案redis.conf中開啟requirepass就可以了。
cd /home/hgaop/test/redis-2.8.19/vim redis.conf --找到下面這行,把注釋去掉,requirepass後面填寫需要修改的密碼 requirepass mypassword
密碼不能太簡單,比如 "123456" "root"等
(3)避免將redis暴露到公網上
避免將redis暴露到公網上,盡量實現redis在區域網內呼叫
參考:
redis 安全漏洞防禦
一 埠安全 限制客戶端ip以及修改密碼 置redis密碼 找到requirepass,設定新的密碼 將 redis 啟動在 127.0.0.1 上 一般建議方案是將 redis 啟動在 127.0.0.1 上 但是這種方式不能跨伺服器訪問,一般方式是將 redis 放到內網,防止公網檢測。如果服務部...
Web安全漏洞
web的大多數安全問題都屬於下面三種型別之一 1 伺服器向公眾提供了不應該提供的服務。2 伺服器把本應私有的資料放到了公開訪問的區域。3 伺服器信賴了來自不可信賴資料來源的資料。顯然,許多伺服器管理員從來沒有從另乙個角度來看看他們的伺服器,例如使用埠掃瞄程式。如果他們曾經這樣做了,就不會在自己的系統...
Redis安全漏洞影響及加固方法
redis安全漏洞影響及加固方法 redis安全漏洞影響 1 redis因配置不當可以未授權訪問,很容易被攻擊者惡意利用。如果redis以root身份執行,黑客可以給root賬戶寫入ssh公鑰檔案,直接通過ssh登入 控 務器,引發重要資料洩露或丟失,嚴重威脅使用者業務和資料安全,風險極高,業界將此...