【漏洞扫描】ZooKeeper 未授权访问

问题来源

以前打包安装zookeeper会有这么一行配置

yaml 复制代码
admin.serverPort=8082

后来用户现场使用"绿盟科技网络安全漏洞扫描系统"发现有该端口引起的漏洞

关于这个端口:"zookeeper的admin.serverPort=8082配置用于指定Zookeeper管理控制台的端口号。默认情况下,Zookeeper会占用8080端口用于AdminServer,但通过配置admin.serverPort可以将其更改为其他端口(如8082),以避免端口冲突或安全风险。如果不需要AdminServer功能,可以注释掉该配置或在启动脚本中添加-Dzookeeper.admin.enableServer=false来禁用AdminServer。"

由于不需要管理控制台,这个接口对外也没有提供服务,所以考虑先把这个端口关闭,具体配置如下:

yaml 复制代码
admin.enableServer=false

到此,当前漏洞已经解决,8080和8082端口都已经关闭,但是又提示了个新的漏洞,具体信息:ZooKeeper 未授权访问,关于这个漏洞需要设置 ACL 访问控制,由于ZooKeeper 仅限本地访问,配置 ip:127.0.0.1:cdrwa 是正确且必要的安全措施,但必须配合其他关键配置才能彻底消除未授权访问风险。综合解决方案具体操作如下:

  1. ‌设置 ACL 访问控制‌
    在 ZooKeeper 客户端中执行以下命令,为根路径 / 仅授权本地访问:
bash 复制代码
./zkCli.sh -server 127.0.0.1:2181
setAcl / ip:127.0.0.1:cdrwa

此配置确保只有本机(127.0.0.1)能对 ZooKeeper 执行读写、管理等所有操作,外部任何 IP 均被拒绝。

  1. ‌禁用 AdminServer 管理接口‌
    在 zoo.cfg 配置文件中‌必须包含‌:
yaml 复制代码
admin.enableServer=false

即使您未配置 admin.serverPort=8082,只要此选项未禁用,ZooKeeper 仍可能默认开启 8080 端口的 HTTP 接口,构成严重安全漏洞。此配置是独立于 ACL 的第二道防线。

  1. ‌防火墙策略(可选但推荐)‌
    即使 ACL 已生效,仍建议在防火墙中限制 2181 端口仅允许本地访问:
bash 复制代码
firewall-cmd --zone=public --remove-service=zookeeper --permanent
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="2181" accept' --permanent
firewall-cmd --reload

✅ 验证配置是否生效

检查 ACL:getAcl / → 输出应仅含 'ip,'127.0.0.1 : cdrwa

检查 AdminServer:netstat -tlnp | grep :8082 → 应无输出

本地测试:./zkCli.sh -server 127.0.0.1:2181 → 能正常连接

外部测试:从其他机器 telnet 2181 → 应连接失败

🔒 ‌结论‌:仅配置 ip:127.0.0.1:cdrwa 是‌必要但不充分‌的。必须同时禁用 AdminServer,并建议限制防火墙,才能实现真正的"仅本地访问"安全模型。

相关推荐
AI攻城狮21 小时前
用 Obsidian CLI + LLM 构建本地 RAG:让你的笔记真正「活」起来
人工智能·云原生·aigc
做个文艺程序员1 天前
私有 LLM 多机多卡分布式推理:Pipeline Parallel vs Tensor Parallel 踩坑全记录
人工智能·分布式
科技小花1 天前
AI重塑数据治理:2026年核心方案评估与场景适配
大数据·人工智能·云原生·ai原生
阿里云云原生1 天前
基于 HiClaw 的运维场景多智能体协同实践
云原生
foundbug9991 天前
Matlab基于分布式模型预测控制的多固定翼无人机共识控制
分布式·matlab·无人机
阿里云云原生1 天前
从 OpenSearch 到阿里云 SLS:极致弹性、更低成本、生态兼容
云原生
一个有温度的技术博主1 天前
Redis集群实战:如何实现节点的弹性伸缩与数据迁移?
redis·分布式·缓存·架构
yuanlaile1 天前
从入门到部署|2026年Koa全栈开发实战:覆盖Node.js、数据库、部署与云架构全链路
微服务·云原生·kubernetes·node.js·serverless·nodejs全栈开发
小雨青年1 天前
鸿蒙 HarmonyOS 6 | 分布式数据同步详解
分布式·华为·harmonyos
http阿拉丁神猫1 天前
kubernetes知识点汇总37-42
云原生·容器·kubernetes