跳转到内容
搜索文档

启用托管规则集

最后更新 查看 MarkdownAgent 设置

通过托管规则集,您可以快速部署由 Cloudflare 维护的预构建防火墙规则。您可以使用 Cloudflare Network Firewall 来控制启用哪些托管规则。

除了启用托管规则集之外,您还可以添加并启用自定义策略。请参阅添加策略

要启用或禁用规则,您需要指定应重写(override)哪些属性。重写是在 Managed 阶段的根规则集(控制哪些托管规则处于活动状态的顶级规则集)中配置的。此根规则集只能包含一条规则,但该单条规则可以针对不同的托管规则包含多个重写。

Cloudflare 建议首先将 action 设置为 log 以评估影响,然后再切换为阻止(block)。

您有多种启用规则的选项:

  • 选择单个规则并启用它。
  • 通过在 magic-transit-phase 中按类别启用以启用多个规则。
  • 启用整个规则集。

API

1. 创建 Managed 阶段 Managed 类型规则集

要创建托管规则集,您必须首先构建一个包含以下内容的请求:

  • managed_ruleset_id:包含您要启用规则的 Managed 阶段 Managed 类型规则集的 ID。要找到此 ID,请使用 GET /accounts/{account_id}/rulesets?kind=managed&phase=magic_transit_managed 列出可用的托管规则集。
  • managed_rule_id:您要启用规则的 ID。

此外,您还需要想要重写的属性。您可以重写的属性包括:

  • enabled:此值可以设置为 truefalse。当设置为 true 时,如果没有重写操作,该规则将匹配数据包并应用规则'的默认操作。当设置为 false 时,该规则将被禁用,且不匹配任何数据包。
  • action:此值可以设置为 log,以便该规则仅产生日志,而不是应用规则的默认操作。

规则的 enabledaction 属性在 Managed 阶段的 Managed 类型规则集中设置。目前,Managed 阶段中的所有规则默认都是禁用的。

下面的示例包含一个针对 Managed 阶段 Managed 类型规则集的请求。

示例请求 - 创建 Managed 阶段 Managed 类型规则集bash
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "name": "execute ruleset",
  "description": "Ruleset containing execute rules",
  "kind": "root",
  "phase": "magic_transit_managed",
  "rules": [
    {
      "expression": "true",
      "action": "execute",
      "description": "Enable one rule ",
      "action_parameters": {
        "id": "<MANAGED_RULESET_ID>",
        "version": "latest",
        "overrides": {
          "rules": [
            {
              "id": "<MANAGED_RULE_ID>",
              "enabled": true,
              "action": "log"
            }
          ]
        }
      }
    }
  ]
}'

2. PATCH Managed 阶段 Managed 类型规则集

因为根规则集只能包含一条规则,所以当您想启用其他托管规则时,必须对该现有规则进行 PATCH 操作(而不是添加新规则)。

在第一步示例的基础上,下面的示例启用了一个类别,以便选择多条规则而不是单条规则。该类别将被设置为 log 模式,这意味着规则可以产生日志,但不会接收或丢弃数据包。

示例请求 - PATCH Managed 阶段 Managed 类型规则集bash
curl --request PATCH \
https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets/{root_kind_ruleset}/rules/{root_kind_rule} \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "expression": "true",
  "action": "execute",
  "action_parameters": {
    "id": "<MANAGED_RULESET_ID>",
    "version": "latest",
    "overrides": {
      "rules": [
        {
          "id": "<MANAGED_RULE_ID>",
          "enabled": true
        }
      ],
      "categories": [
        {
          "category": "simple",
          "enabled": true,
          "action": "log"
        }
      ]
    }
  }
}'

3. 启用所有规则

要启用完整的规则集或启用所有规则,请发送以下请求。

启用所有规则的示例请求bash
curl --request PATCH \
https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets/{root_kind_ruleset}/rules/{root_kind_rule} \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "expression": "true",
  "action": "execute",
  "action_parameters": {
    "id": "<MANAGED_RULESET_ID>",
    "version": "latest",
    "overrides": {
      "enabled": true
    }
  }
}'

4. 删除规则集

要删除规则集,请参阅删除规则集中的规则

Cloudflare 仪表板

启用规则

您还可以使用仪表板来启用托管规则集:

  1. 登录到 Cloudflare 仪表板,然后转到 Networking(网络) > Firewall policies(防火墙策略)
  2. 选择 Managed rulesets(托管规则集)。这是仪表板列出您所有托管规则的位置。
  3. 要启用规则,请开启 Status(状态)

编辑规则

要编辑规则:

  1. 登录到 Cloudflare 仪表板,然后转到 Networking(网络) > Firewall policies(防火墙策略)
  2. 选择 Managed rulesets(托管规则集)。这是仪表板列出您所有托管规则的位置。
  3. 选择三个点 > Edit(编辑)
  4. 进行必要的更改,然后选择 Save(保存)

查看规则

要查看关于规则的基本信息:

  1. 登录到 Cloudflare 仪表板,然后转到 Networking(网络) > Firewall policies(防火墙策略)
  2. 选择 Managed rulesets(托管规则集)。这是仪表板列出您所有托管规则的位置。
  3. 找到您的托管规则,选择三个点 > View(查看)

这篇文档对您有帮助吗?