是否可以从部署的Web角色获取web.config?

时间:2012-06-26 09:08:56

标签: azure web-config azure-web-roles

我目前正在尝试为部署到Azure的Web角色加密web.config的优点。这个问题的答案似乎强调了知道谁可以访问实例的重要性:

Shall the DB ConnectionString within Web.config be encrypted when using Azure Cloud?

但是,我认为没有人能够以允许他们阅读web.config的方式访问Web角色实例。

所以我的问题是:是否可以从部署的Web角色获取web.config?

例如:Azure门户中是否有一个我没见过的选项?是否可以通过其他部署进行访问?

2 个答案:

答案 0 :(得分:4)

首先,让web.config内容未加密意味着任何可以访问该服务包的人都可以访问web.config内容 - 这可能比你想要的人多。例如,如果您有自动构建,那么公司中任何看到构建结果的人都会看到该数据。你决定这是否可以接受。

接下来,不要忘记软件中存在漏洞。可能会发生在某些时候,在IIS中发现一个漏洞,允许轻松下载web.config。

接下来,如果您碰巧关闭了customErrors,并且您在web.config中遇到了错误配置,那么对您的Web角色发出HTTP请求的人可能会看到来自IIS的错误消息,说明这一点并且在web.config中配置错误,并显示发生错误配置的web.config的一部分。这可能会暴露你的秘密 - here's an example of similar exposure。不太可能,但技术上可行。

最后,对于所有云提供商而言,您并不真正控制数据中心处理数据的方式。他们可能会丢弃未破坏的磁盘,或者某些员工可能已损坏且您的服务包可能会泄漏。不太可能,但技术上可行。如果您提出类似这样的问题(这是一个非常好的问题),您也应该考虑到这种风险。

与往常一样,没有绝对的安全感。你只能提高标准。正确地以加密形式存储连接字符串肯定会提高标准。

您可能也对this related question的答案感兴趣。

答案 1 :(得分:0)

除了@ sharptooth关于Web应用程序和云安全性的一般要点之外,如果您之前已将其配置为执行此操作,则还可以直接连接到Azure Web / Worker角色:

MSDN: Using Remote Desktop with Windows Azure Roles

可以从Azure管理控制台更改配置。因此,如果您已在服务定义中导入了RDC引用(例如,如果您以前通过RDC连接),则可以始终重新配置角色以允许RDC访问其实例(即使原始RDC帐户具有过期)。

以下是我所引用的服务定义和配置部分的引用: MDSN: How to Define and Configure a Remote Desktop Connection