Hello,

I have Kafka cluster deployed into Kubernetes. And I have several
producers/consumers that are deployed in the same kubernetes cluster.

We use TLS between Kafka Brokers and clients.
I noticed that in case if users have the wrong configuration and can't
properly SSL/TLS handshake they are producing a ton of requests. And these
requests impact cluster resource usage: Kafka Brokers CPU is used 95-100%,
request latency is quite big, etc.
So the question is there any way to configure rate limit or throttling for
initial TLS/SSL handshake, or attempts? Of course, we will fix our clients,
but such requests may be used for DDoS attack on the Kafka cluster.
Here is log snippet:
2019-07-16 19:16:15,684 INFO [SocketServer brokerId=1] Failed
authentication with /100.98.90.5 (SSL handshake failed)
(org.apache.kafka.common.network.Selector)
[data-plane-kafka-network-thread-1-ListenerName(CLIENTTLS)-SSL-6]
2019-07-16 19:16:15,685 INFO [SocketServer brokerId=1] Failed
authentication with /100.101.247.126 (SSL handshake failed)
(org.apache.kafka.common.network.Selector)
[data-plane-kafka-network-thread-1-ListenerName(CLIENTTLS)-SSL-6]
2019-07-16 19:16:15,685 INFO [SocketServer brokerId=1] Failed
authentication with /100.101.247.126 (SSL handshake failed)
(org.apache.kafka.common.network.Selector)
[data-plane-kafka-network-thread-1-ListenerName(CLIENTTLS)-SSL-6]
2019-07-16 19:16:15,685 INFO [SocketServer brokerId=1] Failed
authentication with /100.98.90.5 (SSL handshake failed)
(org.apache.kafka.common.network.Selector)
[data-plane-kafka-network-thread-1-ListenerName(CLIENTTLS)-SSL-6]
2019-07-16 19:16:15,688 INFO [SocketServer brokerId=1] Failed
authentication with /100.107.135.16 (SSL handshake failed)

--
Andrii

Reply via email to