Kafka brokers have their certificates generated with a common CN per cluster, e.g. kafka_main-eqiad_broker.
This prevents the client to verify the hostname of the brokers it connects to:
openssl s_client -CAfile /etc/ssl/certs/ca-certificates.crt -verify_hostname kafka-main2001.codfw.wmnet kafka-main2001.codfw.wmnet:9093 <<< "Q" CONNECTED(00000003) depth=0 CN = kafka_main-codfw_broker verify error:num=62:Hostname mismatch verify return:1 [...]
Regarding existing clients:
- kafka-python requires to explicitly disable hostname verification, c.f. P17333
- librdkafka has hostname verification disabled by default but can be enabled setting ssl.endpoint.identification.algorithm to HTTPS, c.f. P17334
- java clients have not been tested
Ref: