l 漏洞名稱:apache
zookeeper未受權訪問vim
l 漏洞影響版本:服務器
zookeeper分佈式
l 漏洞細節:oop
ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。b它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。spa
ZooKeeper默認開啓在2181端口,在未進行任何訪問控制狀況下,攻擊者可經過執行envi命令得到系統大量的敏感信息,包括系統名稱、Java環境。server
l Zookeeper安裝:blog
1. 安裝ip
#wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gzget
#tar zxvf zookeeper-3.3.6.tar.gz
#mv zookeeper-3.3.6 /usr/local/zookeeper-3.3.6-2181
#cd /usr/local/zookeeper-3.3.6-2181
#cp conf/zoo_sample.cfg conf/zoo.cfg
新建文件夾
#mkdir -p /usr/local/zookeeper-3.3.6-2181/data
#mkdir -p /usr/local/zookeeper-3.3.6-2181/log
2. 集羣配置
#vim conf/zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/usr/local/zookeeper-3.3.6-2181/data
dataLogDir=/usr/local/zookeeper-3.3.6-2181/log
# the port at which the clients will connect
clientPort=2181
#server.A=B:C:D:其中 A 是一個數字,表示這個是第幾號服務器;B 是這個服務器的 ip 地址;C 表示的是這個服務器與集羣中的 Leader 服務器交換信息的端口;D 表示的是萬一集羣中的 #Leader 服務器掛了,須要一個端口來從新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時服務器相互通訊的端口。若是是僞集羣的配置方式,因爲 B 都是同樣,因此不一樣的 #Zookeeper 實例通訊端口號不能同樣,因此要給它們分配不一樣的端口號。
server.1=192.168.124.214:2287:3387
server.2=192.168.124.215:2288:33883
3.增長myid文件
並在data目錄下放置myid文件:(上面zoo.cfg中的dataDir)
#mkdir data
#vim myid
myid指明本身的id,對應上面zoo.cfg中server.後的數字,第一臺的內容爲1,第二臺的內容爲2,內容以下:
1
4. 啓動
#./bin/zkServer.sh start
Server啓動以後, 就能夠啓動client鏈接server了, 執行腳本:
#./bin/zkCli.sh -server ip:2181
5. 中止
#./bin/zkServer.sh stop
l 漏洞演示:
執行如下命令便可遠程獲取該服務器的環境
echo envi | nc ip port
安裝nc:
#yum install nc