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

Eugene Koontz commented on ZOOKEEPER-1497:
------------------------------------------

Hi Matteo, 
It looks like a good design overall. 

It's good that we now have (with this patch) zookeeper.sasl.serverconfig as 
well as the existing zookeeper.sasl.clientconfig (from ZOOKEEPER-1373).

I think ServerCnxnFactory.configureSaslLogin() could use some documentation 
about why we throw a caught exception or ignore it.

Some logging at ERROR or WARN level where appropriate, to help ZK admins 
diagnose configuration problems (for example, what if 
zookeeper.sasl.serverconfig references a non-existent JAAS configuration 
section? or, what if java.security.auth.login.config points to a non-existent 
file, but Configuration has been set programmatically and is valid, should we 
ignore the non-existent file and login with the valid Configuration?)

Some additional tests would be good as the QA bot mentioned. See 
SaslAuthDesignatedClientTest.java from ZOOKEEPER-1373 for how I added more 
configuration testing on the Client side. 

Would be nice to test programmatically-set JAAS configuration. Rather than 
writing a string to a temporary file and then setting 
java.security.auth.login.config to point to it, instead, we'd build a 
javax.security.auth.login.Configuration in code in the tests and then call 
Configuration.setConfiguration() (if I understand the API correctly).


                
> Allow server-side SASL login with JAAS configuration to be programmatically 
> set (rather than only by reading JAAS configuration file)
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1497
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1497
>             Project: ZooKeeper
>          Issue Type: Improvement
>          Components: server
>    Affects Versions: 3.4.3, 3.3.5
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>              Labels: security
>         Attachments: ZOOKEEPER-1497-v1.patch
>
>
> Currently the CnxnFactory checks for "java.security.auth.login.config" to 
> decide whether or not enable SASL.
> * zookeeper/server/NIOServerCnxnFactory.java
> * zookeeper/server/NettyServerCnxnFactory.java
> ** configure() checks for "java.security.auth.login.config"
> *** If present start the new Login("Server", SaslServerCallbackHandler(conf))
> But since the SaslServerCallbackHandler does the right thing just checking if 
> getAppConfigurationEntry() is empty, we can allow SASL with JAAS 
> configuration to be programmatically just checking weather or not a 
> configuration entry is present instead of "java.security.auth.login.config".
> (Something quite similar was done for the SaslClient in ZOOKEEPER-1373)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to