[ 
https://issues.apache.org/jira/browse/KAFKA-9284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16998375#comment-16998375
 ] 

ASF GitHub Bot commented on KAFKA-9284:
---------------------------------------

rondagostino commented on pull request #7843: (DO NOT MERGE) KAFKA-9284: 
Zookeeper TLS docs and system tests
URL: https://github.com/apache/kafka/pull/7843
 
 
   Initial commit, just a working system test for now, no docs.
   
   I discovered that mutual authentication is required, so client needs
   a key store in addition to a trust store.  Also, client key store
   password must be the same as any password associated with the key in
   that key store -- if the passwords don't match (or if the key store is
   not specified at all) then the client wil be unable to connect to
   Zookeeper on the TLS clientSecurePort.
   
   Specifying the required parameters (e.g. key/trust store locations and
   password, etc.) currently must be done via Java system properties, and
   it is possible to define system properties via "-D" flags at the command
   line.  This is less than desireable because command line arguments are
   insecure.  A better approach would be to specify them in a .properties
   file and have the JVM read them from there.  This might be doable by
   alowing the bin/kafka-run-class.sh script to accept a pair of parameters
   (e.g. -sysprops /path/to/system.properties) and invoke a wrapper class
   when loading system properties from a file is requested; the wrapper
   class could read and apply the system property definitions before
   forwarding the invocation to the intended class.  Adding actual Kafka
   configs is another option, but I think that would only apply to the
   brokers -- command line tools (Zookeeper security migration tool, etc.)
   would still need a separate solution.
   
   If/how client certificate authentication can work with the Zookeeper
   security migration tool (which adds ACLs to lock down znodes) is an
   open question and requires more investigation.  For example, can SASL
   authentication work on top of certificate authentication?  If so then
   it is perhaps an acceptable first pass to leave things as they are --
   only support applying Zookeeper ACLs on the SASL identity.  But if not,
   or if we wish to support ACLs based on the certificate identity, then
   we have to investigate how this can be done (maybe no change is needed)
   and also if we can support adding ACLs multiple certificate identities.
   If we can't support ading ACLs for multiple certificate identities then
   we would be constrained to all brokers authenticating with the same
   certificate.  So there is investigation to be done here.
   
   KIP 515 was opened to address some of the above issues but it has been
   dormant for a while (and the number 515 was actually already taken by
   another KIP); this KIP might need to be revived (with a new KIP number).
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Add documentation and system tests for TLS-encrypted Zookeeper connections
> --------------------------------------------------------------------------
>
>                 Key: KAFKA-9284
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9284
>             Project: Kafka
>          Issue Type: Improvement
>          Components: documentation, system tests
>    Affects Versions: 2.4.0
>            Reporter: Ron Dagostino
>            Assignee: Ron Dagostino
>            Priority: Minor
>
> TLS connectivity to Zookeeper became available in the 3.5.x versions.  Now 
> with the inclusion of these Zookeeper versions Kafka should supply 
> documentation that distills the steps required to take advantage of TLS and 
> include systems tests to validate such setups.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to