当前位置: 首页 > news >正文

配置防火墙规则解决zookeeper漏洞

问题背景

公司扫描到漏洞了:
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
在通常情况下,zookeeper允许未经授权的访问, 但是特定的命令下,用户的环境会存在敏感信息泄露问题,攻击者执行特定命令可获取用户环境的等敏感信息。

解决方法

方法一:

1)增加一个认证用户
addauth digest 用户名:密码明文
eg. addauth digest user1:password1
2)设置权限
setAcl /path auth:用户名:密码明文:权限
eg. setAcl /test auth:user1:password1:cdrwa
3)查看Acl设置
getAcl /path

方法二:

setAcl /path digest:用户名:密码密文:权限

方法三:

设置防火墙策略,给公司其他服务器添加白名单

解决步骤

因为方法1、2均影响业务,要改配置文件或者改业务代码,按代码能跑就不要动的原则,采用方式方法三。

1.备份

iptables-save>/root/iptables_20260810.rules

2.配置规则

# 自定义链管理规则iptables-NZK21812>/dev/null||true# 清空该链内已存在的所有规则(只删规则,不删链本身)iptables-FZK2181# 给本机配置IP白名单iptables-AZK2181-s127.0.0.1/32-jACCEPT iptables-AZK2181-sx.x.x.x/32-jACCEPT# 配置其他IP白名单iptables-AZK2181-miprange --src-range x.x.x.x-x.x.x.x-jACCEPT# 其他全部禁止iptables-AZK2181-jDROP# 避免重复入口iptables-DINPUT-ptcp--dport2181-jZK21812>/dev/null||true# 最关键:将该链插入INPUT主链第一条iptables-IINPUT1-ptcp--dport2181-jZK2181

3.查看配置是否成功

# 查看INPUT主链第一个是否为ZK2181iptables-LINPUT-n-v--line-numbers# 查看ZK2181链信息,正常都是上步配置的规则iptables-LZK2181-n-v--line-numbers

4.测试

4.1白名单服务器测试

nc-vz-w3<已配置规则的服务器IP>2181

应输出connect to <已配置规则的服务器IP>字样

4.2非白名单服务器测试

nc-vz-w3<已配置规则的服务器IP>2181

应输出connection time out字样

4.3本地服务器测试

# 127.0.0.1nc-vz-w3<本地服务器IP>2181# 公网ipnc-vz-w3<本地服务器IP>2181

均应输出connect to <已配置规则的服务器IP>字样

4.4更严谨的测试

使用上述命令,对比同一台服务器在配置白名单前后的输出即可。
但如果之前没有规则,一般输出都是成功,没有对比效果
故此时可以在ZK2181链前加一个临时策略,使用上述命令测试后删除该策略再次测试

# 添加临时策略iptables-IZK21811-s10.226.21.178-jDROP# 删除该策略iptables-DZK21811

这实际上就等价于验证了“非白名单会被 DROP”,不需要专门再找一台非白名单服务器。

178 白名单状态

2181 成功

临时把178拦掉

2181 超时

删除临时DROP

2181 再次成功

5.设置开机自启

领导担心系统宕机,要求配置开机自启

# 保存当前规则serviceiptables save# 设置开机启动systemctlenableiptables# 确认是否开启开机自启systemctl is-enabled iptables

输出enable即为开机自启设置成功。

5.回滚

万一万一领导又抽风了要回滚或者出了其他什么问题,执行以下命令就行了。

5.1回滚命令

如果做了备份

# 如果做了备份iptables-restore</root/iptables_20260810.rules

如果没做备份

# 1. 删除 INPUT 中跳转到 ZK2181 的规则iptables-DINPUT-ptcp--dport2181-jZK2181# 2. 清空 ZK2181 链iptables-FZK2181# 3. 删除 ZK2181 链iptables-XZK2181

5.2回滚确认

# 查看input链是否删除成功# 确认已经没有:ZK2181 tcp ... tcp dpt:2181iptables-LINPUT-n-v--line-numbers# 检查ZK2181链是否删除# 正常提示:iptables: No chain/target/match by that name.iptables-LZK2181-n
http://www.cnnetsun.cn/news/3964389.html

相关文章:

  • 3个步骤搞定Minecraft模组管理:PCL2启动器完整使用指南
  • Java+Spring Boot社区帮扶系统开发实践
  • 网络安全实战入门:从OWASP靶机登录到SQL注入漏洞利用
  • 如何在5分钟内为Unity游戏安装自动翻译插件:XUnity.AutoTranslator完整指南
  • 5分钟快速配置Calibre豆瓣插件:一键获取图书元数据的终极指南 [特殊字符]
  • 锁相环原理
  • AI Agent开发入门:MCP协议核心概念与实战搭建指南
  • SpringBoot+MySQL学生请销假系统开发实践
  • 为什么你需要ncmdumpGUI?解锁网易云音乐ncm格式的终极解决方案
  • AI代码助手安全新发现:自动模式为何比人工审核更可靠?
  • 【单片机毕业设计】基于 51 单片机的 LCD1602 环境数据显示与智能排风报警系统 基于 STM32 的 DHT11/SGP30/MQ-2 室内空气监测硬件系统设计(017802)
  • 【计算机毕业设计单片机案例】基于 51 单片机的多传感器联动室内环境安全预警装置开发 基于 STM32 的 LCD 实时显示室内空气质量智能控制系统实现(017802)
  • 从VC6到VS2022:编译、生成、运行快捷键背后的技术演进与实战迁移
  • 工业化养虾核心技术解析与投研思维应用
  • AI应用开发实战:从工具选型到生产部署的完整指南
  • Playwright文件上传下载实战与优化指南
  • 【干货】别再瞎学了!这 6 大数据分析实战项目才是职场刚需
  • P1577 切绳子【洛谷算法习题】
  • Godot Shader实现像素级精确切角:独立控制与GPU加速方案
  • ROS2开发中常用的库
  • 档案室改造技术选型:手动、电动、智能密集架场景适配、预算匹配与ROI深度分析
  • 微信小游戏内存优化实战:ASTC压缩纹理方案详解
  • 如何快速解密网易云音乐ncm文件:免费图形化工具完整指南
  • 为AI智能体构建持久化AST感知代码记忆库:Lybrary与MCP集成指南
  • 终极魔兽争霸3优化指南:5分钟解决现代电脑兼容性问题
  • Godot 2D几何破坏系统:轻量级多边形切割与碎裂实现
  • 上海嵌入式开发行业现状与职业发展分析
  • 蓝桥杯竞赛环境搭建全攻略:从零配置到全真模拟
  • 德扑研学社:翻前加注尺度的实战拆解与工具应用
  • 刚毕业,新手一枚,好用的法律助手工具推荐