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