1.ZooKeeper概述
ZooKeeper是一個高性能的分布式數據一致性解決方案,它將復雜的,容易出錯的分布式一致性服務封裝起來,構成一個高效可靠的原語集,並提供一系列簡單易用的接口給客戶使用
1.1 應用場景:
數據訂閱
命名服務:提供名稱
1.2 集群角色:
Leader服務器是整個zookeeper集群工作機制的核心
Follower服務器是zookeeper集群狀態的跟隨着
Observer服務器充當一個觀察者角色
Leader,Follower設計模式
Observer 觀察者設計模式
2.ZooKeeper未授權訪問
ZooKeeper默認開啟在2181端口,在未進行任何訪問控制情況下,攻擊者可通過執行envi命令獲得系統大量的敏感信息,包括系統名稱、Java環境。
2.1攻擊獲取信息
stat:列出關於性能和連接的客戶端的統計信息。
echo stat |ncat 127.0.0.1 2181

ruok:測試服務器是否運行在非錯誤狀態。
echo ruok |ncat 127.0.0.1 2181

Imok:正常運行
reqs:列出未完成的請求。
echo reqs |ncat 127.0.0.1 2181
envi:打印有關服務環境的詳細信息。
echo envi |ncat 127.0.0.1 2181

dump:列出未完成的會話和臨時節點。
echo dump |ncat 127.0.0.1 2181

3.漏洞修復:
禁止把Zookeeper直接暴露在公網
添加訪問控制,根據情況選擇對應方式(認證用戶,用戶名密碼)
綁定指定IP訪問
