我们引入了一组 L7 衡量指标,以便调整 WAF 大小。根据这些衡量指标提供的数据,您可以计划 WAF 资源分配。

注:

必须在 NSX Advanced Load Balancer 上启用 WAF,才能分析 WAF 绕过衡量指标。其他衡量指标主要基于 HTTP,也用于调整 WAF 大小。

WAF 绕过

被视为安全的一类 HTTP 请求不需要 WAF 检查,可以直接转发到应用程序。例如,用于获取 .jpg 图像的无参数 HTTP GET

WAF 配置文件配置中的静态扩展字段包含被视为安全的所有请求。默认情况下,包含的扩展名为 .gif、.jpg、.jpeg、.png、.pdf、.js、.css、.ico、.svg 和 .webp。

对于此类文件,无参数 HTTP GET 请求被视为安全请求,并将绕过 WAF。从 WAF 大小调整的角度来看,这些 HTTP 请求很重要。如果与 Web 浏览器交互的 Web 应用程序发出的请求大多会绕过 WAF,则 WAF 将不需要太多资源。或者,如果绕过比率较低,WAF 会检查大多数 HTTP 请求,从而导致资源消耗增加。

以下 L7 衡量指标提供有关 WAF 绕过所产生影响的数据。

  • l7_client.sum_waf_disabled – 给定衡量指标时间间隔内绕过 WAF 的请求总数。

  • l7_client.avg_waf_disabled – 每秒绕过 WAF 的平均事务数。

  • l7_client.pct_waf_disabled – 绕过 WAF 的事务数占收到的请求总数的百分比。

HTTP 标头计数

WAF 会检查从浏览器发送到 Web 应用程序的 HTTP 标头。要处理的标头数越多,WAF 需要的资源可能也越多。以下 L7 衡量指标提供有关已处理 HTTP 标头数量的数据。

  • l7_client.sum_http_headers_count – 给定衡量指标时间间隔内所有请求的 HTTP 标头总数。

  • l7_client.avg_http_headers_count – 每个请求的 HTTP 标头平均数。

HTTP 标头大小

WAF 处理的 HTTP 标头的大小直接影响资源利用率。以下 L7 衡量指标提供有关已处理 HTTP 标头大小的数据。

  • l7_client.sum_http_headers_bytes – 给定衡量指标时间间隔内 HTTP 请求标头的总大小。

  • l7_client.avg_http_headers_bytes – 每个请求的 HTTP 标头平均大小。

HTTP 请求方法比率

WAF 收到的 HTTP POST 或 HTTP GET 请求数量表明了 Web 应用程序行为。以下 L7 衡量指标为百分比值,表示收到的 GET 和 POST 请求数:

  • l7_client.pct_get_reqs – HTTP GET 请求数占收到的请求总数的百分比。

  • l7_client.pct_post_reqs – HTTP POST 请求数占收到的请求总数的百分比。

如果 l7_client.pct_get_reqs 的值为 60 且 l7_client.pct_post_reqs 的值为 39,则表示收到的请求中 60% 为 GET 请求,39% 为 POST 请求。其余 1% 被视为隐式请求。

HTTP POST 大小

HTTP POST 请求的大小直接影响 WAF 资源利用率。POST 请求的大小越大,资源利用率越高。以下 L7 衡量指标提供有关 POST 请求大小的数据。

  • l7_client.sum_post_bytes – HTTP POST 请求的总大小。

  • l7_client.avg_post_bytes – HTTP POST 请求的平均大小。

HTTP 参数

HTTP 参数的数量越多,WAF 需要的资源也将越多。随着每个参数的添加,WAF 消耗的资源会显著增加,并且其性能会降低。以下 L7 衡量指标提供有关 HTTP 参数计数的数据。

  • l7_client.sum_http_params_count – HTTP 请求参数总数。

  • l7_client.avg_http_params_count – 每个请求的 HTTP 请求参数平均数。

  • l7_client.sum_reqs_with_params – 至少包含一个参数的 HTTP 请求总数。

  • l7_client.avg_params_per_req – 每个请求的 HTTP 请求参数平均数,仅考虑包含参数的请求。

l7_client.sum_http_params_countl7_client.avg_http_params_count 会考虑所有请求,包括用于计算值的无参数请求。但是,l7_client.sum_reqs_with_paramsl7_client.avg_params_per_req 只考虑至少包含一个参数或包含多个参数的请求。

HTTP URI 长度

WAF 资源利用率随 HTTP URI 长度的增加而增加。以下 L7 衡量指标提供有关 HTTP URI 长度的数据。

  • l7_client.sum_uri_length – HTTP 请求 URI 的总长度。

  • l7_client.avg_uri_length – 每个请求的 HTTP URI 平均长度。