当前位置: 首页 > 知识库问答 >
问题:

Kafka安全实施问题 SASL SSL 和严重破坏程序

牟稳
2023-03-14

我在启动Kafka服务器时遇到错误,设置了SSL,它对Kafka3代理工作正常。动物园管理员也设置了SSL

现在尝试从服务器属性文件中为kafka代理设置SASL_SSL的SCRAM。

它不起作用,我用以下命令创建了一个用户

kafka-configs.sh --zookeeper localhost:2182 --zk-tls-config-file zookeeper-client.properties --entity-type users --entity-name broker-admin --alter --add-config 'SCRAM-SHA-512=[password=DEM123]'

我可以看到用户已创建。

但是在尝试运行命令来运行kafka broker时

kafka-server-start.sh -daemon server-0.properties

当我检查文件时,它有一些错误server.log

[2021-10-05 16:21:38,369] ERROR [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)

org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode=NoAuth /config/users/broker-admin

有人能支持我吗?

让我分享一下我的zookeeper.proerpties文件

dataDir=/var/www/kafka/data/zookeeper
clientPort=2181
secureClientPort=2182
authProvider.x509=org.apache.zookeeper.server.auth.X509AuthenticationProvider
serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
ssl.trustStore.location=/var/www/kafka/ssl/kafka.zookeeper.truststore.jks
ssl.trustStore.password=zookeepbook
ssl.keyStore.location=/var/www/kafka/ssl/kafka.zookeeper.keystore.jks
ssl.keyStore.password=zookeepbook
ssl.clientAuth=need
maxClientCnxns=0
admin.enableServer=true
admin.serverPort=9090
server.1=localhost:2888:3888

server.properties文件内容:

broker.id=0
listeners=SASL_SSL://localhost:9092
advertised.listeners=SASL_SSL://localhost:9092
zookeeper.connect=localhost:2182
log.dirs=/var/www/kafka/data/broker-0
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0


zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty
zookeeper.ssl.client.enable=true
zookeeper.ssl.protocol=TLSv1.2

zookeeper.ssl.truststore.location=/var/www/kafka/ssl/kafka.broker-0.truststore.jks
zookeeper.ssl.truststore.password=zookeepbookbrk0
zookeeper.ssl.keystore.location=/var/www/kafka/ssl/kafka.broker-0.keystore.jks
zookeeper.ssl.keystore.password=zookeepbookbrk0

zookeeper.set.acl=true


ssl.truststore.location=/var/www/kafka/ssl/kafka.broker-0.truststore.jks
ssl.truststore.password=zookeepbookbrk0
ssl.keystore.location=/var/www/kafka/ssl/kafka.broker-0.keystore.jks
ssl.keystore.password=zookeepbookbrk0
ssl.key.password=zookeepbookbrk0
security.inter.broker.protocol=SASL_SSL
ssl.client.auth=none
ssl.protocol=TLSv1.2

sasl.enabled.mechanisms=SCRAM-SHA-512
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512
listener.name.sasl_ssl.scram-sha-512.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username='broker-admin' password=DEM123;
super.users=User:broker-admin
authorizer.class.name=kafka.security.authorizer.AclAuthorizer

共有1个答案

李兴为
2023-03-14

你能试着给你的动物园管理员设置“skipACL=yes”吗。属性?如果在创建“broker admin”用户时使用SSL客户端证书与Zookeeper进行身份验证,我认为这是因为从执行命令的地方以外的地方访问被拒绝。

 类似资料:
  • 我坐下来试着实施脑力操。语法似乎很简单。我很难让这个愚蠢的东西发挥作用。我做这件事已经有一段时间了;我承认我需要一些睡眠。也许这就是问题所在。翻译没有输出任何东西。我很确定问题很简单;我知道,在我更好地掌握了这个程序的发展方向之后,我需要对一些函数调用进行模块化。为什么我没有得到输出? 是大脑操的“你好世界”

  • 我使用的是Confluent Community 6.0.1。三个节点Kafka集群: devKafka04:Kafka Broker1、Zookeeper 1 开发Kafka05: Kafka经纪人2, 动物园管理员 2 devKafka06:Kafka经纪人3,动物园管理员3 SSL加密已经在Kafka经纪人上运行良好。 我想添加SASL以启用Kafka和Zookeeper之间的相互身份验证。

  • 我一直在为一个小网站试用Hanami。它在生产中有非常严格的默认安全设置。以下是服务器响应标题: 导致: 我的内容安全策略标头中的某些内容不允许ReCaptcha工作。请记住,它在localhost的开发中运行良好,具有以下响应头: 下面是为生产定义CSP的块: 看起来我需要添加一个权限来加载脚本。我遵循谷歌自己的CSP规则。 这里有什么问题? 编辑:看起来安全策略不允许我加载脚本,因为页面中缺少

  • 我将开始讲述我想要实现的目标。所以我的设置是: > 6 VM运行Ubuntu 14.04版本 - 在其中3个中,我已经设置了Kafka,在3中,我创建了动物园管理员实例。 我开始生产和消费,一切似乎都很好,没有问题。 现在我想使用kafka 0.9版本的SSL来保护设置。我只想在客户端和kafka代理之间设置SSL,以便它们能够安全通信。我遵循以下链接。 我所做的唯一更改是:我用kafka代理的I

  • 本文向大家介绍如何实现Java线程安全问题,包括了如何实现Java线程安全问题的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何实现Java线程安全问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 解决线程安全问题的第一种方案:使用同步代码块 格式:   synchronized(锁对象) {     可能会出现线程安全问题的代码

  • When using any of the threaded mpms in Apache 2.0 it is important that every function called from Apache be thread safe. When linking in 3rd party extensions it can be difficult to determine whether t