【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 2181

HDP - 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 required
 useKeyTab=true
 keyTab="/etc/security/keytabs/zkclient.service.keytab"
 storeKey=true
 useTicketCache=false
 principal="zkcli@WINNER.COM";
};

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

修改 完成后重启zookeeper。

相关推荐
好好学习啊天天向上1 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
典学长编程2 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9983 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
独行soc5 小时前
#渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)
linux·科技·安全·网络安全·面试·渗透测试
BD_Marathon5 小时前
Ubuntu下Tomcat的配置
linux·ubuntu·tomcat
饥饿的半导体6 小时前
Linux快速入门
linux·运维
BD_Marathon6 小时前
Ubuntu:Tomcat里面的catalina.sh
linux·ubuntu·tomcat
BD_Marathon6 小时前
设置LInux环境变量的方法和区别_Ubuntu/Centos
linux·ubuntu·centos
Me4神秘6 小时前
Linux国产与国外进度对垒
linux·服务器·安全