一、介绍
搭建完zookeeper集群后,收到了关于zookeeper的漏洞信息:
我们在使用zookeeper提供的服务的时候会发现,只要知道zk服务端的IP和Port,任务用户或者客户端根本不需要任何的认证就可以连上zk的服务端,并且可以对znode进行增删等操作。这样数据是非常不安全的,极易被攻击和篡改。
zookeeper解决这个问题的手段是ACL(access control list)机制,即访问控制列表。
1.权限操作
权限permission:zookeeper目前支持下面一些权限:
- CREATE ( c ):创建权限,可以在在当前node下创建child node
- DELETE( d ):删除权限,可以删除当前的node
- READ( r ):读权限,可以获取当前node的数据,可以list当前node所有的child nodes
- WRITE( w ):写权限,可以向当前node写数据
- ADMIN( a ):管理权限,可以设置当前node的permission
这5种权限简写为crwda
2.身份的认证
身份的认证有4种方式:
world:默认方式,相当于全世界都能访问
auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
digest:即用户名:密码这种方式认证,这也是业务系统中最常用的
ip:使用Ip地址认证
解决方法1 :设置可访问ip
进入zookeeper/bin目录执行