Wei-Chiu Chuang created HADOOP-12862:
----------------------------------------

             Summary: LDAP Group Mapping over SSL can not specify trust store
                 Key: HADOOP-12862
                 URL: https://issues.apache.org/jira/browse/HADOOP-12862
             Project: Hadoop Common
          Issue Type: Bug
            Reporter: Wei-Chiu Chuang


In a secure environment, SSL is used to encrypt LDAP request for group mapping 
resolution.
We (+[~yoderme], +[~tgrayson]) have found that its implementation is strange.

For information, Hadoop name node, as an LDAP client, talks to a LDAP server to 
resolve the group mapping of a user. In the case of LDAP over SSL, a typical 
scenario is to establish one-way authentication (the client verifies the 
server's certificate is real) by storing the server's certificate in the 
client's truststore.

A rarer scenario is to establish two-way authentication: in addition to store 
truststore for the client to verify the server, the server also verifies the 
client's certificate is real, and the client stores its own certificate in its 
keystore.

However, the current implementation for LDAP over SSL does not seem to be 
correct in that it only configures keystore but no truststore (so LDAP server 
can verify Hadoop's certificate, but Hadoop may not be able to verify LDAP 
server's certificate)

I think there should an extra pair of properties to specify the 
truststore/password for LDAP server, and use that to configure system 
properties {{javax.net.ssl.trustStore}}/{{javax.net.ssl.trustStorePassword}}

I am a security layman so my words can be imprecise. But I hope this makes 
sense.

Oracle's SSL LDAP documentation: 
http://docs.oracle.com/javase/jndi/tutorial/ldap/security/ssl.html
JSSE reference guide: 
http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to