保护 Azure 基础设施

Secure Azure Infrastructure

我在一家仅托管在 Azure 中的小型初创公司工作,我想知道保护所有内容的最佳方法。

我使用以下服务

Web 应用程序和 Vms 需要与其他三个服务进行通信。

以下是我们目前正在做的事情。这是正确的吗?如果不正确,您能提供任何工作资源吗?

  1. 服务总线 - 当前使用连接字符串访问它,并存储在 Web 应用程序和 VM 的应用程序设置中。
  2. 存储帐户 - 当前使用连接字符串访问,存储在 Web 应用程序和 VM 的应用程序设置中。
  3. Sql 服务器 - 当前使用防火墙允许访问 Azure 服务并将其限制为需要通过 SSMS 访问数据库的客户端计算机
  4. VM - 使用网络安全组将其限制为仅允许客户端计算机在 RDP 上运行。

如果能提供任何帮助,我将不胜感激。

编辑

我担心的事情是:

Sql Server allow access to azure. I can turn this off but then the website will need to be added to the firewall and as i understand it the ip address is not static. Is it a security concern to leave this on?

默认情况下,“允许访问 Azure 服务”处于打开状态,启用此功能将允许来自 resources/services 托管在 Azure 中的任何流量访问数据库。

Storage accounts, the connection string allows unlimited access to the account. You can lock this down with SAS to ip addresses but it has the same issues as the sqlsvr when connecting from the website. Also the SAS is time based how is it renewed?

共享访问签名可以采用以下两种形式之一:Ad hoc SAS 和 SAS with stored access policy。我们可以重新指定开始时间、到期时间和权限以获得新的临时 SAS。当我们将 SAS 与存储访问策略相关联时,SAS 继承了为存储访问策略定义的约束 - 开始时间、到期时间和权限,我们可以修改存储访问策略以撤销 SAS 或获取新的 SAS基于新的存储访问策略。

有关共享访问签名 (SAS) 的更多信息,您可以阅读 this article

关于从您的网络应用访问 SQL 服务器: 他们在连接到外部服务时最多使用四个出站 IP 地址。您可以限制 SQL 服务器访问这些。 阅读 this article 以找到它们。

这不会完全关闭外部对 SQL 服务器的访问,其他人的 Web 应用程序正在使用相同的四个出站 IP 地址。