一、简单介绍

  Zookeeper是一个分布式开放源码的分布式应用程序(分布在不同计算机上,客户端/服务端模式)协调服务,是Hadoop和HBase的重要组件。

  • 目标:封装好复杂易出错的关键业务;
  • 用处:统一命名服务、域名服务、分布式同步、状态同步服务、集群管理等

二、漏洞原因

   默认安装配置完的zookeeper允许未授权访问,管理员未配置访问控制列表(ACL)。导致攻击者可以在默认开放的2181端口下通过执行envi命令获得大量敏感信息(系统名称、java环境)导致任意用户可以在网络不受限的情况下进行未授权访问读取数据甚至杀死服务。

(原因如下:默认的ACL中未进行限制访问)
在这里插入图片描述

三、影响版本

  • Zookeeper全版本

四、检测方法

》》nmap探测远程端口是否开启(已开启,这里为了模拟演练,本地虚拟机搭建了服务)
在这里插入图片描述
》》使用envi执行如下命令(显示以下信息则存在漏洞)
在这里插入图片描述

Tips:

  • 需要安装nc
  • 证实了对方操作系统未设置ACL,且防火墙策略也未设置,如设置防火墙则访问不到信息

》》可以直接使用客户端连接
在这里插入图片描述
在这里插入图片描述

五、防御措施

  • 配置服务ACL限制IP访问

》》登录zookeeper
在这里插入图片描述
》》查看当前权限(默认所有人可访问)
在这里插入图片描述
》》设置权限
在这里插入图片描述
》未授权可以连但是查看节点会报错

  • 配置防火墙策略,只允许指定IP访问2181端口
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐