【问题标题】:Azure Storage Static Website security issuesAzure 存储静态网站安全问题
【发布时间】:2019-06-05 04:45:51
【问题描述】:

我在 Azure 存储静态网站工作。该网站是公开的,旨在针对 Azure 存储执行操作(管理多媒体 - crud 操作)。恐怕因为它是一个客户端应用程序,任何人都可以使用该代码对存储帐户执行意外操作。任何想法如何保护应用程序免受此影响?此外,我正在寻找一种解决方案,以避免硬编码的密钥/SAS 令牌有权对存储帐户进行操作。我正在考虑使用托管服务标识。由于它处于预览模式,任何人都有过它的经验?

【问题讨论】:

  • 我发现了一些关于 RASP 解决方案的文章,但我不确定这是否真的有效,因为我从未使用过它。

标签: azure azure-storage


【解决方案1】:

您绝对不应该将密钥或 SAS 令牌放在客户端。正如您所说,任何人都可以获得此信息并访问存储帐户。一种解决方案是使用 HTTP 触发的无服务器函数根据需要生成 SAS 令牌。然后,您可以仅针对您希望公开访问的资源发布有时间限制的 SAS。下面的教程展示了如何做到这一点。

https://docs.microsoft.com/en-us/azure/functions/tutorial-static-website-serverless-api-with-database

【讨论】:

  • 谢谢@Michael。这绝对是我们要走的路,所以我们使用带有 Function Proxy 的 Function App 来提供我们需要的不同操作。我们总是会暴露一些东西。在这种情况下,我们将 URL 公开给函数应用端点。我们将使用 Angular 编译器的优化来缩小代码并将其变为“不可读”,以使其更难进行任何类型的黑客攻击。
【解决方案2】:

静态网站端点是严格只读的。因此客户端将无法更改网站的内容。

目前静态网站是匿名访问。 “添加 oauth”将很快添加。对于读取访问,一旦启用该站点,它将对所有公众开放。

目前我们不支持 oauth。只要有uri,任何人都可以阅读网站的内容

【讨论】:

  • 嗯,问题不在于更改网站的内容。问题在于能够读取内容(SAS 令牌),从而授予对我们 Azure 服务的任何类型的黑客攻击尝试的权限。我们现在没有令牌和密钥,但是我们有一个用于执行操作的 Azure Function App 端点的 URL……我会说,因为它是客户端应用程序,所以不可能不公开某些内容。
猜你喜欢
  • 2018-06-15
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 2016-07-21
  • 2015-07-15
相关资源
最近更新 更多