如果更新了 CRS 版本,所有新的 CRS 规则将处于检测模式。在该模式下,您可以更新 CRS 规则集,而不会在生产中产生任何风险。不过,必须手动将这些新规则更改为实施模式(或使用策略模式)。

注:
  • 仅当您具有适用于云服务的 NSX Advanced Load Balancer Enterprise 许可证时,此功能才可用。

  • 对于 ENTERPRISE_WITH_CLOUD_SERVICES 层中的控制器设置,WAF 特征码服务会自动将新规则推送到已启用此服务的控制器。

  • 对于没有此设置的控制器,您可以选择在新规则可用时接收包含下载链接的通知。下载后,可以手动将规则上载到 NSX Advanced Load Balancer 控制器

所有更新的规则将继续保持相同的模式,现有的例外将应用于这些规则。

要更新 CRS 规则,请执行以下操作:

  1. 导航到模板 > WAF > WAF 策略

  2. 单击 WAF 策略的编辑图标。

  3. 特征码选项卡下,向下滚动到 CRS 规则部分。



    注:

    重置覆盖按钮可将所有规则模式更改重置回继承的模式。在 CRS 更新后,当新规则通过测试并且现在可以成为 WAF 策略模式的一部分时,该按钮非常有用。

  4. 从下拉菜单中选择所需的 CRS 版本



  5. 此时将显示更改日志,如下所示。单击确定以确认并更新 CRS 版本。



    WAF 处理的最后一步是特征码检查。可以在特征选项卡下面配置 CRS。您可以配置为在 CRS 之前(CRS 之前的规则)或在 CRS 之后(CRS 之后的规则)执行自定义规则。

注:

使用异常检测等功能时,必须启用 CRS 组 CRS_901_Initialization,否则所需的异常阈值不会配置为默认值。通常建议保持该组处于启用状态。

自动更新 CRS 规则

NSX Advanced Load Balancer 22.1.3 开始,支持自动更新 CRS 规则。在 NSX Advanced Load Balancer 中引入了以下两个用于自动更新 CRS 的复选框。

  • 启用 CRS 自动更新 - CLI 的对应标记为 auto_update_crs

  • 在检测模式下启用所有新规则 - CLI 的对应标记为 updated_crs_rules_in_detection_mode

启用 CRS 自动更新

如果选中启用 CRS 自动更新选项,系统会将此策略中使用的 CRS 版本保持为最新。如果在控制器上有较新的 CRS 对象可用,系统将启动该 WAF 策略的 CRS 升级过程。如果将当前 CRS 版本设置为 CRS-VERSION-NOT-APPLICABLE,则不会更新策略。启用 CRS 自动更新复选框位于模板 > WAF > WAF 策略特征码下面,如下所示。



您可以登录 NSX Advanced Load Balancer 控制器,然后使用 show wafpolicy <policy name> 命令检查 auto_update_crs 标记的状态。

[admin:controller]: > show wafpolicy Test-1 | grep crs
| waf_crs_ref                             | CRS-2022-2                                     |
| auto_update_crs                         | False                                          |
| updated_crs_rules_in_detection_mode     | True                                           |
[admin:controller]: >

在检测模式下启用所有新规则

更新 CRS 时,默认情况下将在“检测”模式下添加新规则。从 NSX Advanced Load Balancer 22.1.3 开始,仅当策略处于“实施”模式时,CRS 更新才会以不同的方式处理新规则。

在这种情况下,更新将通过为新规则添加 CRS 覆盖,将新规则设置为“检测”模式。如果未设置 updated_crs_rules_in_detection_mode 标记或策略模式为“检测”,则将添加不含新 CRS 覆盖的规则。此标记将用于 auto_update_crs (CLI) 和基于 Ul 的 CRS 更新工作流。

在检测模式下启用所有新规则位于模板 > WAF > WAF 策略特征码下面,如启用 CRS 自动更新部分中的屏幕截图所示。

您可以登录 NSX Advanced Load Balancer 控制器,然后使用 show wafpolicy <policy name> 命令检查 updated_crs_rules_in_detection_mode 标记的状态。

[admin:controller]: > show wafpolicy Test-1 | grep crs
| waf_crs_ref                             | CRS-2022-2                                     |
| auto_update_crs                         | False                                          |
| updated_crs_rules_in_detection_mode     | True                                           |
[admin:controller]: >