0

我一直在搞砸 Azure,试图让一个 Web 应用程序启动并运行。我的计划是创建一个 WAF 并将其背后的 Web 应用程序放置在一个单独的子网中,然后使用服务端点技术将 Web 应用程序指向数据库。

我几乎立即停止了我的工作,因为我发现如果我想在 Web 应用程序前面使用 WAF,我必须在 Web 应用程序中配置网络,但是当我选择 vnet 时,它说没有配置网关对于选定的 VNET。

我的问题是我是否必须使用点到站点 VPN 才能使此设置正常工作?我以为它会像

INTERNET ---> VNET ----> 子网 ----> WAF -----> 子网 -----> Web 应用程序 ----> 服务端点 ------> DB

但情况似乎并非如此。我并不热衷于必须在我们网络中可能想要访问此网站的每台机器上安装客户端证书(它目前是内部的)。我想我正在寻找两全其美。可从互联网访问,但在其前面放置 WAF 之类的东西会更加舒适,以弥补所述应用程序中可能存在的任何安全缺陷。

谢谢

4

2 回答 2

1

如果你想将 Azure WAF 与 Azure 应用服务(多租户)一起使用,你只需确保在请求中提供主机标头。

在此处输入图像描述

如果您希望在 VNet 上使用 Azure Web 应用,则需要在应用服务环境(隔离)上运行您的 Azure Web 应用。此版本的 Azure Web App 价格更高,但允许您将 NSG 应用到 VNet 以完全控制对您的 Web 应用程序的访问。我个人认为带有 Azure 应用服务(多租户)的 WAF 应该可以满足您的需求。

我们在这里记录了所有内容:

https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-web-app-overview

https://docs.microsoft.com/en-us/azure/application-gateway/configure-web-app-portal

于 2019-04-05T15:58:54.727 回答
1

据我所知,除非您使用应用服务环境(隔离),否则您无法在 VNet 中部署 Web 应用。App VNet 集成无法做到这一点。它允许您安全地访问 VNet 中的资源。例如,您在专用 VNet 中的 Azure VM 上有一个数据库。如果此数据库不公开可用,则无法从 Azure Web 应用程序访问此数据库,但可以通过应用程序 VNet 集成访问它。

VNet 服务终结点是另一种不同的服务。终结点允许您将关键的 Azure 服务资源仅保护到您的虚拟网络。如果您在 VNet 中启用此类服务​​端点,例如 Azure SQL 数据库(不同于 Azure VM 上的数据库),这意味着只有这些授权 VNet 中的资源才能访问您的 SQL 数据库,除非您在数据库的防火墙。

在这种情况下,您可以将面向公众的 Azure 应用程序网关放在 Web 应用程序服务的高层,然后在 Web 应用程序的IP 限制中添加 Azure 应用程序网关公共 IP。这将限制通过 Internet 上的 Azure Web 应用程序网关访问 Web 应用程序。此外,您可以控制 Azure 应用网关子网 NSG 中的网络入站和出站。如果要将 NSG 添加到应用程序网关子网级别,请参阅应用程序网关子网上的网络安全组。如果您只想创建一个 WAF 并将其背后的 Web 应用程序站点化,我认为这些就足够了。

此外,如果您想让 Web 应用程序私下访问 Azure SQL 数据库。您可以在 ASE 中部署 Web 应用程序,然后为 Azure SQL 数据库启用 VNet 服务终结点。App VNet 集成不需要将其与服务终结点一起使用。

于 2019-04-08T04:10:48.417 回答