【漏洞概述】
Redis 默認情況下,會綁定在 0.0.0.0:6379,導致Redis服務暴露到公網上。
如果在沒有開啓認證並且在任意用戶可以訪問目標服務器的情況下,可以未授權訪問Redis服務,進一步可進行數據增刪改查,甚至獲取服務器權限等惡意操作,屬於高風險漏洞。
【漏洞利用條件】
1. Redis服務以root賬戶運行;
2. Redis無密碼或弱密碼進行認證;
3. Redis監聽在0.0.0.0公網上;
【防範建議】
1. 禁止Redis服務對公網開放,可通過修改redis.conf配置文件中的"#bind 127.0.0.1" ,去掉前面的"#"即可(Redis本來就是作爲內存數據庫,只要監聽在本機即可);
2. 設置密碼訪問認證,可通過修改redis.conf配置文件中的"requirepass" 設置複雜密碼 (需要重啓Redis服務才能生效);
3. 對訪問源IP進行訪問控制,可在防火牆限定指定源ip纔可以連接Redis服務器;
4. 修改Redis默認端口,將默認的6379端口修改爲其他端口;
5. 禁用config指令避免惡意操作,在Redis配置文件redis.conf中配置rename-command項"RENAME_CONFIG",這樣即使存在未授權訪問,也能夠給攻擊者使用config 指令加大難度;
6. Redis使用普通用戶權限,禁止使用 root 權限啓動Redis 服務,這樣可以保證在存在漏洞的情況下攻擊者也只能獲取到普通用戶權限,無法獲取root權限;