I am trying to deploy a brand new Kafka cluster and trying to do it "the right way". I am thinking about TLS everywhere, with my own private CA.

I wonder about the CRL management.

I know I can enable CRL in Kafka via

KAFKA_OPTS: "-Dcom.sun.security.enableCRLDP=true -Dcom.sun.net.ssl.checkRevocation=true"

as described in https://jeqo.github.io/notes/2022-02-09-kafka-ssl-crl/, but I wonder how the CRL is managed:

1. If kafka only fetches the CRL when the server is launched, it will miss new revocations until reboot. Is "nextupdate" CRL field honored after that (via new fetches)?

2. What happens if the CRL URL timeouts or gives an error? the behaviour is different when kafka starts compared with "nextupdate" updates, if they work as expected? I don't want a single point of failure because of this...

3. I wonder if Kafka can be configured to check the CRL from a local file. If that is the case, is the file reloaded when changed or only read when kafka boots?. If this configuration is possible, how can it be enabled?. What happens if "nextupdate" is in the past?

Apparently "librdkafka" (for clients) can use a local file CRL using "ssl.crl.location". Would this file work if "nextupdate" is in the past? When is the file loaded, at launch time or everytime a validation is needed?

Do you have any advice?

Thanks a lot.

--
Jesús Cea Avión                         _/_/      _/_/_/        _/_/_/
j...@jcea.es - https://www.jcea.es/    _/_/    _/_/  _/_/    _/_/  _/_/
Twitter: @jcea                        _/_/    _/_/          _/_/_/_/_/
jabber / xmpp:j...@jabber.org  _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz

Reply via email to