排查 Azure 防火墙的问题

已完成

排查 Azure 防火墙应用程序规则的问题

Azure 防火墙可帮助你控制来自 Azure 子网的出站网络访问。 使用 Azure 防火墙,可以配置:

  • 应用程序规则,用于定义可从子网访问的完全限定域名 (FQDN)。

  • 网络规则,用于定义源地址、协议、目标端口和目标地址。

建议使用中心辐射型模型进行生产部署,其中防火墙位于其自己的 VNet 中。 工作负载服务器位于包含一个或多个子网的同一区域中的对等互连 VNet 内。

  • AzureFirewallSubnet ‒ 防火墙位于此子网中。

  • Workload-SN ‒ 工作负载服务器位于此子网中。 此子网的网络流量通过防火墙。

下面的使用 Azure 门户部署和配置 Azure 防火墙可帮助你了解如何:

  • 设置测试网络环境。

  • 部署防火墙。

  • 创建默认路由。

  • 配置应用程序规则以允许访问 www.google.com

  • 配置网络规则以允许访问外部 DNS 服务器。

  • 配置 NAT 规则以允许远程桌面连接到测试服务器。

  • 测试防火墙。

监视 Azure 防火墙日志和指标

使用防火墙日志可以监视 Azure 防火墙。 此外,可以考虑使用活动日志来审核 Azure 防火墙资源。 若要在门户中查看性能计数器,请使用指标。

日志可以发送到 Azure Monitor 日志、存储和事件中心。 可以在 Azure Monitor 日志中或使用 Excel 和 Power BI 对其进行分析。

查看和分析活动日志

可使用以下任意方法查看和分析活动日志数据:

  • Azure 工具:通过 Azure PowerShell、Azure CLI、Azure REST API 或 Azure 门户,可以检索活动日志中的信息。

  • Power BI:使用适用于 Power BI 的 Azure 活动日志内容包,可以借助预配置的仪表板(可直接使用或进行自定义)分析数据。

  • Microsoft Sentinel:通过将 Azure 防火墙日志连接到 Microsoft Sentinel,可以查看工作簿中的日志数据,使用这些数据创建自定义警报,并通过整合这些数据来改进调查。

观看此视频,详细了解 Azure 防火墙的监视功能:

查看和分析网络与应用程序规则日志

Azure 门户中的 Azure 防火墙工作簿是一个平台,你可以在其中以交互方式使用 Azure 防火墙数据分析。 例如,若要创建视觉对象报表,请合并跨 Azure 部署的多个防火墙,等等。

对于访问和性能日志,可以连接到存储帐户并检索 JSON 日志条目。 下载 JSON 文件后,可以将它们转换为 CSV 并在 Excel、Power BI 或任何其他数据可视化工具中查看。

若要了解详细信息,请参阅使用 Azure 防火墙工作簿监视日志

排查 Azure 防火墙网络规则的问题

默认情况下,Azure 防火墙会拒绝所有流量。 需要手动配置规则以允许流量。 可以使用经典规则或防火墙策略在 Azure 防火墙上配置 NAT 规则、网络规则和应用程序规则。

使用经典规则处理规则

处理规则集合时,会根据规则类型按优先级顺序(由低编号到高编号,从 100 到 65,000)进行。 规则集合名称只能包含字母、数字、下划线、句点或连字符。 该名称必须以字母或数字开头,并且以字母、数字或下划线结尾。 名称最大长度为 80 个字符。

为了可以在需要时添加更多规则集合,建议一开始将规则集合的优先级数字以 100 为增量进行分隔(即 100、200、300 等)。

使用防火墙策略处理规则

使用防火墙策略时,规则在规则集合和规则集合组中进行组织。 规则集合组包含零个或多个规则集合。 规则集合的类型为 NAT、网络或应用程序。 可以在单个规则组中定义多个规则集合类型。 可以在一个规则集合中指定零个或多个规则。 规则集合中的规则必须属于同一类型(NAT、网络或应用程序)。

根据规则集合组优先级和规则集合优先级处理规则。 它们为 100(最高优先级)到 65,000(最低优先级)之间的任意数字。

如果防火墙策略继承自父策略,则无论子策略的优先级如何,都始终优先处理父策略中的规则集合组。

下面是防火墙策略的示例:

名称 类型 优先级 规则 继承自
BaseRCG1 规则集合组 200 8 父策略
DNATRC1 DNAT 规则集合 600 7 父策略
DNATRC3 DNAT 规则集合 600 7 父策略
NetworkRc1 网络规则集合 800 1 父策略
BaseRCG2 规则集合组 300 3 父策略
AppRCG2 应用程序规则集合 1200 2 父策略
NetworkRC2 网络规则集合 1300 1 父策略
ChildRCG1 规则集合组 300 5 -
ChAppRC1 应用程序规则集合 700 3 -
ChNetRC1 网络规则集合 900 2 -
ChildRCG2 规则集合组 650 9 -
ChNetRC2 网络规则集合 1100 2 -
ChAppRC2 应用程序规则集合 2000 7 -
ChDNATRC3 DNAT 规则集合 3000 2 -

将按以下顺序处理规则:DNATRC1、DNATRC3、ChDNATRC3、NetworkRC1、NetworkRC2、ChNetRC1、ChNetRC2、AppRC2、ChAppRC1、ChAppRC2。

有关防火墙策略规则集的详细信息,请参阅 Azure 防火墙策略规则集

注意

无论规则集合组或规则集合优先级和策略继承如何,应用程序规则始终在网络规则之后处理,网络规则始终在 DNAT 规则之后处理。

如果启用基于威胁情报的筛选,则那些规则具有最高优先级,始终会首先处理。 有关详细信息,请参阅 Azure 防火墙基于威胁情报的筛选

入侵检测与预防系统(IDPS)

在“警报”模式下配置 IDPS 时,会针对入站和出站流的匹配签名生成警报。 对于 IDPS 签名匹配,会在防火墙日志中记录警报。 但是,可能仍会针对应用程序/网络规则拒绝/允许的流量生成另一个日志条目。 这是因为 IDPS 引擎与规则处理逻辑并行工作。

排查 Azure 防火墙基础结构规则的问题

Azure 防火墙默认包含基础结构完全限定的域名 (FQDN) 的内置规则集合。 用于平台的特定 FQDN 不能用于其他目的。

内置规则集合包含以下服务:

  • 存储平台映像存储库 (PIR) 的计算访问权限。

  • 托管磁盘状态存储访问权限。

  • Azure 诊断和日志记录 (MDS)。

替代

借助替代功能,可以创建最后处理的拒绝所有应用程序规则集合。 这会替代内置基础结构规则集合,并且始终在它之前进行处理。 默认情况下,会拒绝基础结构规则集合中不包含的任何条件。

排查 Azure 防火墙网络地址转换 (NAT) 规则的问题

网络规则基于网络层 (L3) 和传输层 (L4) 允许或拒绝入站、出站和东西向流量。 网络规则有助于根据 IP 地址、任何端口和任何协议筛选流量。

配置 DNAT 时,NAT 规则集合操作设置为 Dnat。 然后,可以使用 NAT 规则集合中的每个规则将防火墙公共 IP 地址和端口转换为专用 IP 地址和端口。

以下教程:使用门户筛选根据 Azure 防火墙 DNAT 策略筛选入站 Internet 流量可帮助你了解如何:

  • 设置测试网络环境。

  • 部署防火墙。

  • 创建默认路由。

  • 配置 DNAT 规则。

  • 测试防火墙。

排查 Azure 防火墙分布式网络地址转换 (DNAT) 规则的问题

Azure 防火墙目标网络地址转换 (DNAT) 转换和筛选到子网的入站 Internet 流量。 它允许或拒绝通过防火墙公共 IP 地址的入站流量。 DNAT 规则将公共 IP 地址转换为专用 IP 地址。

出于安全原因,建议添加特定的 Internet 源以允许 DNAT 访问网络,并避免使用通配符。

排查网络级别保护问题,包括防火墙

将安全层添加到虚拟机 (VM) 网络可保护进出用户的入站流和出站流。 可以使用防火墙策略来管理规则集,Azure 防火墙利用这些规则集来筛选流量。

出站连接

网络规则和应用程序规则

网络规则会在应用程序规则之前按优先级顺序应用。 这意味着,如果在网络规则中找到了匹配项,则不会处理其他规则。 IDPS 可能会发出警报和/或阻止可疑流量。

如果没有网络规则匹配项,并且,如果协议是 HTTP、HTTPS 或 MSSQL,则应用程序规则会按优先级顺序评估数据包。

对于 HTTP,Azure 防火墙根据主机标头查找应用程序规则匹配项。 对于 HTTPS,Azure 防火墙仅根据 SNI 查找应用程序规则匹配项。

对于 HTTP 和 TLS 检查的 HTTPS,防火墙会使用主机头中 DNS 解析的 IP 地址,而不是数据包的目标 IP 地址。 如果防火墙未获取主机标头中的端口号,则假定它是标准端口 80。 如果实际 TCP 端口与主机标头中的端口之间存在端口不匹配,则将删除流量。 DNS 解析由 Azure DNS 或自定义 DNS(如果在防火墙上配置)完成。 

入站连接

DNAT 规则和网络规则

通过配置目标网络地址转换 (DNAT) 来启用入站 Internet 连接。 NAT 规则会在网络规则之前按优先级应用。

如果找到匹配项,则会添加一个对应网络规则来允许转换后的流量。

若要筛选入站 HTTP/S 流量,应使用 Web 应用程序防火墙 (WAF),因为应用程序规则不适用于入站连接。

若要查看某些规则组合的结果,请参阅 Azure 防火墙规则处理逻辑

排查 Azure 防火墙管理器错误配置的问题

Azure 防火墙管理器是一项安全管理服务。 可以使用它创建安全虚拟中心,以保护发往专用 IP 地址、Azure PaaS 和 Internet 的安全云网络流量。

安全虚拟中心
显示使用 Azure 防火墙管理器的安全虚拟中心的示意图。

以下教程:使用 Azure 防火墙管理器保护虚拟中心可帮助你了解如何:

  • 创建分支虚拟网络。

  • 创建安全虚拟中心。

  • 连接中心和辐射型虚拟网络。

  • 将流量路由到中心。

  • 部署服务器。

  • 创建防火墙策略并保护中心。

  • 测试防火墙。