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

Azure 内容分发网络上的 Azure Web 应用程序防火墙

Azure 内容分发网络上的 Azure Web 应用程序防火墙部署为 Web 内容提供集中保护。 Azure Web 应用程序防火墙可保护 Web 服务免受常见攻击和漏洞的攻击。 它有助于使服务对用户高度可用,并帮助你满足合规性要求。

重要

Azure 内容分发网络上的 Azure Web 应用程序防火墙预览不再接受新客户。 我们鼓励客户改用 Azure Front Door 上的 Azure Web 应用程序防火墙

我们为现有客户提供预览服务级别协议。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Azure 预览版Microsoft补充使用条款

Azure 内容分发网络上的 Azure Web 应用程序防火墙是一种全球集中式解决方案。 它部署在全球各地的 Azure 网络边缘位置。 Azure Web 应用程序防火墙在到达源之前停止靠近攻击源的恶意攻击。 你可以获得大规模的全局保护,且不会降低性能。

Web 应用程序防火墙(WAF)策略链接到订阅中的任何内容分发网络(CDN)终结点。 可以在几分钟内部署新规则,以便快速响应不断变化的威胁模式。

显示 Azure 内容分发网络上 Azure Web 应用程序防火墙如何对传入请求执行作的关系图。

WAF 策略和规则

可以配置 WAF 策略,并将该策略与一个或多个 CDN 终结点相关联,以便进行保护。 WAF 策略包含两种类型的安全规则:

  • 自定义规则:可以自行创建的规则。
  • 托管规则集:可以启用的 Azure 托管预配置规则。

当两者都存在时,WAF 会在处理托管规则集中的规则之前处理自定义规则。

规则由匹配条件、优先级和作组成。 支持的作类型为ALLOWBLOCKLOGREDIRECT。 可以通过组合托管规则和自定义规则来创建完全自定义的策略,以满足应用程序保护的特定要求。

WAF 按优先级顺序处理策略中的规则。 优先级是定义要处理的规则顺序的唯一整数。 较小的数字是更高的优先级,WAF 在具有较大值的规则之前评估这些规则。 WAF 将规则与请求匹配后,它将规则定义的相应作应用于请求。 WAF 处理此类匹配后,不会进一步处理优先级较低的规则。

Azure 内容分发网络上托管的 Web 应用程序一次只能有一个与之关联的 WAF 策略。 但可以使用不与任何 WAF 策略相关联的 CDN 终结点。 如果存在 WAF 策略,则会将其复制到所有边缘位置,以确保全球一致的安全策略。

自定义规则

自定义规则可以包括:

  • 匹配规则:可以配置以下自定义匹配规则:

    • IP 允许列表和阻止列表:可以基于客户端 IP 地址列表或 IP 地址范围来控制对 Web 应用程序的访问。 支持 IPv4 和 IPv6 地址类型。

      IP 列表规则使用 RemoteAddress 请求标头中包含的 X-Forwarded-For IP,而不是 SocketAddress WAF 使用的值。 可以将 IP 列表配置为阻止或允许 IP 与列表中的 IP 匹配的请求 RemoteAddress

      如果要求阻止 WAF 使用的源 IP 地址上的请求(例如,如果用户位于代理后面),则应使用 Azure Front Door 标准层或高级层。 有关详细信息,请参阅 使用 WAF 为 Azure Front Door 配置 IP 限制规则

    • 基于地理的访问控制:可以根据与客户端 IP 地址关联的国家/地区代码来控制对 Web 应用程序的访问。

    • 基于 HTTP 参数的访问控制:可以根据 HTTP 或 HTTPS 请求参数中的字符串匹配基于规则。 示例包括查询字符串、 POST 参数、请求 URI、请求标头和请求正文。

    • 基于请求方法的访问控制:可以根据请求的 HTTP 请求方法基于规则。 示例包括 GETPUTHEAD

    • 大小约束:可以将规则基于请求的特定部分(例如查询字符串、URI 或请求正文)的长度。

  • 速率控制规则:这些规则限制来自任何客户端 IP 地址的异常高流量。

    可以在一分钟的持续时间内针对客户端 IP 地址允许的 Web 请求数配置阈值。 此规则不同于基于 IP 列表的自定义规则,该规则允许所有请求或阻止来自客户端 IP 地址的所有请求。

    速率限制可以与更多的匹配条件(例如 HTTP 或 HTTPS 参数匹配)结合使用,以便进行精细速率控制。

Azure 托管的规则集

Azure 托管的规则集提供了一种方法来部署针对一组常见安全威胁的保护。 由于 Azure 管理这些规则集,因此会根据需要更新规则,以防止新的攻击签名。 Azure 托管的默认规则集包括针对以下威胁类别的规则:

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

将新的攻击签名添加到规则集时,默认规则集的版本号将递增。

默认情况下,在 WAF 策略的 检测 模式下启用默认规则集。 可以禁用或启用默认规则集内的各个规则以满足应用程序要求。 还可以根据规则设置特定作(ALLOWBLOCKLOGREDIRECT)。 托管的默认规则集的默认作为 BLOCK

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

WAF 模式

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

  • 检测模式:WAF 不执行任何其他作,除了监视和记录请求及其匹配的 WAF 规则到 WAF 日志之外。 可以为 Azure 内容分发网络启用日志记录诊断。 使用 Azure 门户时,请转到 “诊断 ”部分。
  • 防护模式:如果请求与规则匹配,WAF 将执行指定的作。 如果找到匹配项,则不会评估优先级较低的任何进一步规则。 任何匹配的请求也会记录在 WAF 日志中。

WAF 操作

当请求满足规则条件时,可选择以下操作之一:

  • ALLOW:请求通过 WAF 传递并转发到后端。 没有进一步的低优先级规则可以阻止此请求。
  • BLOCK:请求被阻止。 WAF 将响应发送到客户端,而无需将请求转发到后端。
  • LOG:请求记录在 WAF 日志中。 WAF 继续评估优先级较低的规则。
  • REDIRECT:WAF 将请求重定向到指定的 URI。 指定的 URI 是策略级设置。 配置设置后,与作匹配 REDIRECT 的所有请求都会发送到该 URI。

配置

可以使用 Azure 门户、REST API、Azure 资源管理器模板和 Azure PowerShell 配置和部署所有 WAF 规则类型。

监视

Azure 内容分发网络上 Azure Web 应用程序防火墙的监视与 Azure Monitor 集成,可帮助你跟踪警报和监视流量趋势。