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

Sumit Mohanty commented on AMBARI-2174:
---------------------------------------

*ambari-server/conf/unix/ambari.properties*
* ...isPersisted --> ...persisted (other true/false properties do not seem to 
use "is"

*ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java*
* sort the import statements
* MASTER_KEY_FILENAME_DEFAULT - should we use a more descriptive name such as 
"master.key" or "ambari.master.key"? 
* credentialProvider (it will be initialized to null by default)
* should loadCredentialProvider() use a lock around instantiating the provider?
* getDatabasePassword() - use { } within the if-else - similar to 
readPasswordFromStore
* isMasterKeyPersisted() - properties.getProperty(MASTER_KEY_PERSISTED, 
"true"); - this will return true if the property does not exist. Is this by 
design?
* getMasterKeyLocation - Can you check the default value for 
MASTER_KEY_LOCATION - I was not sure if 
{code}properties.getProperty(SRVR_KSTR_DIR_KEY +
        File.separator + MASTER_KEY_FILENAME_DEFAULT,
        SRVR_KSTR_DIR_DEFAULT + File.separator + 
MASTER_KEY_FILENAME_DEFAULT){code} produces the desired default.

*ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java*
* does not seem to have any changes.

*ambari-server/src/main/java/org/apache/ambari/server/security/CertificateManager.java*
* no change here either

*ambari-server/src/main/python/ambari-server.py*
* Could we have used "update_ambari_properties" instead of defining 
"update_properties"

TBD: ambari-server/src/main/java/org/apache/ambari/server/security/encryption
                
> Eliminate cleartext LDAPS credentials from Ambari props files
> -------------------------------------------------------------
>
>                 Key: AMBARI-2174
>                 URL: https://issues.apache.org/jira/browse/AMBARI-2174
>             Project: Ambari
>          Issue Type: Task
>          Components: controller
>    Affects Versions: 1.2.5
>            Reporter: Siddharth Wagle
>            Assignee: Siddharth Wagle
>             Fix For: 1.2.5
>
>         Attachments: AMBARI-2174.patch
>
>
> Observations:
> - Currently we use the Java Keystore for storing server and agent SSL 
> certificates. The keystore is a storage facility for cryptographic keys and 
> certificates and is guarded by a password.
> Presently what we do is generate a random 50 character long alphanumeric 
> keystore password, the first time ambari starts with permissions 644. (should 
> be 600)
> {noformat}
> -rw-r--r--. 1 root root   50 May 13 13:49 pass.txt
> {noformat}
> - Database password in ambari.properties, this is not clear text and is store 
> in a file with appropriate ACL.
> {noformat}
> -rw-------. 1 root root 7 May 13 13:49 /etc/ambari-server/conf/password.dat
> {noformat}
> Need to discuss the flow of enabling LDAP access to Ambari in order to 
> suggest a flexible approach.
> Important considerations:
> - Any cryptographic technique that requires encryption and decryption has 
> understood weakness that the private key is protected by the appropriate ACL. 
> Even if we encrypt passwords in the configuration files, the key used for 
> achieving the encryption needs to be protected.
> - One decent solution is, prompt the user for a passphrase and use the 
> non-invertible secure digest (such as sha-1) of the password to lock the 
> keystore. This same password can be used to encrypt LDAP credentials. In this 
> approach we need to prompt the admin to provide the LDAP password when 
> configuring a LDAP user for the first time and then write the encrypted 
> password into the configuration file. Alternately, we can ask for the same 
> during ambari-server setup, but that would be less flexible.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to