管理加密连接字符串(IIS)的部署

时间:2013-01-30 16:20:15

标签: security iis encryption iis-7 connection-string

我在计算机上跑了

aspnet_regiis -pe "connectionStrings" -app "/MyApp" -site "MySite"

它创建了一个encripted< connectionStrings> Web配置中的xml元素

现在,每当我将我的应用程序转移到新环境时 web.config正在“web转换”为新的web.config然后部署 我知道每台机器的加密是唯一的。 我试图复制加密值,但它没有用。

  1. 我需要在每台机器上运行“aspnet_regiis -pe ...”命令运行时间吗?
    有更好的做法吗?
  2. 我的机器在识别中使用的计算机中的唯一键是什么/哪里? 我是否需要保护它以防止潜在的攻击? 谢谢。

1 个答案:

答案 0 :(得分:1)

1)是的,我建议将未加密的web.config文件部署到新服务器,然后在“部署过程”中运行加密命令。

2)操作系统和框架应该为您保护默认加密密钥。您可以通过以下链接了解有关所有内容的更多信息:

http://msdn.microsoft.com/en-us/library/dtkwfdky%28v=vs.100%29.aspx

“本演练使用在Machine.config文件中指定的默认RsaProtectedConfigurationProvider提供程序,并命名为”RsaProtectedConfigurationProvider“。默认RsaProtectedConfigurationProvider提供程序使用的RSA密钥容器名为”NetFrameworkConfigurationKey“。” EM>

请记住,用于加密/解密web.config文件的密钥不是计算机密钥(它是独立的)。但是,如果您要部署到Web场,则还需要确保机器密钥一致,否则您将看到出现奇怪的错误。