zookeeper Acl(容器)设置

本文讲述了公务公司系统中发现的ZooKeeper未授权访问漏洞,介绍了如何在Acl配置中添加用户认证并设置访问权限。针对单主机多节点和三主机多节点模式下的Kafka与ZooKeeper连接问题,提供了白名单配置的解决方案。
摘要由CSDN通过智能技术生成
一、简介

公务公司系统上线扫描出来的漏洞

zk未授权访问漏洞(中危)

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 在通常情况下,zookeeper允许未经授权的访问。

二、配置Acl
docker exec -it <容器id> /bin/bash
cd /opt/bitnami/zookeeper/bin      #zookeeper3.7.0版本链接工具所在目录
./zkCli -server 127.0.0.1:2181     #连接zookeeper
addauth digest zookeeper:zk1234    #增加一个用户认证
setAcl / auth:zookeeper:cdrwa      #为/目录设置Acl
三、kafka连接zookeeper

Acl设置完成后重启,kafka连接不上zookeeper,报错

 

1.三主机三节点

三主机三节点模式,三个zookeeper三个kafka,在任意一台zookeeper上配置Acl即可

解决方法,在zookeeper容器内配置访问白名单

setAcl / ip:* * * *:cdrwa,ip:* * * *:cdrwa,ip:* * * *:cdrwa,auth:zookeeper:zk1234
2.单主机三节点

单主机三节点模式,一个zookeeper三个kafka

解决方法,配置白名单

不同点:因为单主机三节点肯定用到了端口映射的模式,所以三台容器与主机不是公用同一个IP,所以要在白名单中填写容器的IP

docker inspect <容器ID> | grep IPAddress   #查询容器ID

如果kafka已经起不来了,查不到容器ID,可以链接zookeeper删除Acl设置

setAcl /world:anyone:cdrwa

 重启kafka后,查看容器IP加入白名单即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值