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 配置文件。 可以在几分钟内部署新规则,以便快速响应不断变化的威胁模式。

显示 Azure Web 应用程序防火墙的屏幕截图。

注释

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

Azure Front Door 有 两个层

  • 标准
  • 高级

Azure Web 应用程序防火墙原生与 Azure Front Door Premium 集成,具有完整功能。 对于 Azure Front Door 标准版,仅支持 自定义规则

保护

Azure Web 应用程序防火墙可保护你:

  • 来自 Web 漏洞和攻击的 Web 应用程序,无需修改后端代码。
  • 来自具有 IP 信誉规则集的恶意机器人的 Web 应用程序。
  • 针对 DDoS 攻击的应用程序。 有关详细信息,请参阅 应用程序 DDoS 保护

WAF 策略和规则

可以配置 WAF 策略 并将该策略关联到一个或多个 Azure Front Door 域进行保护。 WAF 策略包含两种类型的安全规则:

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

当两者都存在时,会在处理托管规则集中的规则之前处理自定义规则。 规则由匹配条件、优先级和作组成。 支持的作类型包括 ALLOW、BLOCK、LOG 和 REDIRECT。 可以通过组合托管规则和自定义规则来创建完全自定义的策略,以满足特定的应用程序保护要求。

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

Azure Front Door 提供的 Web 应用程序一次只能有一个与之关联的 WAF 策略。 但是,可以具有 Azure Front Door 配置,而无需与它关联的任何 WAF 策略。 如果存在 WAF 策略,则会将其复制到我们所有边缘位置,以确保全球一致的安全策略。

WAF 模式

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

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

WAF 操作

当请求与规则的条件匹配时,WAF 客户可以选择从其中一项作运行:

  • 允许:请求通过 WAF 传递并转发到源。 没有进一步较低的优先级规则可以阻止此请求。
  • 阻止:请求被阻止,WAF 将响应发送到客户端,而无需将请求转发到源。
  • 日志:请求记录在 WAF 日志中,WAF 继续评估优先级较低的规则。
  • 重定向:WAF 将请求重定向到指定的 URI。 指定的 URI 是策略级设置。 配置后,与 重定向 作匹配的所有请求都会发送到该 URI。
  • 异常分数:匹配具有此作的规则时,总异常分数将增量增加。 此默认作适用于默认规则集 2.0 或更高版本。 它不适用于 Bot Manager 规则集。

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 应用程序防火墙默认规则集规则组和规则

机器人保护规则集

可以启用托管机器人保护规则集,对来自所有机器人类别的请求执行自定义作。

支持三个机器人类别: BadGoodUnknown。 WAF 平台管理和动态更新机器人签名。

  • 错误:坏机器人是具有恶意 IP 地址的机器人,以及伪造其标识的机器人。 坏机器人包括来自Microsoft威胁情报源的高置信度 IP 指标和 IP 信誉源的恶意 IP 地址。 坏机器人还包括将自己标识为良好机器人的机器人,但其 IP 地址不属于合法的机器人发布者。
  • 良好:良好的机器人是受信任的用户代理。 良好的机器人规则分为多个类别,以提供对 WAF 策略配置的精细控制。 这些类别包括已验证的搜索引擎机器人(如必应机器人)、验证的链接检查器机器人、已验证的社交媒体机器人(如 LinkedInBot)、已验证的广告机器人、验证的内容检查器机器人和已验证的其他机器人。
  • 未知:未知机器人是用户代理,无需进行其他验证。 未知机器人还包括源自Microsoft威胁情报源的中等置信度 IP 泄露指标的恶意 IP 地址。

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

显示机器人保护规则集的屏幕截图。

如果启用了机器人保护,则会根据配置的作阻止、允许或记录与机器人规则匹配的传入请求。 坏机器人被阻止,允许良好的机器人,默认情况下会记录未知机器人。 可以设置自定义作来阻止、允许、记录或 JS 质询不同类型的机器人。 可以从存储帐户、事件中心、日志分析或将日志发送到合作伙伴解决方案来访问 WAF 日志。

Bot Manager 1.1 规则集在 Azure Front Door 高级版上可用。

有关详细信息,请参阅 Azure WAF 的 Bot Manager 1.1 和 JavaScript 挑战:导航机器人威胁地形

配置

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

监测

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

后续步骤