存储数据库密码的最佳实践

bes*_*ros 15 java mysql security passwords

我正在开发一个将访问数据库的自定义服务器应用程序.我需要决定将凭据(和地址)存储到该服务器的位置.

常见的解决方案是将凭证放在配置文件中.但是,我不希望受感染的服务器意味着黑客可以访问数据库(托管在单独的服务器上).

我可以将凭据存储在环境中,但这只是通过默默无闻的安全性.Evil先生可以在环境中寻找它.

有人建议加密.但是,如果我将密钥存储在可执行文件中,快速解编译(我们正在使用Java),我仍然注定要失败.

我还想避免每次启动服务器时都输入一个释义.

有什么建议?我觉得我错过了一些简单的事情.

谢谢

T.J*_*der 7

我不认为你错过了一些简单的东西.有问题的服务器可以在没有您帮助的情况下连接到数据库,在这种情况下,它必须具有凭据; 或者没有你提供它就无法连接.您可以采取各种步骤,例如您列出的步骤,使受感染的服务器更难以向数据库显示凭据,但是在一天结束时,是否必须拥有这些凭据并将其提供给数据库服务器要连接,它们必须存储在某个地方 - 或者至少,它必须有一些获取它们的方法,因此在这个意义上是可以破解的.

您最好的选择是尽可能快地找出入侵(受损服务器),为最坏情况保留良好的异地,离线备份,首先为入侵设置许多障碍,等等.