kawansoft/aceql-http

Encrypt database usernames and passwords

mukhtarhussain opened this issue · 9 comments

Hi Nicolas,

Is it possible to encrypt database usernames and passwords in aceql-server.properties file? Leaving such sensitive info in plain text can be a security risk.

Cheers,
Mukhtar

Hi Mukhtar,

It depends:

  • No, it is not possible for now in an easy and standard way with current configuration files.
  • Yes, it can be done with the current version, but you have to write your own DatabaseConfigurator and create the Tomcat JDBC Poool.

This should be implemented in the next version We have before to look for a clean crypto third party implementation.

Please note that this option activation will require to input the master password at each server startup, so the AceQL server restart can not be automatically done at reboot when using encrypted passwords.

Regards,
N.

Hi Nicolas,

Yeah, I read about Advanced Connection Pool Management, but since I haven't code in Java for long time, it might take lot of efforts at my end. So I guess I will wait for the next version. Is there any rough timeframe when this feature would be released? Thanks.

Cheers,
Mukhtar

Hi Mukhtar,
Security is very important; we plan for asap this December.

Awesome. Thanks Nicolas. :)

Hey Nicolas,

I hope you are doing well.

Just wanted to know how is it going with the above change request? Are you still aiming for the release this month?

Cheers,
Mukhtar

Hi Mukhtar,
Version that supports encryption for usernames and passwords is planned to be released this December, or the first week of January 2021 at latest.
Regards,
N.

Great!! Thanks for the update Nicolas. :)

Cheers,
Mukhtar

Hi Mukhtar,
I'm happy to announce that our just released 7.0 version supports now usernames & passwords encryption in the aceql-server.properties file.

Howto:

Open a command line session and:
java -jar <install-dir>/lib-server/properties-encryptor-7.0.jar

Follow the instructions to choose password & encrypt property values.
Then replace in your aceql-server.properties the clear values with the encrypted ones.

See the Javadoc of PropertiesPasswordManager in order to provide the password to AceQL at runtime for decryption.

Regards,
N.