什么是 Azure 防火墙?

Azure 防火墙是一种云原生的智能网络防火墙安全服务,用于为 Azure 中运行的云工作负载提供最高水平的威胁防护。 它是一个服务形式的完全有状态防火墙,具有内置的高可用性和不受限制的云可伸缩性。 它提供东西流量和南北流量检查。

Azure 防火墙是以两种 SKU 提供的:“标准”和“高级”。

Azure 防火墙标准版

Azure 防火墙标准版直接从 Azure 网络安全提供 L3-L7 筛选和威胁情报源。 基于威胁情报的筛选可以发出警报,并拒绝来自/发往已知恶意 IP 地址和域的流量,这些地址和域会实时更新以防范新兴攻击。

防火墙标准版概述

若要了解防火墙标准版功能,请参阅 Azure 防火墙标准版功能

Azure 防火墙高级版

Azure 防火墙高级版提供了高级功能,包括基于签名的 IDPS,以允许通过查找特定模式来快速检测攻击。 这些模式可能包括网络流量中的字节序列或恶意软件使用的已知恶意指令序列。 有 58000 个以上的签名存在于 50 个以上的类别中,它们会实时更新以防范新兴攻击。 攻击类别包括恶意软件、网络钓鱼、硬币挖掘和特洛伊木马攻击。

防火墙高级版概述

若要了解防火墙高级版的功能,请参阅 Azure 防火墙高级版功能

Azure 防火墙管理器

可以使用 Azure 防火墙管理器跨多个订阅集中管理 Azure 防火墙。 防火墙管理器利用防火墙策略,将一组通用的网络/应用程序规则和配置应用到租户中的防火墙。

防火墙管理器在 VNet 和虚拟 WAN(安全虚拟中心)环境中都支持防火墙。 安全虚拟中心使用虚拟 WAN 路由自动化解决方案,来简化将流量路由到防火墙的过程 - 只需单击几下便可完成。

若要了解有关 Azure 防火墙管理器的详细信息,请参阅 Azure 防火墙管理器

定价和 SLA

有关 Azure 防火墙定价的信息,请参阅 Azure 防火墙定价

有关 Azure 防火墙 SLA 的信息,请参阅 Azure 防火墙 SLA

新增功能

若要了解 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 目标。 例如,分支到分支。 这是当前的一项限制。
无法删除第一个公共 IP 配置 每个 Azure 防火墙公共 IP 地址都分配给一个 IP 配置。 第一个 IP 配置在防火墙部署过程中分配,通常还包含对防火墙子网的引用(除非通过模板部署以不同的方式进行了显式配置)。 无法删除此 IP 配置,因为它会取消分配防火墙。 如果防火墙至少包含另一个可用的公共 IP 地址,则你仍然可以更改或删除与此 IP 配置相关联的公共 IP 地址。 这是设计的结果。
只能在部署期间配置可用性区域。 只能在部署期间配置可用性区域。 部署防火墙后无法配置可用性区域。 这是设计的结果。
对入站连接的 SNAT 除了 DNAT 以外,通过防火墙公共 IP 地址(入站)建立的连接将通过 SNAT 转换为某个防火墙专用 IP。 当前提出此项要求(也适用于主动/主动 NVA)的目的是确保对称路由。 若要保留 HTTP/S 的原始源,请考虑使用 XFF 标头。 例如,在防火墙前面使用 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 中的默认平台行为。 使用经过身份验证的 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 端口限制。 VNET 部署支持此方法。

有关详细信息,请参阅利用 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。 穿越 Azure 防火墙的客户端流量将进行 NAT 转换以用于基于 Internet 的通信,从而使该 PORT 命令被 FTP 服务器视为无效。 这是与客户端 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(资源管理器限制)。 这是当前的一项限制。
无法在 Azure 防火墙日志中看到网络规则名称 Azure 防火墙网络规则日志数据不显示用于网络流量的规则名称。 网络规则名称日志记录处于预览状态。 有关信息,请参阅 Azure 防火墙预览功能
HTTP/S 中的 XFF 标头 将使用防火墙看到的原始源 IP 地址覆盖 XFF 标头。 这适用于以下用例:
- HTTP 请求
- 具有 TLS 终止的 HTTPS 请求
我们正在研究修复措施。
无法在东南亚区域升级到具有可用性区域的高级版 目前无法在东南亚区域升级到具有可用性区域的 Azure 防火墙高级版。 在东南亚,请部署一个新的不带可用性区域的高级版防火墙,或者部署在支持可用性区域的地区。
无法使用新创建的公共 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。 正在调查更新。
KeyVault 专用终结点 KeyVault 支持专用终结点访问以限制其网络曝光。 如果按照 KeyVault 文档中的说明配置了例外,则受信任的 Azure 服务可以绕过此限制。 Azure 防火墙当前未列为受信任服务,因此无法访问 Key Vault。 我们正在研究修复措施。
东南亚地区的防火墙高级版可用区 目前无法在东南亚区域部署 Azure 防火墙高级版和可用性区域。 在东南亚,请部署不带可用性区域的防火墙,或者部署在支持可用区的地区。

后续步骤