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