你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Front Door 上的 Azure Web 应用程序防火墙

Azure Front Door 上的 Azure Web 应用程序防火墙为 Web 应用程序提供集中保护。 Web 应用程序防火墙 (WAF) 可以保护 Web 服务免受常见攻击和漏洞的侵害。 它使服务对用户高度可用,并帮助满足合规性要求。

Azure Front Door 上的 Azure Web 应用程序防火墙是一种全局性的集中解决方案。 它部署在全球各地的 Azure 网络边缘位置。 启用了 WAF 的 Web 应用程序会检查 Azure Front Door 在网络边缘传送的每个传入请求。

在恶意攻击进入虚拟网络之前,WAF 会阻止这些攻击靠近攻击源。 你可以获得大规模的全局保护,且不会降低性能。 WAF 策略可轻松链接到订阅中的任何 Azure Front Door 配置文件。 在几分钟内就能部署新的规则,因此可以快速响应不断变化的威胁模式。

Screenshot that shows Azure Web Application Firewall.

注意

对于 Web 工作负载,强烈建议使用 Azure DDoS 防护Web 应用程序防护墙来抵御新兴的 DDoS 攻击。 另一种选择是将 Azure Front Door 与 Web 应用程序防火墙一起使用。 Azure Front Door 提供平台级保护来抵御网络级 DDoS 攻击。 有关详细信息,请参阅 Azure 服务的安全基线

Azure Front Door 有两个层

  • 标准
  • 高级

Azure Web 应用程序防火墙已与具有完整功能的 Azure Front Door 高级版集成。 对于 Azure Front Door 标准版,只支持自定义规则

保护

Azure Web 应用程序防火墙可在以下方面提供保护:

  • 无需修改后端代码即可保护 Web 应用程序免受 Web 漏洞和攻击的威胁。
  • 利用 IP 信誉规则集保护 Web 应用程序免受恶意机器人的攻击。
  • 保护应用程序免受 DDoS 攻击。 有关详细信息,请参阅应用程序 DDoS 防护

WAF 策略和规则

可以配置 WAF 策略,然后将此策略关联到一个或多个 Azure Front Door 域,以实现保护目的。 WAF 策略包含两种类型的安全规则:

  • 客户创建的自定义规则。
  • 托管规则集,即由 Azure 托管的预配置规则集的集合。

如果两者均存在,则先处理自定义规则,然后处理托管规则集中的规则。 规则由匹配条件、优先级和操作组成。 支持的操作类型包括:允许、阻止、记录和重定向。 可以组合托管规则和自定义规则以创建满足特定应用程序保护要求的完全自定义策略。

策略中的规则按优先顺序进行处理。 “优先级”是唯一的整数,定义规则的处理顺序。 整数值越小表示优先级越高,这些规则的评估顺序先于整数值较大的规则。 匹配规则后,规则中定义的相应操作将应用于请求。 处理此类匹配后,不再进一步处理优先级较低的规则。

Azure Front Door 交付的 Web 应用程序一次只能与一个 WAF 策略关联。 但可以使用不与任何 WAF 策略关联的 Azure Front Door 配置。 如果 WAF 策略存在,它将复制到所有边缘位置,以确保全球的安全策略保持一致。

WAF 模式

可以将 WAF 策略配置为在以下两种模式下运行:

  • 检测:当 WAF 在检测模式下运行时,它只监视请求及其匹配的 WAF 规则并将其记录到 WAF 日志中。 它不执行任何其他操作。 可为 Azure Front Door 启用日志诊断。 如果使用门户,请转到“诊断”部分。
  • 阻止:在阻止模式下,如果请求与规则匹配,WAF 将执行指定的操作。 如果找到匹配项,则不会评估优先级更低的规则。 任何匹配的请求也会记录在 WAF 日志中。

WAF 操作

如果请求匹配规则的条件,WAF 客户可以选择运行其中某个操作:

  • 允许:请求将通过 WAF 传递并转发到原点。 没有其他优先级较低的规则可以阻止此请求。
  • 阻止:请求受阻,WAF 将响应发送到客户端,且不会将请求转发到原点。
  • 记录:请求将记录在 WAF 日志中,且 WAF 继续评估优先级较低的规则。
  • 重定向:WAF 将请求重定向到指定的 URI。 指定的 URI 是策略级别设置。 配置后,与“重定向”操作匹配的所有请求将发送到该 URI。
  • 异常分数:匹配具有此操作的规则时,总异常分数将按顺序递增。 此默认操作适用于默认规则集 2.0 或更高版本。 它不适用于机器人管理器规则集。

WAF 规则

WAF 策略可以包含两种类型的安全规则:

  • 由客户创作的自定义规则和托管规则集
  • Azure 托管的预配置规则集

自定义创作规则

若要配置 WAF 的自定义规则,请使用以下控件:

  • IP 允许列表和阻止列表: 可以基于客户端 IP 地址列表或 IP 地址范围来控制对 Web 应用程序的访问。 支持 IPv4 和 IPv6 地址类型。 可将此列表配置为阻止或允许源 IP 与列表中的 IP 匹配的请求。
  • 基于地理位置的访问控制:可以基于与客户端 IP 地址相关联的国家/地区代码来控制对 Web 应用程序的访问。
  • 基于 HTTP 参数的访问控制:可使规则基于 HTTP/HTTPS 请求参数中的字符串匹配项。 示例包括查询字符串、POST 参数、请求 URI、请求标头和请求正文。
  • 基于请求方法的访问控制:将规则基于请求的 HTTP 请求方法。 示例包括 GET、PUT 或 HEAD。
  • 大小约束:可使规则基于请求的特定部分(例如查询字符串、URI 或请求正文)的长度。
  • 速率限制规则:速率限制规则会限制来自任何客户端 IP 地址的异常高流量。 对于客户端 IP 在一分钟内允许的 Web 请求数,可以配置一个阈值。 此规则与基于 IP 列表的允许/阻止自定义规则不同,后者允许或阻止客户端 IP 的所有请求。 速率限制可以与其他匹配条件(例如用于粒度速率控制的 HTTP(S) 参数匹配)结合使用。

Azure 托管的规则集

Azure 托管的规则集可轻松针对一组常见的安全威胁来部署保护。 由于规则集由 Azure 管理,因此这些规则会根据需要进行更新以防范新的攻击签名。 Azure 托管的默认规则集包含针对以下威胁类别的规则:

  • 跨站点脚本
  • Java 攻击
  • 本地文件包含
  • PHP 注入攻击
  • 远程命令执行
  • 远程文件包含
  • 会话固定
  • SQL 注入保护
  • 协议攻击者

在评估默认规则集中的规则之前,自定义规则始终适用。 如果请求与某个自定义规则相匹配,将应用相应的规则操作。 请求将被阻止,或通过后端传递。 不会处理任何其他自定义规则或默认规则集中的规则。 还可以从 WAF 策略中删除默认规则集。

有关详细信息,请参阅 Web 应用程序防火墙默认规则集规则组和规则

机器人防护规则集

可以启用托管机器人防护规则集,以便针对来自已知机器人类别的请求执行自定义操作。

支持三种机器人类别:

  • 恶意:恶意机器人包括来自恶意 IP 地址的机器人,以及伪造了身份的机器人。 恶意 IP 地址源自于 Microsoft 威胁情报源,每小时更新一次。 Intelligent Security Graph 为 Microsoft 威胁情报提供支持,并为多种服务所用,其中包括 Microsoft Defender for Cloud。
  • 善意:善意机器人包括经过验证的搜索引擎。
  • 未知:未知机器人包括将自身标识为机器人的其他机器人组。 示例包括市场分析器、源提取器和数据收集代理。 未知的机器人是通过已发布的用户代理分类的,未经过任何其他验证。

WAF 平台管理并动态更新机器人签名。 可为不同类型的机器人设置自定义的阻止、允许、记录或重定向操作。

Screenshot that shows a bot protection rule set.

如果启用了机器人防护,则将记录与机器人规则匹配的传入请求。 可从存储帐户、事件中心或 Log Analytics 访问 WAF 日志。 有关 WAF 日志请求的详细信息,请参阅 Azure Web 应用程序防火墙监视和日志记录

配置

可以使用 Azure 门户、REST API、Azure 资源管理器模板和 Azure PowerShell 来配置和部署所有 WAF 策略。 还可以通过使用防火墙管理器集成来大规模地配置和管理 Azure WAF 策略。 有关详细信息,请参阅使用 Azure 防火墙管理器管理 Azure Web 应用程序防火墙策略

监视

Azure Front Door 中 WAF 的监视功能已与 Azure Monitor 集成,可以跟踪警报并轻松监视流量趋势。 有关详细信息,请参阅 Azure Web 应用程序防火墙监视和日志记录

后续步骤