Some deployments of Kinetica may require that plain-text passwords in configuration files be obfuscated, for security reasons. A method for doing so has been made available via a set of scripts.
The encryption key generated for performing the obfuscation will be available to
the root
and gpudb
users to encrypt/decrypt passwords, as
necessary.
Three utilities are provided to enable obfuscation of plain-text passwords in configuration files.
All scripts are located under /opt/gpudb/core/bin
.
Script | Description | ||||||
---|---|---|---|---|---|---|---|
gpudb_generate_key.sh |
Generates an encryption key for use in plain-text obfuscation | ||||||
gpudb_encrypt.sh [<options>] "plain text" |
Returns the obfuscated version of the given plain text
|
||||||
gpudb_decrypt.sh [<options>] <obfuscated text> |
Returns the plain text version of the given obfuscated text
|
A common use case is in obfuscating the plain-text LDAP password in the HTTPD configuration file when external authentication or external authentication w/ SSL is configured.
To encrypt the AuthLDAPBindPassword in the
/opt/gpudb/httpd/conf/data.conf
file:
Generate a new encryption key, if one does not already exist:
$ /opt/gpudb/core/bin/gpudb_generate_key.sh
Obfuscate the LDAP bind password to be used:
$ /opt/gpudb/core/bin/gpudb_encrypt.sh "secret password"
U2FsdGVkX18hfxI6MtztCHZIrrVpkhqmzuB/hGZ3b0umiYNFOtpSIS2JlAhWamTk
The obfuscated password can be verified by decrypting it:
$ /opt/gpudb/core/bin/gpudb_decrypt.sh U2FsdGVkX18hfxI6MtztCHZIrrVpkhqmzuB/hGZ3b0umiYNFOtpSIS2JlAhWamTk
secret password
Modify the /opt/gpudb/httpd/conf/data.conf
file's
AuthLDAPBindPassword with the obfuscated password and decryption
command:
## Password of user for search during bind
AuthLDAPBindPassword "exec:/opt/gpudb/core/bin/gpudb_decrypt.sh U2FsdGVkX18hfxI6MtztCHZIrrVpkhqmzuB/hGZ3b0umiYNFOtpSIS2JlAhWamTk"