zookeeper未鉴权访问漏洞处理

1.进入到Zookeeper的安装目录的bin文件夹下执行以下命令:

./zkCli.sh -server localhost:2181

2.回车后查看节点路径

ls /

3.记录下所有2中显示的所有节点,例如会有dubbo和bpme等节点
用以下命令创建用户,用户名和密码可以自行修改(admin为用户名,admin123为密码)

addauth digest admin:admin123

4.添加授权(红色中的内容为用户名密码必须是和第二步设置一样,蓝色中的内容替换为第二步中查到的节点,如下分别执行)

setAcl /dubbo auth:admin:admin123:cdrwa
setAcl /bpme auth:admin:admin123:cdrwa

………
5.退出zkCli后再次进入zkCli中,然后输入
ls /bpme或者ls /dubbo,如果提示Authentication is not valid表示需要密码,再次输入addauth digest admin:admin123 后ls /bpme或者ls /dubbo,如果正常显示的话说明添加授权没有问题。

6.流程服务添加zookeeper密码功能
找到流程服务下的application.properties文件
zookeeper未鉴权访问漏洞处理_第1张图片

找到#dubbo注释的这一段,修改红框中的用户名和密码(如果没有这两个配置请手动添加配置),修改后重启流程服务

7.权限服务同上
8.应用添加zookeeper密码配置
找到应用中的spring-dubbo.xml文件(无此配置文件,则不需用)
zookeeper未鉴权访问漏洞处理_第2张图片

添加红框中的username和password配置己可

9.重启所有服务及应用,测试流程是否可以正常发送,权限菜单是否可以正常获取。

注意:第一次执行这个语句(addauth digest admin:admin123)是新建立用户,等退出zkCli之后,再执行addauth digest admin:admin123这个语句时就是登陆验证了。

10.删除权限
找到zookeeper的日志地址,把日志删除就行了,或者 delete /节点
linux环境下也可以使用命令,查询日志地址

echo conf | nc 127.0.0.1 2181

你可能感兴趣的:(常见问题解决,zookeeper)