zookeeper未鉴权访问漏洞处理
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文件
找到#dubbo注释的这一段,修改红框中的用户名和密码(如果没有这两个配置请手动添加配置),修改后重启流程服务
7.权限服务同上
8.应用添加zookeeper密码配置
找到应用中的spring-dubbo.xml文件(无此配置文件,则不需用)
添加红框中的username和password配置己可
9.重启所有服务及应用,测试流程是否可以正常发送,权限菜单是否可以正常获取。
注意:第一次执行这个语句(addauth digest admin:admin123)是新建立用户,等退出zkCli之后,再执行addauth digest admin:admin123这个语句时就是登陆验证了。
10.删除权限
找到zookeeper的日志地址,把日志删除就行了,或者 delete /节点
linux环境下也可以使用命令,查询日志地址
echo conf | nc 127.0.0.1 2181
更多推荐
所有评论(0)