ASP.NET。对于任何非Azure部署,在* .config文件中管理敏感数据的最佳实践是什么?

韦兹

这篇文章有点类似于下面的链接。不幸的是,我没有足够的声誉在那里问一个问题,所以我在这里问这个问题。

对于在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过正,但如果您真的想减轻安全性问题,那我必须提到。我说减轻是因为现在你和我再也没有安全了!除非您未连接到互联网,否则不会。:)

更新:这些是可以帮助您的工具。有些是免费的,有些则不是。不仅限于此

  • OWASP -用于渗透测试(免费)
  • Nessus-用于系统加固(企业)
  • CIS CAT-技术堆栈,例如OS,Database,WebServer等(仅限会员)
  • IBM AppScan-用于源代码扫描(企业)

如果您不想自己做,可以将这种安全测试委托给whitehatsec之类的第三方

好吧,这就是我所拥有的。我出去了!:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

对于非Azure生产环境中的ASP.NET Core中的用户机密存储,推荐的解决方案是什么?

ASP.NET MVC哈希敏感数据(EF)

ASP.NET防止暴露敏感数据

在asp.net-mvc中引用特定于PartialView的javascript的最佳实践是什么?

在asp.net mvc中返回错误的最佳实践是什么

使用C#从ASP.Net MVC中的视频文件获取视频元数据的最佳方法是什么?

在ASP.NET MVC中的cshtml视图中添加静态字段名称的最佳实践是什么?

提供/部署带有敏感数据和pip的ini文件的最佳方法

在Next.js中获取非API数据的最佳实践是什么(通过Vercel部署)

从ASP .NET C#中的数据表创建.xls的最佳方法是什么?

在Ionic Framework中使用带有oAuth的ASP.NET Web Api的最佳实践是什么?

在ASP.NET MVC中进行异步编程的最佳实践是什么?

在asp.net核心的标头中处理徽章的最佳实践是什么?

在使用 ASP.NET Core Identity 时存储用户类型特定属性的最佳实践是什么?

在 asp.net core 中更新的最佳方式是什么

ASP.NET Core中的web.config文件的替代方案是什么

在ASP.NET Core API中返回计算数据的最佳实践

ASP.net 核心 MVC 服务文件最佳实践

在asp.net mvc4中每天00:00更新数据库的最佳方法是什么

避免ASP.NET中View重复请求的最佳实践

在ASP.NET Web API中返回错误的最佳实践

ASP.NET Identity中角色与声明的最佳实践

ASP.NET MVC中的最佳实践ViewModel验证

为什么我托管在Azure中的ASP NET Web服务不做任何事情?

ASP.net CORE 下用户定义的配置数据的最佳方法是什么?

将数据从ASP.NET传递到AngularJS的最佳方法是什么?

设置用户输入数据的时间限制的最佳方法是什么?(asp.net mvc)

Azure ASP.NET REST API和数据库部署

将ASP.Net 5 Web App部署到Azure时如何删除现有文件