【发布时间】:2017-02-10 20:51:54
【问题描述】:
这篇文章有点类似于下面的链接。不幸的是,我没有足够的声望在那里提问,所以我在这里提问。
Confused on what is the correct procedure on storing passwords in Web.config for Azure deployment
如果您要部署到 Azure,上面的帖子似乎效果很好,因为 Azure 为您提供了一个 UI 来存储敏感数据,例如;密码和密钥。因此,不需要外部文件。但是,如果我不部署到 Azure,则假定无法通过其他 Web 托管公司使用此功能,因此该答案不适用。
我的问题是,什么是保护敏感数据免受通过 Internet 传输以及设法获取包含敏感数据的 *.config 文件的恶意用户的最佳方法?我的一些想法如下。
1.) 将敏感数据放在目录树上两个文件夹的外部文件 (AppSettingsSecrets.config) 中?
2.) 将敏感数据放在同一个项目中的外部文件 (AppSettingsSecrets.config) 中,但将文件的构建操作设置为无?
3.) 将敏感数据放在 web.config 文件中,但加密文件中包含敏感数据的部分?
在 *.config 文件本身中保护敏感数据的原因是,如果恶意用户设法获取包含敏感数据的文件,他们将无法读取敏感数据。所有三个选项似乎都只解决了第一个问题(防止敏感数据数据通过互联网传输),但选项 3 似乎也只解决了防止获得 *.config 文件的恶意用户读取敏感内容的问题。如果是这种情况,那么对于放置敏感数据的文件以及该文件的位置,这三个选项似乎都没有实际意义;只需加密包含敏感数据的 web.config 文件部分并继续。我错过了什么吗?
【问题讨论】:
标签: asp.net security encryption