zookeeper 未授权访问

方案一、绑定指定IP访问

登陆zookeeper
./zkCli.sh -server <IP>:<port>
#查看当前权限
getAcl /
#添加可访问IP
setAcl / ip:192.168.1.xx:cdrwa,ip:192.168.1.xx:cdrwa
#查看是否正常添加
getAcl /
#未授权也可以连接,但是查看节点时会报错"KeeperErrorCode = NoAuth for /",localhost都不行,必须填可访问IP,才能访问。
[zk: localhost:2181(CONNECTED) 0] ls /
KeeperErrorCode = NoAuth for /
[zk: localhost:2181(CONNECTED) 1] 
#回退
./zkCli.sh -server <IP>:<port>
#设置为所有人可访问:
setAcl / world:anyone:cdrwa

 

方案二、增加防火墙端口访问限制

Centos 6

#增加限制其他IP访问-注意顺序-限制在后
iptables -I INPUT -p tcp --dport 2181 -j DROP
#增加开放IP源-注意顺序-IP在前
iptables -I INPUT -s 10.0.0.1 -p tcp --dport 2181 -j ACCEPT
iptables -I INPUT -s 10.0.0.2 -p tcp --dport 2181 -j ACCEPT
iptables -I INPUT -s 10.0.0.3 -p tcp --dport 2181 -j ACCEPT
#保存
service iptables save
#重启
service iptables restart
#打印配置内容
iptables -L

 Centos 7

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.0.2.181" port protocol="tcp" port="2181" accept"
firewall-cmd --zone=public --remove-port=2181/tcp --permanent 
firewall-cmd --reload
firewall-cmd --list-all

方案三、设置身份验证

#增加一个认证用户
#addauth digest 用户名:密码明文
addauth digest user_name:pass_word 
#设置权限
#setAcl /path auth:用户名:密码明文:权限
#setAcl /path digest:用户名:密码密文:权限
setAcl /test auth:user_name:pass_word:cdrwa 
#查看Acl设置
getAcl /path 

 

posted @ 2021-02-03 11:38  aongao  阅读(5208)  评论(0编辑  收藏  举报