2

我不确定我是否缺少一些简单的东西,或者如果我想要做不可能的事情。如何将Azure Web应用程序(应用程序服务/网站)连接到Network Security Group?

我有一个使用Web +移动应用程序服务模型部署在Azure上的Tomcat站点。这不是虚拟机。我希望能够将防火墙规则(网络安全组)应用于此App Service。

这里是我有我的资源组中完成:

  1. 把我现有的应用程序服务(Tomcat)的,并将其升级到S1整机尺寸。
  2. 用默认设置创建一个VNET。这包括创建一个名为“default”的子网。所有地址空间建议均保留在Azure默认提示下。
  3. 使用App Service上的网络设置刀片来选择刚刚创建的VNET。
  4. 创建网络安全组 - 添加传入规则以拒绝来自任何源的HTTP端口80。
  5. 相关NSG与等了一切默认的子网
  6. 上面创建到传播完成
  7. 测试击中HTTP端口80上的应用程序服务,并得到返回结果。

这不是我希望看到的。为了调试这个我测试:

  1. 创建一个Tomcat虚拟机
  2. 在VM网络刀片,相关的VM的“默认”的子网,专门去除从虚拟机的网络安全集团(在离开它子网 - 只是确保它没有明确地连接到虚拟机)
  3. 测试到虚拟机的HTTP访问 - 交通拒绝
  4. 到App服务测试HTTP访问 - 流量仍然允许
  5. 更改了网络安全组规则允许
  6. 到虚拟机和流量测试HTTP访问许可

我如何让应用程序服务使用网络安全组虚拟机的方式做?我在某处如何配置App Service上的子网?是否有另一种方法将NSG与App Service相关联?

我没有预算/需要构建ASE。我需要做的就是在我的应用服务前放置一个防火墙,以阻止我不想看到使用的端口。

感谢。

回答

2

你正在努力做到不可能。请记住,应用程序服务中的Web应用程序必须VPN进入VNET,因此您可以控制在多租户应用程序服务中的互联网和80/TCP,443/TCP之间没有任何东西。

Client ---> 80/TCP Frontend layer ---> 80/TCP Web App ---> Point-to-site VPN ---> VNET ---> NSG_associated_with_subnet

所以没有去。

查看<ipSecurity>是否适合您的用例(我的其他答案提供了一个快速示例 - https://stackoverflow.com/a/38808091/4148708)。否则,您需要应用程序服务环境(ASE)或内部负载平衡器应用程序服务环境(ILB ASE)。

它们都直接坐在VNET的子网中,所以你可以控制NSG的流量。

+0

我想那是因为它 – Cam

+0

我想,因为它是PaaS,所以我相信部分平台是我相信Azure团队已经正确配置了面向外的防火墙。我从来没有部署过一个Web应用程序,但是我没有**控制/负责安装防火墙。我只是以为我也是在这里负责。 我将使用机制将流量从80重定向到443,并将管理子目录列入白名单。并且交叉我的手指,Azure团队已经获得了该平台。 – Cam

+0

为80-> 443重写规则。在这里搜索强制HTTPS http://microsoftazurewebsitescheatsheet.info/陈述你的恐惧。您有什么攻击媒介,并且可以使用防火墙规则处理地址? – evilSnobu

相关问题