我在 2 个不同的环境中有 2 个 Kafka 集群。每个都使用 keystore.jks 和 truststore.jks 配置为 SSL。
每个信任库均由组织根 CA 签名。
问题是我可以在客户端中使用环境 1 中的密钥库并连接到环境 2。
这是一个很大的安全漏洞,因为对环境的访问应该很好地分开。
我认为这是因为两个信任库都是由同一个根 CA 签名的?
信任库用于进行身份验证。 keystore密钥的原理(CN名称)用于授权。
客户端和服务器信任库应包含相同的根证书。
必须启用 ACL。
我写了一篇关于它的文章这里
密钥服务器配置请参阅此处
authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:CN=Essexboy1 allow.everyone.if.no.acl.found=false ssl.client.auth=required