本文可帮助你了解 Azure 防火墙中的当前已知问题和限制。 我们会在解决问题时更新此信息,因此请定期查看最新状态。
在部署 Azure 防火墙或对现有部署进行故障排除之前,请查看这些已知问题,以避免常见问题并规划适当的解决方法。
有关 Azure 防火墙服务限制,请参阅 Azure 订阅和服务限制、配额和约束。
Azure 防火墙标准已知问题
Azure 防火墙标准版存在以下已知问题:
| 问题 | 说明 | 缓解操作 |
|---|---|---|
| 仅限标准和高级版本的专用 IP 地址的 DNAT 支持 | Azure 防火墙专用 IP 地址上的 DNAT 支持仅适用于标准版和高级防火墙版本,而不适用于基本版。 | 无 |
| 配置专用 IP DNAT 规则时,不支持 Azure 防火墙解除分配和分配过程 | 配置专用 DNAT 规则时,Azure 防火墙分配过程失败 | 1.解除分配 Azure 防火墙 2.删除所有专用 IP DNAT 规则 3. 分配 Azure 防火墙,并等待专用 IP 地址被分配完成 4.使用适当的专用 IP 地址重新配置专用 IP DNAT 规则 |
| 针对非 TCP/UDP 协议(例如 ICMP)的网络筛选规则不适用于 Internet 绑定的流量 | 针对非 TCP/UDP 协议的网络筛选规则不支持公共 IP 地址的 SNAT。 在分支子网与 VNet 之间支持非 TCP/UDP 协议。 | Azure 防火墙使用目前不支持 IP 协议 SNAT 的标准负载均衡器。 我们正在探索在将来的版本中为 Internet 绑定流量支持非 TCP/UDP 协议的选项。 |
| 解除分配并重新分配 Azure 防火墙时,可能会为其分配新的专用 IP 地址 | 在 Azure 防火墙的取消分配和重新分配过程结束后,专用 IP 地址将从 Azure 防火墙子网中动态分配。 分配与上一个地址不同的新专用 IP 地址时,会导致路由问题。 | 需要使用新的专用 IP 地址重新配置现有的用户定义的路由(UDR)。 正在研究解决方案,以确保在分配过程后保留专用 IP 地址。 |
| 子防火墙策略不会从父策略继承 DNS 设置。 | 更改父防火墙策略中的 DNS 设置时,链接到它的子策略可能无法解析其规则中的域名。 | 直接在每个子策略上配置 DNS 设置,而不是依赖于父策略。 我们正在努力修复,以允许继承 DNS 设置。 |
| 缺少对 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 创建出站筛选。 或者,将威胁智能模式更改为“提醒和拒绝”。 |
| 对于安全虚拟中心,只能在部署期间配置可用性区域。 | 部署具有安全虚拟中心的防火墙后,无法配置可用性区域。 | 按设计。 |
| 仅在代理模式下支持 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.com 和 gmail.com)的出站电子邮件。 阻止端口 25 上的出站 SMTP 流量是 Azure 中的默认平台行为。 Azure 防火墙不会引入更具体的限制。 |
使用经过身份验证的 SMTP 中继服务,这些服务通常通过 TCP 端口 587 进行连接,但也支持其他端口。 有关详细信息,请参阅排查 Azure 中的出站 SMTP 连接问题。 另一种选择是在标准企业协议 (EA) 订阅中部署 Azure 防火墙。 EA 订阅中的 Azure 防火墙可以使用出站 TCP 端口 25 与公共 IP 地址通信。 它可以在其他订阅类型中工作,但不保证。 对于虚拟网络、VPN 和 Azure ExpressRoute 等专用 IP 地址,Azure 防火墙支持 TCP 端口 25 的出站连接。 |
| SNAT 端口耗尽 | Azure 防火墙当前支持每个后端虚拟机规模集实例的每个公用 IP 地址 2496 个端口。 默认情况下,有两个虚拟机规模集实例。 因此,每个流(目标 IP、目标端口和协议(TCP 或 UDP))有 4,992 个端口。 防火墙最多可以扩展到 20 个实例。 | SNAT 端口耗尽是平台限制。 可以针对容易出现 SNAT 耗尽的部署,为 Azure 防火墙部署配置至少五个公共 IP 地址,以此解决这些限制。 添加更多公共 IP 地址可增加五倍的 SNAT 端口。 从 IP 地址前缀分配以简化下游权限。 为获得更持久的解决方案,可以部署 NAT 网关来克服 SNAT 端口限制。 虚拟网络部署支持 NAT 网关部署。 有关详细信息,请参阅利用 Azure 虚拟网络 NAT 缩放 SNAT 端口。 |
| 在启用了强制隧道的情况下不支持 DNAT | 由于采用非对称路由,在启用了强制隧道的情况下部署的防火墙无法支持从 Internet 进行入站访问。 | 由于非对称路由,强制隧道缺乏 DNAT 支持是设计造成的。 入站连接的返回路径通过本地防火墙,该防火墙看不到已建立的连接。 |
| 出站被动 FTP 可能不适用于具有多个公共 IP 的防火墙,具体取决于你的 FTP 服务器配置。 | 被动 FTP 为控制通道和数据通道建立不同的连接。 当具有多个公共 IP 地址的防火墙发送出站数据时,它会随机选择一个公共 IP 地址作为源 IP 地址。 当数据和控制通道使用不同的源 IP 地址时,FTP 可能会失败,具体取决于你的 FTP 服务器配置。 | 规划显式 SNAT 配置。 同时,你可将 FTP 服务器配置为接受来自不同源 IP 地址的数据和控制通道(请参阅 IIS 的示例)。 或者,在遇到 FTP 连接问题时,请考虑使用单个 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 失败是活动 FTP 的一般限制。 |
| NetworkRuleHit 指标缺少协议维度 | ApplicationRuleHit 指标允许基于筛选的协议,但相应的 NetworkRuleHit 指标中缺少此功能。 | 我们正在研究修复措施。 |
| 不支持端口介于 64000 和 65535 之间的 NAT 规则 | Azure 防火墙允许网络和应用程序规则中 1-65535 范围内的任何端口,但是 NAT 规则仅支持 1-63999 范围内的端口。 | 对 NAT 规则端口的限制是当前限制。 |
| 配置更新平均可能需要 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 支持。 |
| 不支持使用 ARM 模板删除 RuleCollectionGroup。 | 不支持使用 ARM 模板删除 RuleCollectionGroup,这会导致失败。 | 不支持使用 ARM 模板删除 RuleCollectionGroups。 |
| 允许 任何 (*) 的 DNAT 规则将 SNAT 流量。 | 如果 DNAT 规则允许 任何 (*) 作为源 IP 地址,那么将有一个隐式网络规则匹配 VNet 与 VNet 之间的流量,并且流量将始终进行 SNAT。 | 对于具有 任何 源的 DNAT 规则,其自动 SNAT 行为是当前的限制性因素。 |
| 不支持使用安全提供程序将 DNAT 规则添加到安全虚拟中心。 | 将 DNAT 规则添加到具有安全提供程序的安全虚拟中心时,会生成返回的 DNAT 流量的异步路由,该路由将发送到安全提供程序。 | 不支持。 |
| 创建超过 2000 个规则集合时遇到错误。 | NAT/应用程序或网络规则集合的最大数目为 2000(资源管理器限制)。 | 2,000 个规则集合限制是当前限制。 |
| 无法使用新创建的公共 IP 地址部署具有可用性区域的防火墙 | 部署具有可用性区域的防火墙时,不能使用新创建的公共 IP 地址。 | 首先创建一个新的区域冗余公共 IP 地址,然后在防火墙部署期间分配以前创建的 IP 地址。 |
| 跨租户方案中不支持将公共 IP 地址与 Azure 防火墙相关联。 | 如果在租户 A 中创建公共 IP 地址,则无法将其与租户 B 中部署的防火墙相关联。 | 没有。 |
Azure 防火墙高级版已知问题
注意
任何适用于标准版的问题也适用于高级版。
Azure 防火墙高级版存在以下已知问题:
| 问题 | 说明 | 缓解操作 |
|---|---|---|
| ESNI 支持 HTTPS 中的 FQDN 解析 | HTTPS 握手不支持加密的 SNI。 | 目前只有 Firefox 通过自定义配置支持 ESNI。 建议的解决方法是禁用 ESNI 功能。 |
| 客户端认证身份验证不受支持 | 客户端证书用于在客户端与服务器之间建立相互的身份信任。 TLS 协商期间使用客户端证书。 Azure 防火墙会重新协商与服务器的连接,并且无权访问客户端证书的私钥。 | 无 |
| QUIC/HTTP3 | QUIC 是 HTTP 的新的主版本。 它是基于 UDP 的通过 80 (PLAN) 和 443 (SSL) 端口的协议。 不支持 FQDN/URL/TLS 检查。 | 配置作为网络规则传递 UDP 80/443。 |
| 不受信任的客户签名证书 | 当防火墙从基于 Intranet 的 Web 服务器接收证书时,它不信任客户签名的证书。 | 我们正在研究修复措施。 |
| IDPS 为 HTTP 警报显示错误的源 IP 地址,无需 TLS 检查 | 当 IDPS 生成纯文本 HTTP 流量到公共 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 证书。 我们正在研究修复措施。 |