【问题标题】:ASP.Net MVC 4 App: Best way to encrypt Web.Config files?ASP.Net MVC 4 App:加密 Web.Config 文件的最佳方式?
【发布时间】:2013-11-10 02:24:54
【问题描述】:

我想知道在 ASP.Net MVC 4 应用程序中加密 Web.Config 文件的最佳(最安全)方法是什么?我有一些使用 C# 开发内部应用程序的背景,但由于已经存在其他安全性,我们从未过多关注加密。

编辑:我的主机服务器是 ORACLE,如果这改变了什么?一位朋友提到在部署我的代码后使用 '-pe' 参数可能会使用 aspnet_regiis.exe。有人对这种方法有任何优点/缺点吗?

EDIT2:ORACLE 是数据库,而不是服务器!我还能回家吗?! >_

【问题讨论】:

  • 通常 web.config 受文件和文件夹权限的操作系统安全配置保护。如果您的 web.config 中有一些密码/用户 ID/等,您可以使用 System.Security.Cryptography 对其进行加密,并在您的应用初始化时解密值然后使用它们。
  • Encrypting Web.Config 的可能重复项

标签: asp.net .net asp.net-mvc asp.net-mvc-4 encryption


【解决方案1】:

典型的方法是使用ProtectedConfigurationProvider 来加密敏感部分。有几个现有的实现。如果需要,您也可以implement your own

【讨论】:

    【解决方案2】:

    我想知道加密 Web.Config 文件最好(最安全)的方法是什么

    “最安全”取决于您要防范的威胁。您可以假设所有标准加密算法都是安全的,但是通过加密 web.config,您只是将 web.config 中保护明文凭据的问题换成了保护加密密钥的问题。

    通常您会使用Protected Configuration 来加密 web.config。

    • 如果您使用 DPAPI 提供程序,您将使用服务器的机器密钥进行加密。这意味着任何可以登录服务器的人都可以破解加密。任何对服务器上包含网站的文件夹具有写入权限的人也可以这样做,因为他们可以上传代码,例如带有嵌入式脚本的 aspx 页面,可以进行解密。如果满足以下条件,这是一个不错的选择:

      • 您的服务器是安全的(不与其他不受信任的应用程序共享,例如托管环境)
      • 您不想将 web.config 复制到其他服务器(例如在网络场中) - 它需要在每台服务器上独立加密。
    • 或者,如果 DPAPI 不满足您的要求,您可能应该使用 RSA 提供程序。您可以使用 ACL 保护密钥免受同一服务器上的其他用户未经授权的访问,并且可以在多个服务器之间共享它。

    【讨论】:

    • 还有其他安全措施,我只是在研究什么可以成为一个很好的“标准”,用于在通过我的服务器发布到网络上时加密我的文件。我认为 DPAPI 提供者听起来可能就是我目前所追求的。
    • 那么我将如何进行更改,例如: 到显示的加密示例:msdn.microsoft.com/en-us/library/…?
    • @AnalyticLunatic - 以下演练应该可以帮助您入门。如有疑问再问:msdn.microsoft.com/en-us/library/dtkwfdky(v=vs.100).aspx
    • 谢谢乔!我认为我搞砸了,应该在之前提到过这一点,但是如果我使用 ORACLE 服务器,我可以使用 DPAPI 吗?它没有在我上面链接页面的平台下列出。
    • @AnalyticLunatic - 不确定您所说的“ORACLE 服务器”是什么意思 - 但如果它是 Windows 服务器,您就可以了。如果不是,您可能正在运行 Mono,我对此无能为力。实用程序 aspnet_regiis 允许您从命令行加密/解密文件,或者有 .NET API 以编程方式进行。
    【解决方案3】:

    您可以使用CryptoAPI 来加密各个配置值。

    您可以使用DPAPI 加密整个部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 2011-01-30
      • 2013-05-07
      • 1970-01-01
      • 2016-12-30
      相关资源
      最近更新 更多