2

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

使用 Azure Cloud 时,Web.config 中的 DB ConnectionString 是否需要加密?

但是,我的印象是没有人可以通过允许他们读取 web.config 的方式访问 Web 角色实例。

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

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

4

2 回答 2

4

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

接下来,不要忘记软件中存在漏洞。有时可能会在 IIS 中发现允许轻松下载 web.config 的漏洞。

接下来,如果您碰巧customErrors关闭并且您在 web.config 中配置错误,那么任何对您的 Web 角色发出 HTTP 请求的人都可能会看到来自 IIS 的错误消息,指出 web.config 中的这个和那个配置错误并显示发生错误配置的 web.config 的一部分。这可能会暴露你的秘密——这里有一个类似暴露的例子。不太可能,但在技术上是可能的。

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

所以像往常一样没有绝对的安全。你所能做的就是提高标准。以加密形式正确存储连接字符串肯定会提高标准。

您可能还对这个相关问题的答案感兴趣。

于 2012-06-26T13:11:22.397 回答
0

除了@sharptooth 关于 Web 应用程序和云安全的一般要点之外,如果您之前已将其配置为直接连接到 Azure Web/Worker 角色,也可以这样做:

MSDN:将远程桌面与 Windows Azure 角色一起使用

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

以下是我参考的服务定义和配置部分的参考: MDSN:如何定义和配置远程桌面连接

于 2012-07-09T13:38:17.073 回答