ASP.NETMVC4应用程序:加密Web.Config文件的最佳方法?

ASP.NETMVC4应用程序:加密Web.Config文件的最佳方法?,asp.net,.net,asp.net-mvc,asp.net-mvc-4,encryption,Asp.net,.net,Asp.net Mvc,Asp.net Mvc 4,Encryption,我想知道在ASP.NETMVC4应用程序中加密Web.Config文件的最佳(最安全)方法是什么?我有一些使用C#开发内部应用程序的背景,但由于其他已经存在的安全性,我们从来没有过多地关注加密 编辑:我的主机服务器是ORACLE,如果这改变了什么?一位朋友提到,在部署带有“-pe”参数的代码后,可能会使用aspnet_regiis.exe。有人对这种方法有什么优点/缺点吗 编辑2:ORACLE是数据库,不是服务器!我能回家了吗?!>_ 典型的方法是使用a加密敏感部分。有几种现有的实现。如果需要,

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

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


编辑2:ORACLE是数据库,不是服务器!我能回家了吗?!>_ 典型的方法是使用a加密敏感部分。有几种现有的实现。如果需要,也可以进行加密。

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

您可以使用来加密整个节

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

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

通常,您将使用加密web.config

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

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


通常web.config受文件和文件夹权限的操作系统安全配置保护。如果你的web.config中有一些密码/用户id/等,你可以使用System.Security.Cryptography对它们进行加密,并在应用程序初始化时解密值,然后使用它们。可能的重复可能的重复有其他安全措施,我只是在研究什么可以成为一个好的“标准”当通过我的服务器发布到网上时,用于加密我的文件。我认为DPAPI提供程序听起来可能就是我目前所追求的。那么,我到底应该如何进行更改,比如:?@AnalyticLunatic-下面的演练应该让您开始。如果您还有问题,请再次提问:谢谢Joe!我想我搞错了,应该在之前提到这一点,但如果我使用的是ORACLE服务器,我能使用DPAPI吗?它没有列在我上面链接页面的平台下。@AnalyticLunatic-不确定您所说的“ORACLE服务器”是什么意思-但如果它是Windows服务器,您就可以了。如果不是的话,你大概是在用Mono,我也没办法。实用程序aspnet_regis允许您从命令行加密/解密文件,或者有.NET API以编程方式进行加密/解密。