Azure 防火墙已知问题和限制

本文列出了 Azure 防火墙的已知问题。 当问题得到解决时,本文会更新。

有关 Azure 防火墙限制,请参阅 Azure 订阅和服务限制、配额与约束

Azure 防火墙标准版

Azure 防火墙标准版存在以下已知问题:

注意

任何适用于标准版的问题也适用于高级版。

问题 说明 缓解操作
针对非 TCP/UDP 协议(例如 ICMP)的网络筛选规则不适用于 Internet 绑定的流量 针对非 TCP/UDP 协议的网络筛选规则不支持公共 IP 地址的 SNAT。 在分支子网与 VNet 之间支持非 TCP/UDP 协议。 Azure 防火墙使用目前不支持 IP 协议 SNAT 的标准负载均衡器。 我们正在探索如何在将来的版本中推出支持此方案的选项。
缺少对 ICMP 的 PowerShell 和 CLI 支持 Azure PowerShell 和 CLI 不支持使用 ICMP 作为网络规则中的有效协议。 仍然可以通过门户和 REST API 使用 ICMP 作为协议。 我们正在致力于在不久之后在 PowerShell 和 CLI 中添加 ICMP。
FQDN 标记要求设置 protocol: port 带有 FQDN 标记的应用程序规则需要 port:protocol 定义。 可以将 https 用作 port: protocol 值。 我们正在致力于使此字段在使用了 FQDN 标记时可选。
不支持将防火墙移动到不同的资源组或订阅 不支持将防火墙移动到不同的资源组或订阅。 我们已计划提供此功能的支持。 若要将防火墙移动到不同的资源组或订阅,必须删除当前实例并在新的资源组或订阅中重新创建它。
威胁智能警报可能会被屏蔽 配置为仅警报模式时,目标为 80/443 的用于出站筛选的网络规则会屏蔽威胁智能警报。 使用应用程序规则为 80/443 创建出站筛选。 或者,将威胁智能模式更改为“提醒和拒绝”。
Azure 防火墙 DNAT 不适用于专用 IP 目标 Azure 防火墙 DNAT 支持仅限于 Internet 出口/入口。 DNAT 目前不适用于专用 IP 目标。 例如,分支到分支。 我们正在研究修复措施。
对于安全虚拟中心,只能在部署期间配置可用性区域。 部署具有安全虚拟中心的防火墙后,无法配置可用性区域。 这是设计的结果。
对入站连接的 SNAT 除了 DNAT 以外,通过防火墙公共 IP 地址(入站)建立的连接将通过 SNAT 转换为某个防火墙专用 IP。 当前提出此项要求(也适用于主动/主动 NVA)的目的是确保对称路由。 若要保留 HTTP/S 的原始源,请考虑使用 XFF 标头。 例如,在防火墙前面使用 Azure Front Door 或 Azure 应用程序网关等服务。 还可以添加 WAF 作为 Azure Front Door 的一部分,并链接到防火墙。
仅在代理模式下支持 SQL FQDN 筛选(端口 1433) 对于 Azure SQL 数据库、Azure Synapse Analytics 和 Azure SQL 托管实例:

仅在代理模式下支持 SQL FQDN 筛选(端口 1433)。

对于 Azure SQL IaaS:

如果使用的是非标准端口,可以在应用程序规则中指定这些端口。
对于采用重定向模式的 SQL(这是从 Azure 内连接时采用的默认设置),可以将 SQL 服务标记用作 Azure 防火墙网络规则的一部分,改为对访问进行筛选。
TCP 端口 25 上的出站 SMTP 流量被阻止 Azure 平台会阻止直接发送到 TCP 端口 25 上的外部域(如 outlook.comgmail.com)的出站电子邮件。 这是 Azure 中的默认平台行为,Azure 防火墙不引入任何其他特定限制。 使用经过身份验证的 SMTP 中继服务,这些服务通常通过 TCP 端口 587 进行连接,但也支持其他端口。 有关详细信息,请参阅排查 Azure 中的出站 SMTP 连接问题。 目前,Azure 防火墙可能能够使用出站 TCP 25 与公共 IP 通信,但不能保证有效,并且并非所有订阅类型都支持它。 对于虚拟网络、VPN 和 Azure ExpressRoute 等专用 IP,Azure 防火墙支持 TCP 端口 25 的出站连接。
SNAT 端口耗尽 Azure 防火墙当前支持每个后端虚拟机规模集实例的每个公用 IP 地址 2496 个端口。 默认有两个虚拟机规模集实例。 因此,每个流(目标 IP、目标端口和协议(TCP 或 UDP))有 4992 个端口。 防火墙最多可以扩展到 20 个实例。 这是平台限制。 可以针对容易出现 SNAT 耗尽的部署,为 Azure 防火墙部署配置至少五个公共 IP 地址,以此解决这些限制。 这将使可用的 SNAT 端口增加五倍。 从 IP 地址前缀分配以简化下游权限。 为获得更持久的解决方案,可以部署 NAT 网关来克服 SNAT 端口限制。 虚拟网络部署支持此方法。

有关详细信息,请参阅利用 Azure 虚拟网络 NAT 缩放 SNAT 端口
在启用了强制隧道的情况下不支持 DNAT 由于采用非对称路由,在启用了强制隧道的情况下部署的防火墙无法支持从 Internet 进行入站访问。 这种限制是根据非对称路由设计的。 入站连接的返回路径通过本地防火墙,而该防火墙看不到已建立的连接。
出站被动 FTP 可能不适用于具有多个公共 IP 的防火墙,具体取决于你的 FTP 服务器配置。 被动 FTP 为控制通道和数据通道建立不同的连接。 当具有多个公共 IP 地址的防火墙发送出站数据时,它会随机选择一个公共 IP 地址作为源 IP 地址。 当数据和控制通道使用不同的源 IP 地址时,FTP 可能会失败,具体取决于你的 FTP 服务器配置。 规划显式 SNAT 配置。 同时,你可将 FTP 服务器配置为接受来自不同源 IP 地址的数据和控制通道(请参阅 IIS 的示例)。 或者,请考虑在此情况中使用单个 IP 地址。
入站被动 FTP 可能无法工作,具体取决于你的 FTP 服务器配置 被动 FTP 为控制通道和数据通道建立不同的连接。 Azure 防火墙上的入站连接经过 SNAT 转换为防火墙专用 IP 地址,以确保对称路由。 当数据和控制通道使用不同的源 IP 地址时,FTP 可能会失败,具体取决于你的 FTP 服务器配置。 保留原始源 IP 地址的操作正在接受调查。 在此期间,你可将 FTP 服务器配置为接受来自不同源 IP 地址的数据和控制通道。
当 FTP 客户端必须通过 Internet 上访问 FTP 服务器时,主动 FTP 不起作用。 主动 FTP 使用 FTP 客户端的 PORT 命令,该命令指示 FTP 服务器该对数据通道使用哪些 IP 和端口。 此 PORT 命令使用无法更改的客户端专用 IP。 对于基于 Internet 的通信,遍历 Azure 防火墙的客户端流量将经过 NAT 转换,这样 FTP 服务器会将 PORT 命令视为无效。 与客户端 NAT 一起使用时,它是主动 FTP 的一般限制。
NetworkRuleHit 指标缺少协议维度 ApplicationRuleHit 指标允许基于筛选的协议,但相应的 NetworkRuleHit 指标中缺少此功能。 我们正在研究修复措施。
不支持端口介于 64000 和 65535 之间的 NAT 规则 Azure 防火墙允许网络和应用程序规则中 1-65535 范围内的任何端口,但是 NAT 规则仅支持 1-63999 范围内的端口。 这是当前的一项限制。
配置更新平均可能需要 5 分钟 Azure 防火墙配置更新平均可能需要 3 到 5 分钟,且不支持并行更新。 我们正在研究修复措施。
Azure 防火墙使用 SNI TLS 标头筛选 HTTPS 和 MSSQL 流量 如果浏览器或服务器软件不支持服务器名称指示 (SNI) 扩展,则无法通过 Azure 防火墙进行连接。 如果浏览器或服务器软件不支持 SNI,也许可以使用网络规则(而不是应用程序规则)控制连接。 有关支持 SNI 的软件,请参阅服务器名称指示。
无法使用门户或 Azure 资源管理器 (ARM) 模板添加防火墙策略标记 Azure 防火墙策略存在补丁支持限制,可防止使用 Azure 门户或 ARM 模板添加标记。 生成以下错误:无法保存资源的标记 我们正在研究修复措施。 或者,可以使用 Azure PowerShell cmdlet Set-AzFirewallPolicy 更新标记。
目前不支持 IPv6 如果将 IPv6 地址添加到规则,防火墙会失败。 仅使用 IPv4 地址。 正在调查 IPv6 支持。
更新多个 IPGroup 失败并出现冲突错误。 当你更新两个或更多个已附加到同一个防火墙的 IP 组时,其中一个资源将进入失败状态。 这是一个已知问题或限制。

更新 IP 组时,会对该 IP 组所附加到的所有防火墙触发更新。 如果在防火墙仍处于“正在更新”状态时启动对另一个 IP 组的更新,IP 组更新将会失败。

若要避免更新失败,必须逐个更新附加到同一个防火墙的 IP 组。 请在两次更新之间留出足够的时间,让防火墙可以避开“正在更新”状态。
不支持使用 ARM 模板删除 RuleCollectionGroup。 不支持使用 ARM 模板删除 RuleCollectionGroup,这会导致失败。 此操作不受支持。
允许任何 (*) 的 DNAT 规则将对流量进行 SNAT 处理。 如果 DNAT 规则允许任何 (*) 为源 IP 地址,则隐式网络规则将匹配 VNet-VNet 流量,并始终会对流量进行 SNAT 处理。 这是当前的一项限制。
不支持使用安全提供程序将 DNAT 规则添加到安全虚拟中心。 这将导致返回 DNAT 流量的异步路由,该流量将发送到安全提供程序。 不支持。
创建超过 2000 个规则集合时遇到错误。 NAT/应用程序或网络规则集合的最大数目为 2000(资源管理器限制)。 这是当前的一项限制。
HTTP/S 中的 XFF 标头 将使用防火墙看到的原始源 IP 地址覆盖 XFF 标头。 这适用于以下用例:
- HTTP 请求
- 具有 TLS 终止的 HTTPS 请求
我们正在研究修复措施。
无法使用新创建的公共 IP 地址部署具有可用性区域的防火墙 部署具有可用性区域的防火墙时,不能使用新创建的公共 IP 地址。 首先创建一个新的区域冗余公共 IP 地址,然后在防火墙部署期间分配以前创建的 IP 地址。
Azure 防火墙不支持 Azure 专用 DNS 区域 无论 Azure 防火墙 DNS 设置如何,Azure 专用 DNS 区域都不适用于 Azure 防火墙。 若要实现使用专用 DNS 服务器的所需状态,请使用Azure 防火墙 DNS 代理而不是 Azure 专用 DNS 区域。

Azure 防火墙高级版

Azure 防火墙高级版存在以下已知问题:

问题 说明 缓解措施
ESNI 支持 HTTPS 中的 FQDN 解析 HTTPS 握手不支持加密的 SNI。 目前只有 Firefox 通过自定义配置支持 ESNI。 建议的解决方法是禁用此功能。
客户端认证身份验证不受支持 客户端证书用于在客户端与服务器之间建立相互的身份信任。 TLS 协商期间使用客户端证书。 Azure 防火墙会重新协商与服务器的连接,并且无权访问客户端证书的私钥。
QUIC/HTTP3 QUIC 是 HTTP 的新的主版本。 它是基于 UDP 的通过 80 (PLAN) 和 443 (SSL) 端口的协议。 不支持 FQDN/URL/TLS 检查。 配置作为网络规则传递 UDP 80/443。
不受信任的客户签名证书 一旦从基于 Intranet 的 Web 服务器接收客户签名的证书,防火墙将不信任它们。 我们正在研究修复措施。
使用适于 HTTP 的 IDPS 的警报中源 IP 地址错误(未经 TLS 检查)。 当正在使用纯文本 HTTP 流量,IDPS 发出新的警报,并且目标是公共 IP 地址时,显示的源 IP 地址错误(显示内部 IP 地址,而不是原始 IP 地址)。 我们正在研究修复措施。
证书传播 将 CA 证书应用于防火墙后,证书可能需要 5 到 10 分钟生效。 我们正在研究修复措施。
TLS 1.3 支持 TLS 1.3 部分受支持。 从客户端到防火墙的 TLS 隧道基于 TLS 1.2,从防火墙到外部 Web 服务器的 TLS 隧道基于 TLS 1.3。 正在调查更新。
TLSi 中间 CA 证书过期 在某些特殊情况下,中间 CA 证书可能会在原始到期日期前两个月过期。 在原始到期日期前两个月续订中间 CA 证书。 我们正在研究修复措施。

后续步骤