Replies: 2 comments 12 replies
-
happy to share any other output, if needed. |
Beta Was this translation helpful? Give feedback.
11 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
A client running on a different GKE cluster is able to connect to a Strimzi-managed Kafka cluster without providing a client-side certificate, despite TLS authentication being enabled on the external listener.
Expected vs. Actual Behavior
Expected: When a client without a valid certificate attempts to connect, the connection should fail with an SSL authentication error.
Actual: Clients are able to connect even without a certificate, despite TLS and client authentication being enabled.
The expectation is that connections without valid TLS client certificates should be rejected with an SSL handshake failure. However, the client is able to establish a connection and send/receive messages without authentication.
Kafka version: 3.6.2
Strimzi Operator version: 0.42.0
Deployment: Kraft mode with external listener using TLS
Cluster Type: GKE
Kafka Cluster Definition:
Reproduction Steps
Deploy Strimzi Kafka with TLS authentication enforced on the external listener (type: loadbalancer with authentication: tls).
Start a client pod in a different GKE cluster without any Kafka TLS certificates.
Run the Kafka producer without specifying any client-side certificate:
Inside the client pod
bash kafka-console-producer.sh
--bootstrap-server kafka-bootstrap-sit.cluster1-np.gcpnp.com:9094
--topic sit.v1.test.topic.01
]#
[root@kafka-producer-755fbc5bd8-n7zx9 bin]# bash kafka-console-producer.sh --bootstrap-server kafka-bootstrap-sit.cluster1-np.gcpnp.com:9094 --topic sit.v1.test.topic.
01
The producer is able to send messages without an SSL error, despite TLS authentication being enabled.
Verify the same behavior for a consumer:
bash kafka-console-consumer.sh
--bootstrap-server kafka-bootstrap-sit.cluster1-np.gcpnp.com:9094
--topic sit.v1.test.topic.01 --from-beginning
bash kafka-console-consumer.sh --bootstrap-server kafka-bootstrap-sit.cluster1-np.gcpnp.com:9094 --topic sit.v1.test.topic.01 --from-beginning
hi
{"paymentUid":21,"userId":"user1","amount":100.0,"status":null}
{"paymentUid":21,"userId":"user1","amount":100.0,"status":null}
{"paymentUid":21,"userId":"user1","amount":100.0,"status":null}
I am able to connect to bootstrap server, even when tls is enabled & for this pod am not using any client side cert & ideally it should fail with ssl error
Not failing to connect
The consumer is able to receive messages without authentication.
This is a critical security issue, as it allows unauthenticated access to the Kafka cluster even when TLS is explicitly configured. A fix or workaround is needed to prevent unauthorized clients from connecting.
Looking for
Confirmation if this is a known issue.
A fix or workaround to ensure proper TLS enforcement.
Any additional configurations required to enforce client authentication.
Beta Was this translation helpful? Give feedback.
All reactions