静态 Web 应用的 Azure 前门 WAF ip 限制

Posted

技术标签:

【中文标题】静态 Web 应用的 Azure 前门 WAF ip 限制【英文标题】:Azure Front Door WAF ip restrictions for static web apps 【发布时间】:2021-12-30 05:49:42 【问题描述】:

我一直在尝试针对 Azure 静态 Web 应用的 IP 限制实施 Azure Front Door 自定义规则。到目前为止,我有:

将静态 Web 应用配置为支持 Front Door:https://docs.microsoft.com/en-us/azure/static-web-apps/front-door-manual 为 Front Door 配置域、后端和路由 按照此指南添加了用于 ip 限制的 WAF 策略和自定义规则:https://docs.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-configure-ip-restriction

其他一切都很好,除了 IP 限制规则似乎阻止了所有流量(或者至少是它应该允许通过的 IP)。与地理位置类似的规则工作得很好。 IP限制规则是:

匹配类型:IP 地址 匹配变量:SocketAddr(也尝试了 RemoteAddr,结果相同) 操作:不包含 IP 范围:应该通过的 X.X.X.X/32 列表。 操作:阻止

日志显示来自 IP 范围内 IP 的流量确实被 Front Door 阻止了。

是否有人设法使此类设置正常工作,或者我尝试执行的操作是否存在明显错误?我们已经与一位同事检查了规则和日志,没有发现任何明显的错误,而且基于地理位置的阻止工作这一事实让我相信,这种情况可能不适用于 Front Door 和静态 Web 应用程序。

我已经找到了一些讨论:

静态 Web 应用问题:https://github.com/Azure/static-web-apps/issues/373 此处与 Web 应用程序相关的类似问题:How to configure Web Apps such that they cannot be accessed directly?(提到的标头在静态 Web 应用程序配置中实现)

【问题讨论】:

【参考方案1】:

不使用前门,但现在可以直接在 SWA 上执行 IP 限制,只要您使用 Standard SKU

https://azure.microsoft.com/en-gb/updates/generally-available-ipbased-website-protection-for-azure-static-web-apps/?cdn=disable

【讨论】:

是的,我在使用 Front Door 之前使用了 staticwebapp.config.json 中的 ip 限制(它们工作得很好),然后根据文档将 Front Door 服务配置为相同的配置文件.虽然在技术上可以在那里配置 ip 限制和 Front Door,但我认为 ip 限制并不适用,因为所有流量都通过 Front Door(自定义域)进入,并且您无法通过生成的 url 访问静态 Web 应用程序。

以上是关于静态 Web 应用的 Azure 前门 WAF ip 限制的主要内容,如果未能解决你的问题,请参考以下文章

Azure 前门通过同一域下的路径支持多个 Web 应用程序

我是否需要使用azure waf和web app指向站点vpn

带有 WAF 的 Azure 应用服务

12.Azure应用程序网关(下)

12.Azure应用程序网关(下)

10.Azure应用程序网关(上)