news 2026/6/23 1:15:38

Zookeeper添加SASL安全认证 修复方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Zookeeper添加SASL安全认证 修复方案

#作者:张桐瑞

文章目录

  • 1修复背景
  • 2修复方案说明
  • 3配置流程
    • 3.1停止zookeeper服务
    • 3.2Zookeeper添加SASL参数
      • 3.2.1配置解析
    • 3.3配置jaas密码文件
    • 3.4添加启动参数
    • 3.5启动zookeeper服务
    • 3.6访问测试
  • 4Kafka连接zookeeper服务端配置
    • 4.1未配置身份认证
    • 4.2停止kafka服务
    • 4.3 配置身份认证
      • 4.3.1配置jaas密码文件
      • 4.3.2配置kafka启动参数
    • 4.4启动kafka服务
  • 5 回滚方案
    • 5.1Zookeeper回滚方案
    • 5.2Kafka回滚方案

1修复背景

Zookeeper未授权访问漏洞通常指的是Zookeeper服务未进行适当的安全配置,导致外部用户可未经认证和授权访问Zookeeper服务,从而获取到服务控制权。

2修复方案说明

SASL:SASL(即简单身份验证和安全层)是一个身份验证框架,它指定和描述将身份验证机制插入应用程序协议的过程。它是一种用于验证远程计算机的互联网标准框架或跟踪方法。
涉及版本:3.6.0+

3配置流程

3.1停止zookeeper服务

zookeeper]# ./bin/zkServer.sh stop

3.2Zookeeper添加SASL参数

  1. 先备份zookeeper/conf/zoo.cfg配置文件
  2. 在zookeeper/conf/zoo.cfg配置文件中添加如下SASL配置:
    authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
    sessionRequireClientSASLAuth=true

3.2.1配置解析

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider #启用 SASL 认证
sessionRequireClientSASLAuth=true #自 3.6.0 版本开始:当设置为 true 时,ZooKeeper 服务器将只接受通过 SASL 与服务器进行认证的客户端的连接和请求。未配置 SASL 认证或配置了 SASL 但认证失败(即凭证无效)的客户端将无法与服务器建立会话。在这种情况下,将返回一个类型错误代码(-124),之后 Java 和 C 客户端将关闭与服务器的会话,而不会尝试重新连接。

3.3配置jaas密码文件

  1. 创建zookeeper/conf/zk_jaas.conf密码文件并写入如下密码配置:
Server { org.apache.zookeeper.server.auth.DigestLoginModule required username="zkadmin" #服务端身份认证用户名 password="zkadmin" #服务端身份认证密码 user_zkuser1="password1"; #允许用户名zkuser1且密码为password1的用户访问 user_zkuser2="password2"; #允许用户名zkuser2且密码为password2的用户访问 user_zkuser3="password3"; #允许用户名zkuser3且密码为password3的用户访问 … }; Client { org.apache.zookeeper.server.auth.DigestLoginModule required username="zkuser1" #客户端用户名1 password="password1"; #客户端密码1 }; Client { org.apache.zookeeper.server.auth.DigestLoginModule required username="zkuser2" password="password2"; }; Client { org.apache.zookeeper.server.auth.DigestLoginModule required username="zkuser3" password="password3"; };

3.4添加启动参数

  1. 先备份zookeeper/bin/zkEnv.sh脚本文件
  2. 在zookeeper/bin/zkEnv.sh中添加如下配置:
    export JVMFLAGS=“-Djava.security.auth.login.config=/root/zookeeper/conf/zk_jaas.conf -Dzookeeper.requireClientAuthScheme=sasl”

3.5启动zookeeper服务

zookeeper]# ./bin/zkServer.sh start

3.6访问测试

  1. 使用配置zkEnv.sh的zkCli.sh命令

  2. 使用未配置zkEnv.sh的zkCli.sh命令

4Kafka连接zookeeper服务端配置

4.1未配置身份认证

在kafka未配置zookeeper对应的Jaas.conf密码时,使用kafka去连接zookeeper,Kafka连接失败,出现缺少认证报错信息。

4.2停止kafka服务

kafka]#./bin/kafka-server-stop.sh

4.3 配置身份认证

4.3.1配置jaas密码文件

在/kafka/config/kafka_jaas.conf编写如下jaas.conf密码:
Client {
org.apache.zookeeper.server.auth.DigestLoginModule required
username=“zkuser”
password=“password”;
};

4.3.2配置kafka启动参数

1.在/kafka/bin/kafka-run-class.sh脚本中# JMX settings下添加如下配置:
-Djava.security.auth.login.config=/root/kafka/config/kafka_jaas.conf
2.整体配置展示:

# JMX settings if [ -z "$KAFKA_JMX_OPTS" ]; then KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.security.auth.login.config=/root/kafka/config/kafka_jaas.conf " Fi
  1. 配置图片

4.4启动kafka服务

kafka]#./kafka/bin/kafka-server-start.sh -daemon kafka/config/server.properties

5 回滚方案

5.1Zookeeper回滚方案

1.停止zookeeper服务
2.恢复zookeeper的zkEnv.sh和zoo.cfg配置文件
3.启动zookeeper服务

5.2Kafka回滚方案

1.停止kafka服务
2.恢复kafka的kafka-run-class.sh脚本文件
3.启动kafka服务

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 20:49:56

CV-UNet大模型镜像核心优势解析|附智能抠图完整实践

CV-UNet大模型镜像核心优势解析|附智能抠图完整实践 1. 抠图技术演进与CV-UNet的定位 图像抠图(Image Matting)是计算机视觉中一项关键任务,其目标是从原始图像中精确分离前景对象并生成带有透明通道(Alpha通道&…

作者头像 李华
网站建设 2026/6/10 19:25:47

Linux 系统基础操作实验报告

一、实验名称Linux 虚拟机部署与文件管理、vi/vim 编辑器综合实践二、实验目的掌握在 VMware 中创建虚拟机并安装 RHEL9 操作系统的完整流程。学会通过 SSH 协议实现对 Linux 服务器的远程连接与管理。熟练运用 Linux 文件管理命令,完成目录与文件的创建、编辑等操作…

作者头像 李华
网站建设 2026/6/15 23:38:40

GTE中文语义匹配全解析|集成WebUI的轻量级CPU推理镜像实践

GTE中文语义匹配全解析|集成WebUI的轻量级CPU推理镜像实践 1. 项目概览:GTE 中文语义相似度服务是什么? 在自然语言处理(NLP)领域,语义相似度计算是构建智能问答、文本去重、推荐系统等应用的核心能力。传…

作者头像 李华
网站建设 2026/6/15 17:05:51

语义相似度计算实战|基于GTE中文模型镜像快速部署WebUI与API

语义相似度计算实战|基于GTE中文模型镜像快速部署WebUI与API 1. 背景与核心价值 在当前的自然语言处理(NLP)应用中,语义相似度计算已成为搜索、推荐、问答系统和RAG(检索增强生成)等场景的核心能力。传统…

作者头像 李华
网站建设 2026/6/20 13:20:47

中文语义相似度计算实践|基于GTE轻量级镜像快速部署

中文语义相似度计算实践|基于GTE轻量级镜像快速部署 1. 业务场景与痛点分析 在构建智能客服、问答系统或内容推荐引擎时,一个核心需求是判断两段中文文本是否“语义相近”。例如: 用户提问:“怎么重置密码?” vs 知…

作者头像 李华
网站建设 2026/6/19 17:20:51

零代码部署GTE中文向量模型|Web界面实时计算文本相似度

零代码部署GTE中文向量模型|Web界面实时计算文本相似度 1. 背景与核心价值 在当前的自然语言处理(NLP)应用中,语义相似度计算已成为搜索、推荐、问答系统和RAG(检索增强生成)等场景的核心能力。传统的关键…

作者头像 李华