一、簡單介紹
Zookeeper是一個分佈式開放源碼的分佈式應用程序(分佈在不同計算機上,客戶端/服務端模式)協調服務,是Hadoop和HBase的重要組件。
- 目標:封裝好複雜易出錯的關鍵業務;
- 用處:統一命名服務、域名服務、分佈式同步、狀態同步服務、集羣管理等
二、漏洞原因
默認安裝配置完的zookeeper允許未授權訪問,管理員未配置訪問控制列表(ACL)。導致攻擊者可以在默認開放的2181端口下通過執行envi命令獲得大量敏感信息(系統名稱、java環境)導致任意用戶可以在網絡不受限的情況下進行未授權訪問讀取數據甚至殺死服務。
(原因如下:默認的ACL中未進行限制訪問)
三、影響版本
- Zookeeper全版本
四、檢測方法
》》nmap探測遠程端口是否開啓(已開啓,這裏爲了模擬演練,本地虛擬機搭建了服務)
》》使用envi執行如下命令(顯示以下信息則存在漏洞)
Tips:
- 需要安裝nc
- 證實了對方操作系統未設置ACL,且防火牆策略也未設置,如設置防火牆則訪問不到信息
》》可以直接使用客戶端連接
五、防禦措施
- 配置服務ACL限制IP訪問
》》登錄zookeeper
》》查看當前權限(默認所有人可訪問)
》》設置權限
》未授權可以連但是查看節點會報錯
- 配置防火牆策略,只允許指定IP訪問2181端口