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

【HDP】zookeeper未授权漏洞修复

目录

一、禁用四字命令

二、ZK-Client增加kerberos


一、禁用四字命令


Zookeeper四字命令的使用方式非常简单,通常有两种方式。第一种是通过Telnet方式,使用Telnet客户端登录ZooKeeper的对外服务端口,然后直接使用四字命令即可;第二种是通过nc方式,如 echo conf|nc localhost 2181。

命令

说明

conf

conf命令用于输出ZooKeeper服务器运行时使用的基本配置信息,包括clientPort、dataDir和tickTime等,以便快速地查看ZooKeeper当前运行时的一些参数。conf命令会根据当前运行模式来决定输出的信息,如果是单机模式就不会输出诸如initLimit、syncLimit、electionAlg和electionPort等集群相关的配置信息。

cons

cons命令用于输出当前这台服务器上所有客户端连接的详细信息,包括每个客户端的客户端IP、会话ID和最后一次与服务器交互的操作类型等。

crst

crst是以一个功能性命令,用于重置所有的客户端连接统计信息。

dump

dump命令用于输出当前集群的所有会话信息,包括这些会话的会话ID,以及每个会话创建的临时节点等信息。如果在leader服务器上执行该命令,还能够看到每个会话的超时时间。

envi

命令用于输出ZooKeeper所在服务器运行时的环境信息,包括os.version、java.version和user.home等。

ruok

ruok命令用于输出当前ZooKeeper服务器是否正在运行。如果当前服务器正在运行,那么返回“imok”,否则没有任何响应输出。ruok命令的输出仅仅只能表明当前服务器是否在运行,准确的说是2181端口打开着,同时四字命令执行流程正常,但不能代表ZooKeeper服务器是否运行正常。

stat

stat命令用于获取ZooKeeper服务器的运行时状态信息,包括基本的ZooKeeper版本、打包信息、运行时角色、集群数据节点个数等信息。另外还会将当前服务器的客户端连接信息打印出来。

srvr

srvr命令和stat命令的功能一致,唯一的区别的是srvr不会将客户端的连接情况输出,仅仅输出服务器自身的信息。

srst

srst是一个功能性的命令,用于重置所有服务器的统计信息。

wchs

wchs命令用于输出当前服务器上管理的Watcher的概要信息。

wchc

wchc命令用于输出当前服务器上管理的Watcher的详细信息,以会话为单位进行归组,同时列出被该会话注册了Watcher的节点路径。

wchp

wchp命令和wchc命令非常类似,也是用于输出当前服务器上管理的Watcher的详细信息,不同点在于wchp命令的输出信息以节点路径为单位进行归组。

mntr

mntr命令用于输出比stat命令更为详尽的服务器统计信息,包括请求处理的延迟情况、服务器内存数据库大小和集群的数据同步情况。在输出结果中,每一行都是一个key-value的键值对。如果在Leader服务器上执行该命令还可以获取到更多信息。

echo envi | nc IP 2181HDP - zookeeper 3.4.6   禁用四字命令 4lw.commands.whitelist=ruok

ambari web中zookeeper 中增加zoo.cfg配置,配置完后重启zookeeper

执行如下命令可以看到 获取不到环境信息了


二、ZK-Client增加kerberos


kerberos服务器生成ZK客户端principle和keytab

kadmin.local -q "addprinc -randkey zkcli@WINNER.COM"
kadmin.local -q "xst -k /etc/security/keytabs/zkclient.service.keytab zkcli@WINNER.COM"

增加配置文件/usr/hdp/3.1.4.0-315/zookeeper/conf/jaas.conf

Client {com.sun.security.auth.module.Krb5LoginModule requireduseKeyTab=truekeyTab="/etc/security/keytabs/zkclient.service.keytab"storeKey=trueuseTicketCache=falseprincipal="zkcli@WINNER.COM";
};

ambari web中zookeeper 中修改env 配置,指定zkclient jaas文件路径

修改 完成后重启zookeeper。

相关文章:

  • debian 12配置固定ip
  • vuepress 浏览器加载缓存,总是显示旧页面,无法自动刷新数据的解决方法
  • JVM常见面试题
  • 足底筋膜炎的症状
  • 2024ICPC网络赛第一场C. Permutation Counting 4(线性代数)
  • 【程序员必读】近年来编程提效工具大合集。小白必看!
  • 9月26日day16
  • 望繁信科技CTO李进峰受邀在上海外国语大学开展流程挖掘专题讲座
  • Linux 如何发送带有 RequestBody 的 POST 请求
  • 影刀RPA实战:java结合影刀同步采购订单数据
  • IDEA2020运行项目时不从配置的maven仓库找jar包,从C盘默认路径下找jar包
  • C++日期类实现
  • 【Python语言初识(五)】
  • linux修改命令别名的方式
  • 前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
  • [iOS]Core Data浅析一 -- 启用Core Data
  • canvas 高仿 Apple Watch 表盘
  • Cookie 在前端中的实践
  • DataBase in Android
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Javascripit类型转换比较那点事儿,双等号(==)
  • laravel 用artisan创建自己的模板
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Median of Two Sorted Arrays
  • Redis 懒删除(lazy free)简史
  • zookeeper系列(七)实战分布式命名服务
  • 读懂package.json -- 依赖管理
  • 解析带emoji和链接的聊天系统消息
  • 前端性能优化——回流与重绘
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $jQuery 重写Alert样式方法
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (二)测试工具
  • (二)构建dubbo分布式平台-平台功能导图
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (四)stm32之通信协议
  • (一)UDP基本编程步骤
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .net 4.0发布后不能正常显示图片问题
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET 回调、接口回调、 委托
  • .net(C#)中String.Format如何使用
  • .Net8 Blazor 尝鲜
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .net解析传过来的xml_DOM4J解析XML文件
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [Android Studio 权威教程]断点调试和高级调试
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [BT]小迪安全2023学习笔记(第29天:Web攻防-SQL注入)
  • [bzoj4240] 有趣的家庭菜园
  • [C#] 我的log4net使用手册