我正在开发一个与许多外部系统 API:s 交互的系统。他们中的大多数需要某种身份验证。为了可用性,有一个“应用程序范围内可访问”的 AppConfig 存储配置信息以及外部系统的凭据。
我的问题是,将用户名和密码(以明文形式)存储到应用程序配置文件中的外部系统是否是个坏主意。如果是这样,你如何避免它?
为了访问配置文件,您要么必须破坏服务器的文件系统,要么破坏另一台服务器(或者当然是任何开发人员的系统)上的 git 存储库。我一直认为加密配置文件中的密码不会提高安全级别,因为加密密钥也必须存储在某个地方。我错了吗?
我非常感谢您解释您如何解决此问题的答案。
解决方案
好的,这是我的最终解决方案。我使用 OpenSSL 创建了一个简单的库来加密和解密我的敏感数据。加载配置时会从用户那里检索密钥,但存储在文件中的生产服务器上除外。它仍然不是最佳解决方案,但比我之前的“解决方案”要好得多。
谢谢您的回答。我会接受韦恩的回答,因为它提供的信息最多。