5

我们在 Azure 中有一个 VM 集群,暴露了一些内部 API。为了更安全,我们使用应用程序网关来卸载 ssl。但我们也想限制可以访问此 API 的外部 IP。有没有办法只允许一系列 IP 通过应用程序网关连接?

谢谢。

4

2 回答 2

6

对于那些在 2020 年看到这个问题的人,我将补充一点,与V2应用程序网关 sku相比,V1 sku 的端口范围是不同的。

如果您希望将网络安全组添加到应用程序网关所在的子网,则需要允许以下端口范围的所有入站流量:

V1:65503-65534

V2:65200-65535

作为参考,如果您尝试将 NSG 分配给应用程序网关子网,而不首先允许所需的端口范围(我的详细信息已被删除),Azure 门户将引发以下错误。

未能保存子网“xxxxxxxxxx”。错误:“网络安全组 xxxxxxxxxx/providers/Microsoft.Network/networkSecurityGroups/”。xxxxxxxxxx 阻止端口 65200 - 65535 上的传入 Internet 流量到子网 /subscriptions/xxxxxxxxxx/resourceGroups/xxxxxxxxxx/providers/Microsoft.Network/virtualNetworks/xxxxxxxxxx/subnets/xxxxxxxxxx,与应用程序网关 /subscriptions/xxxxxxxxxx/resourceGroups/xxxxxxxxxx/providers/ 关联Microsoft.Network/applicationGateways/xxxxxxxxxx。这对于具有 V2 Sku 的应用程序网关是不允许的。

一般说明:

  1. 创建您的网络安全组。确保创建两个传入规则 - (1) 允许上述适用端口范围的所有传入流量,以及 (2) 允许必要的应用程序端口,例如80443,它们是标准 HTTP 和 HTTPS 流量端口。当然,这应该与您在应用程序网关上的任何规则/侦听器配置相匹配。
  2. 从虚拟网络边栏选项卡中,选择适用的虚拟网络,然后从边栏中选择子网。然后,选择您适用的子网,然后会出现一个配置面板,您可以将 NSG 分配给您的子网。

我将进一步提请注意一些可能会有所帮助的提示。

  1. 出于管理公共 IP 流量的目的,将网络安全组应用于后端池中定义的虚拟机将不起作用。路由到您的 VM 的流量来自您的应用程序网关,这当然是与您的应用程序网关关联的实例的 IP,而不是您可能尝试定位的面向公众的客户端 IP。
  2. 如果您正在测试策略,可能使用您自己的公共 IP,请务必注意,如果您尝试从现有浏览器会话访问您的应用程序,则不会反映这一点。在您完全关闭浏览器或以其他方式使用隐身模式之前,通话将继续有效。
  3. 将网络安全组分配给您的应用程序网关可以安全地执行,因为它不会导致停机(除非您忘记创建入站应用程序规则)。
于 2020-11-10T03:54:30.153 回答
5

问:应用程序网关子网是否支持网络安全组?
应用程序网关子网支持网络安全组,但必须为端口 65503-65534 设置例外,以便后端运行状况正常工作。不应阻止出站 Internet 连接。

因此,只需在 NSG 的子网上创建一个网络安全组并限制 IP。网络安全组基本上是一个防火墙。
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-nsg

于 2017-05-17T10:47:00.780 回答