这篇文章有点类似于下面的链接。不幸的是,我没有足够的声誉在那里问一个问题,所以我在这里问这个问题。
对于在Azure部署中将密码存储在Web.config中的正确过程感到困惑
如果您要部署到Azure,则上面的帖子似乎运行良好,因为Azure为您提供了一个UI来存储敏感数据,例如:密码和密钥。因此,无需外部文件。但是,如果我没有部署到Azure,则假定此功能无法通过其他Web托管公司使用,因此该答案不适用。
我的问题是,什么是最好的保护敏感数据免于通过Internet传输和恶意用户的方法,这些恶意用户设法获取包含敏感数据的* .config文件?我的一些想法如下。
1.)将敏感数据放置在目录树上的两个文件夹中的外部文件(AppSettingsSecrets.config)中吗?
2.)将敏感数据放置在同一项目中的外部文件(AppSettingsSecrets.config)中,但将文件的构建操作设置为None?
3.)将敏感数据放置在web.config文件中,但是对包含敏感数据的文件部分进行加密吗?
在* .config文件本身中保护敏感数据的原因是,如果恶意用户设法获取包含敏感数据的文件,则将阻止他们读取敏感数据。所有这三个选项似乎仅解决了第一个问题(防止敏感数据数据通过Internet传输),但是选项3似乎也仅解决了防止获得* .config文件的恶意用户读取敏感内容的问题。如果真是这样,那么关于放置敏感数据的文件和该文件的位置,似乎所有三个选项都没有意义。只需加密web.config文件中包含敏感数据的部分并继续。我想念什么吗?
我会尽力提出您已经提到的建议。最安全的方法是不要将敏感数据尽可能多地放入Web配置中,如果确实需要敏感数据,则必须使用选项3的此方法对其进行加密,然后继续!
等等,继续前进到什么?您必须继续进行应用程序的其他安全方面。保护Web配置部分并不能保证提供全面的保护。您必须加强服务器,安全通信,进行渗透测试或进行在线漏洞测试,甚至进行源代码扫描。听起来听起来有些矫kill过正,但如果您真的想减轻安全性问题,那我必须提到。我说减轻是因为现在你和我再也没有安全了!除非您未连接到互联网,否则不会。:)
更新:这些是可以帮助您的工具。有些是免费的,有些则不是。不仅限于此
如果您不想自己做,可以将这种安全测试委托给whitehatsec之类的第三方。
好吧,这就是我所拥有的。我出去了!:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句