Azure Front Door 的速率限制是什么?

通过速率限制,可以检测和阻止来自任何套接字 IP 地址的异常高级别的流量。 通过在 Azure Front Door 中使用 Azure Web 应用程序防火墙,可以缓解某些类型的拒绝服务攻击。 速率限制还可以保护你免受意外配置错误以在短时间内发送大量请求的客户端。

套接字 IP 地址是启动与 Azure Front Door 的 TCP 连接的客户端的地址。 通常,套接字 IP 地址是用户的 IP 地址,但它也可能是代理服务器或其他位于用户与 Azure Front Door 之间的设备的 IP 地址。 如果有多个客户端从不同的套接字 IP 地址访问 Azure Front Door,则它们各自应用自己的速率限制。

配置速率限制策略

速率限制是使用 自定义 WAF 规则配置的。

配置速率限制规则时,请指定 阈值。 阈值是允许在一分钟或五分钟内从每个套接字 IP 地址发出的 Web 请求数。

还必须指定至少一个 匹配条件,该条件告知 Azure Front Door 何时激活速率限制。 可以配置适用于应用程序中不同路径的多个速率限制。

如果需要对所有请求应用速率限制规则,请考虑使用匹配条件,如以下示例所示:

显示 Azure 门户的屏幕截图,其中显示了适用于所有请求的匹配条件。匹配条件查找主机标头大小为零或更大的请求。

前面的匹配条件标识长度大于0的标头的所有请求Host。 由于 Azure Front Door 的所有有效 HTTP 请求都包含标头 Host ,因此此匹配条件具有匹配所有 HTTP 请求的效果。

速率限制和 Azure Front Door 服务器

来自同一客户端的请求通常到达同一 Azure Front Door 服务器。 在这种情况下,只要达到每个客户端 IP 地址的速率限制,就会立即阻止请求。

来自同一客户端的请求可能到达尚未刷新速率限制计数器的其他 Azure Front Door 服务器。 例如,客户端可能会为每个请求打开新的 TCP 连接,并且每个 TCP 连接可以路由到不同的 Azure Front Door 服务器。

如果阈值足够低,则对新 Azure Front Door 服务器的第一个请求可以通过速率限制检查。 因此,对于低阈值(例如,每分钟不到 200 个请求),你可能会看到一些超出阈值的请求通过。

确定速率限制的阈值和时间窗口时要记住的一些注意事项:

  • 具有最小可接受请求计数阈值的较大窗口大小是防止 DDoS 攻击的最有效配置。 此配置更有效,因为当攻击者达到限制窗口剩余时间的阈值时,会阻止这些阈值。 因此,如果攻击者在一分钟窗口的前 30 秒内被阻止,则只有剩余 30 秒的速率限制。 如果攻击者在 5 分钟窗口的第一分钟被阻止,则剩余的 4 分钟速率会受到限制。
  • 设置更大的时间窗口大小(例如,5 分钟超过一分钟)和更大的阈值(例如,200 个超过 100 个)往往更准确地强制实施接近速率限制的阈值,而不是使用较短的时间窗口大小和较低的阈值。
  • Azure Front Door WAF 速率限制在固定时间段内运行。 违反速率限制阈值后,固定窗口的其余部分将阻止与速率限制规则匹配的所有流量。

后续步骤