我正在使用Azure App Services调用外部API,该API使用白名单IP地址进行纵深防御保护。
我知道我可以在WebApp下找到我的App Services的出站IP地址 - >设置 - >属性 - >出站IP地址(显示4个逗号分隔的IP地址的列表),可以提供给外部API白名单。据我所知,Microsoft发布了一个定期更新的Azure数据中心IP地址列表,列出了我可以列入白名单的出站流量:https://www.microsoft.com/en-us/download/details.aspx?id=41653
问题是外部API只能处理多个IP地址,而不能处理Azure数据中心IP的完整列表。仅提供4个逗号分隔的IP地址是否安全?有关IP地址动态更改频率或时间的明确Microsoft文档吗?
我试图找到答案并找到两个外部网站,表明它只会在移动Azure区域[参考2]时更改,或者如果您向上/向下扩展(但是向外扩展/缩小显然很好)[参考1] 。这是正确的信息吗?
在我的情况下,Azure应用服务环境是唯一可行的替代方案吗?
答案 0 :(得分:3)
在这个晚会上,只是为了充实这个:
除非您使用应用程序服务环境(ASE),否则无法保证入站或出站IP将发生更改,但入站和出站IP地址之间存在一些差异。
入站IP何时更改?
入站IP将在以下时间更改:
- 删除应用并在其他资源组中重新创建。
- 删除资源组和区域组合中的最后一个应用并重新创建。
- 删除现有的SSL绑定,例如在证书续订期间
但是,这可以通过为入站连接获取静态IP来配置基于IP的SSL绑定来解决 - 如果您不使用任何SSL功能,您甚至可以使用自签名证书
出站IP地址
这是你坐的地方,这是一个更大的空间,这是直接来自文档:
当您在较低层(基本版,标准版和高级版)与Premium V2层之间扩展应用时,应用的出站IP地址集会发生变化。
所以简而言之,如果你永远不会放大或缩小,那么你应该就好了。
编辑:重新阅读上述内容并进行一些测试,看起来它表示IP不会改变,除非您从较低层升级到Premium V2层(反之亦然)。粗略的测试支持了这一点:
在F1免费套餐下运行并扩展到P1v2给了我以下IP地址:
缩小到较低层的任何将IP地址恢复为与F1层相同的地址。
可能的补救措施
一个非常特定于解决方案的示例,但是在它有帮助的情况下 - 我之前已经解决了这个问题,在监视webapp的出站IP地址时,如果它注意到更改,那么它可以将这些IP地址发送到白名单以进行更新API调用 - 但这也可能导致引发高优先级的票证。
我应该注意到我们可以做到这一点,因为它不会是一点点停机的世界末日,而且我们并不期望经常扩大和缩小。
否则,正如您所指出的,应用程序服务环境是您唯一的安全带选项。
<强> 参考 强>
答案 1 :(得分:2)
除了上述有关更改的资源之外,另一个原因是可能会添加额外的IP以容纳出站n / w呼叫的额外容量。 需要注意的具体注释是&#34;通过最近的升级,网站服务有一组稳定的出站IP地址,分配给每个比例单位。我们继续监控网络利用率,我们可能会添加(但从不删除)其他IP地址。&#34;作者:Stefan_MS