在配置中保护纯文本密码

Nat*_*n Q 8 java security

在Web应用程序中,您必须存储用于连接数据库的密码.这主要在纯文本的配置文件中完成.

我一直在寻找使这更安全,并看到Jasypt(www.jasypt.org),这使得加密这些密码成为可能.但是你仍然需要一把钥匙来解密这些,这只会解决问题.然后我将此键移动到系统环境变量,因此它至少在应用程序之外.但我仍然认为这并没有真正改变很多?

其他人如何解决这个问题?

Mar*_*tin 4

不要将生产密码存储在源代码内的配置文件中。

这将使任何有权访问代码的人成为事实上的管理员。在生产服务器上设置环境变量是一个好方法。您可以让应用程序从那里检索值,并为不同的环境(开发、测试、实时)提供不同的值。例如,这允许系统管理员知道生产密码(无论如何他们都可以访问,这是他们的工作),而不要求开发人员知道它们。

根据我的经验,效果很好。