I am trying to build a NMS (network management system) and I am required to store passwords for 3rd party databases, devices and servers that are being managed (not user passwords). These passwords need to be able to be retrieved as plain text in order to login to the devices, connect to the remote databases.
I would like to know the best practices for storing such passwords either in a database or a text file. My current approach is that, store the password as base64 encoded in a text config file and decode it in the source code. Only the developers have read/write access to the config file and source code. No other users on the dev/prod server can read these files. Do you think this is a safe approach?
And yes, I have this answer, but in my particular case, I am not dealing with user account passwords, but instead I am dealing with passwords for logging into the devices that are being managed. True, if someone gets hold of such passwords, they can easily login to the box and "reload/reboot".
Also, because the NMS is all about automation (and assuming I will be running multiple cronjobs), I cannot expect the NMS tool to be prompted for passwords.