0

本质上,只允许向/来自 Azure Front Door 的请求/响应。有不同的选择,但是,我无法找到有关实施和最佳实践的详细信息。我认为正确的解决方案是创建一个虚拟网络来集成这两种服务。

存在一个细微差别,Web 应用程序有暂存槽,可能需要不同的解决方案,因为它们使用 Azure Active Directory 来阻止公众访问预生产。

我在这里找到了更多的见解,但仍然觉得有点混乱。

似乎如果我有一个带有 Front Door 子域的自定义域,应该有一种简单的方法来防止直接访问 Web 应用程序的后端地址,并且只允许通过自定义 DNS 和 Front Door。

这很有帮助,但是,我仍然从 Front Door 获得 403,所以我必须在如何配置方面遗漏一些东西。

中间件?这也很有帮助,但似乎表明它只能通过中间件来完成,而且我运行的是 Node/Express 而不是 .NET Core。是真的,只能通过中间件代码来完成吗?

也提到了相同的细节。

什么不见​​了?如何跨不同的应用程序堆栈进行配置。

4

2 回答 2

1

文档在声明时不准确<要锁定您的应用程序以仅接受来自特定前门的流量,您需要为后端设置 IP ACL,然后将后端的流量限制为标头的特定值' Front Door 发送的 X-Azure-FDID'。这些步骤详细如下:

它需要为您的后端设置 IP ACL 或实施中间件代码以有条件地匹配“X-Azure-FDID”的特定标头值。两者都可能不需要,文档不清楚。

有效 IP 限制的屏幕截图

于 2020-06-22T18:10:50.673 回答
1

我认为您确实需要 IP ACL 并检查“X-Azure-FDID”标头。(我希望它不需要......)。如果你只使用 IP 限制,你的后端仍然对全球所有 Front Doors 开放,包括其他 Azure 客户的 Front Doors。而且,如果您只使用对“X-Azure-FDID”标头的检查,那么您就可以让攻击者试图用蛮力猜测标头。只有 IP ACL 和检查标头的组合才能保护您的后端,因为这样您就可以确定“X-Azure-FDID”标头确实是由真正的 Front Door 服务添加的,而不是被欺骗的。

另见这篇文章,其中解释得很清楚。

于 2020-08-24T13:29:47.850 回答