Apache zookeeper zookeeper即使使用sasl身份验证也不安全

Apache zookeeper zookeeper即使使用sasl身份验证也不安全,apache-zookeeper,Apache Zookeeper,我正在配置一个kafka集群,其中包含3个代理节点和3个zookeeper节点。我实现了融合文档中提到的安全性,添加了属性authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider 及 requireClientAuthScheme=sasl 并将KAFKA_OPTS=-Djava.security.auth.login.config=/usr/local/confluent/etc/KAFKA/zooke

我正在配置一个kafka集群,其中包含3个代理节点和3个zookeeper节点。我实现了融合文档中提到的安全性,添加了属性
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
及 requireClientAuthScheme=sasl

并将
KAFKA_OPTS=-Djava.security.auth.login.config=/usr/local/confluent/etc/KAFKA/zookeeper_jaas.conf
添加到我的systemd文件中

但是当我从集群外部使用zookeeper cli时,我可以看到zNode

我做错了什么

编辑:

我的zookeeper属性文件中的config requireClientAuthScheme=sasl退出

附言


SSL和SASL未启用。这可能会影响旧znode?我需要迁移吗?要在创建的旧对象上应用安全性?

您需要在zookeeper.properties中使用
requireClientAuthScheme=sasl
,并在zookeeper JVM命令行中使用
-Dzookeeper.requireClientAuthScheme=sasl
。您还需要在zookeeper.properties中设置
secureClientPort
而不是
clientPort


请参阅“要求所有连接使用SASL身份验证”一节存在于我的系统文件中我已经更新了答案-您是否在zookeeper.properties中设置了
clientPort
?指定该值将意味着仍有一个纯文本侦听器在运行。我禁用了clientPort,并在我的zookeeper.properties中添加了secureClientPort。我收到了此错误<代码>原因:java.lang.IllegalArgumentException:clientPort未设置
我使用的是confluent zip文件实际上,我可以使用zookeeper cli连接到我的安全群集,但在只读模式下,我尝试执行
rmr/borkers/topics
我的身份验证失败,因此,正如confluent所建议的,如果您不想限制对zookeeper的访问,您可以使用网络限制<代码>secureClientPort使用confluent中的包时的未知属性