zookeeper升级及未授权访问漏洞修复
#一、版本升级:
#升级版本为3.4.14
#1.解压:
tar -zxvf zookeeper-3.4.14.tar.gz
#3.将原版本的配置文件/opt/zookeeper-3.4.14/conf cp到当前版本中【备份当前的版本文件】
/opt/zookeeper-3.4.14/conf
#4.cd /opt/zookeeper/bin 关闭原来的zk服务
./zkServer.sh stop
#5.cd /opt/zookeeper-3.4.14/bin 启用新的zk服务
./zkServer.sh start
#6.验证:
./zkCli.sh -server {服务器IP}:2181
#二、未授权访问控制:
#ZooKeeper设置ACL权限控制
#ZK的节点有5种操作权限:
#CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)
#注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限
#身份的认证有4种方式:
#world:默认方式,相当于全世界都能访问
#auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
#digest:即用户名:密码这种方式认证,这也是业务系统中最常用的
#ip:使用Ip地址认证
#设置访问控制:ls / 根目录下的节点和根目录本身
#方式一:(推荐)
#1)增加一个认证用户:addauth digest 用户名:密码明文
#eg. addauth digest user1:password1
addauth digest zk:P@ssw0rd
#2)设置权限:setAcl /path auth:用户名:密码明文:权限
#eg. setAcl /test auth:user1:password1:cdrwa
setAcl /inf-confserver auth:zk:P@ssw0rd:cdrwa
setAcl /zookeeper auth:zk:P@ssw0rd:cdrwa
setAcl / auth:zk:P@ssw0rd:cdrwa
3)查看Acl设置
#getAcl /path
#方式二:
#setAcl /path digest:用户名:密码密文:权限
#注:这里的加密规则是SHA1加密,然后base64编码
#删除权限
#找到zookeeper的日志地址,把日志删除就行了,或者 delete /节点
#linux环境下也可以使用命令,查询日志地址:
echo conf | nc 127.0.0.1 2181