加密Web场中的web.config

时间:2009-06-10 14:41:41

标签: asp.net security web-config

嗨,伙计们, 我不知道这个问题是否早先被问过。 但我想加密我的web.config中的连接字符串。我的应用程序将部署在Web场中。

我试过阅读一些关于此的博客,但感到困惑。 有人可以告诉我一个他们真正尝试并成功的链接。

3 个答案:

答案 0 :(得分:3)

您可能已经考虑过这一点,但如果没有:RSAProtectedConfigurationProvider可以使用机器级或用户级密钥进行加密。默认值为机器级别。这意味着您无法对web.config进行一次加密,并将其部署到Web场中的每台计算机上。您必须在每台计算机上加密它,因为加密和解密的密钥只存在于该计算机上。

您可以使用用户级密钥或在所有Web场计算机上共享密钥来解决此问题:

答案 1 :(得分:2)

我们使用the RSA Protected Configuration provider。那页不是轻读,但它有你需要的东西。

我推荐这样的命令(文章中的例子):

aspnet_regiis.exe -pef“connectionStrings”C:\ Projects \ MachineRSA

答案 2 :(得分:1)

在加密连接字符串之前,请考虑加密它们时要防范的内容。您的应用程序需要按顺序访问明文连接字符串,因此需要访问密钥。因此,攻击者破坏您的ASP.Net应用程序可能会窃取密钥和受保护的连接字符串。因此加密并没有带来太多好处。

不是加密,而是关注操作人员处理该文件的方式以及生产中应用的文件权限。仅允许对应用程序运行的ASP.Net工作线程池帐户进行“读取”访问。