目录

1.现状

2.方法


1.现状

公司检测出安装的zookeeper存在未经授权访问漏洞。
查了一些资料,方法有很多,有的比较复杂,有的需要管理员权限。
现在使用相对简单的一种设置,即配置访问控制列表(ACL)。

2.方法

在10.XX.XX.61 和 10.XX.XX.79 上各安装了一个zookeeper 3.4.13

1)进入61上zookeeper的bin文件夹,执行命令

./zkCli.sh -server 10.XX.XX.79:2181

这样就从61上连接到了79的zookeeper
接着执行命令

getAcl /

 'world,'anyone
: cdrwa

输出结果表示,任何人都可以访问,并且具有cdrwa权限,即 create delete read write admin 

接着执行命令

create /aaaa data

可以看到在61上,可以连接到79的zookeeper,并成功创建了节点

2)再打开一个窗口,进入79上zookeeper的bin文件夹,执行命令

./zkCli.sh -server 10.XX.XX.79:2181

接着执行命令

setAcl / ip:10.XX.XX.79:cdrwa


这样的话,就将10.XX.XX.79加进了访问控制列表(ACL)
如果需要设置多个,可以用逗号隔开

setAcl / ip:10.XX.XX.79:cdrwa,ip:10.XX.XX.80:cdrwa

 3)再切回61的窗口,执行命令

getAcl /

可以看到,名单上的79


再执行命令 

create /bbbb data

报没有权限

4)切回79的窗口,执行命令

create /bbbb data

创建节点成功


证明设置成功,除了在79上其他服务器无权操作zookeeper上的节点 

5)如果想回滚设置,在79的窗口,执行命令
setAcl / world:anyone:cdrwa

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐