如何使Kafka普通身份验证更安全?

8ljdwjyq  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(483)

我对Kafka认证的不同协议和机制感到困惑。
类似于这里的问题:
kafka是否可以提供自定义loginmodule来支持ldap?
我已经创建了自己的plainloginmodule,它使用ldap来验证客户端提供的用户名/密码。
我有什么办法让这更安全吗?发送明文密码进行身份验证似乎不安全。如果可能的话,我也不希望在客户端jaas文件中使用明文密码。
如果我使用ssl,我还能使用ldap服务器进行身份验证吗?Kafka的配置会发生怎样的变化。当前形态:

listeners=SASL_PLAINTEXT://:9092
advertised.listeners = SASL_PLAINTEXT://kafka:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
nwlls2ji

nwlls2ji1#

有两种方法可以使其更安全:
使用sasl\u ssl监听器将sasl身份验证 Package 到ssl加密中。您仍然可以通过自定义模块使用ldap。
使用一种更安全的sasl机制。普通机制将通过不安全的网络发送密码。您可以改为使用一种支持的紧急停堆机制,它不会通过网络发送密码,而是使用更复杂的握手。Kafka支持scram-sha-256和scram-sha-512。但是,紧急停堆机制不能与ldap一起工作-它们将凭证(而不是直接密码)存储在zookeeper中。紧急停堆机制当然也可以与ssl相结合。

yh2wf1be

yh2wf1be2#

是的,您可以使用sasl\u ssl侦听器。这将使用sasl进行身份验证,然后对使用ssl发送的数据进行加密。如果您想要更安全的身份验证,应该考虑使用gssapi sasl机制。ldap和kerberos集成是一种常见的做法,因此您没有公开的凭据。

相关问题