Managed Rulesets を使うと、Cloudflare が管理する事前構築済みのファイアウォールルールをすばやく導入できます。有効にするマネージドルールは、Cloudflare Network Firewall で制御します。
Managed Rulesets の有効化に加えて、カスタムポリシーの追加と有効化もできます。詳細は ポリシーを追加する を参照してください。
ルールを有効または無効にするには、上書きするプロパティを指定します。上書きは Managed フェーズのルートルールセット(有効なマネージドルールを制御する最上位のルールセット)で設定します。このルートルールセットに含められるルールは 1 つだけですが、その 1 つのルールに、複数のマネージドルール向けの上書きを含められます。
最初は action を log にして影響を確認し、その後でブロックへ切り替えることを推奨します。
ルールを有効にする方法は複数あります。
- 個別のルールを選んで有効にする。
magic-transit-phaseでカテゴリ単位に有効にして、複数ルールを有効にする。- ルールセット全体を有効にする。
マネージドルールセットを作成するには、まず次を含むリクエストを組み立てます。
managed_ruleset_id: 有効にしたいルールを含む、Managed フェーズの Managed kind ルールセットの ID です。この ID を調べるには、GET /accounts/{account_id}/rulesets?kind=managed&phase=magic_transit_managedで利用可能なマネージドルールセットを一覧表示します。managed_rule_id: 有効にしたいルールの ID です。
あわせて、上書きしたいプロパティも必要です。上書きできるプロパティは次のとおりです。
enabled:trueまたはfalseを設定できます。trueの場合、ルールはパケットに一致し、actionを上書きしていなければルールのデフォルトアクションを適用します。falseの場合、ルールは無効になり、どのパケットにも一致しません。action:logにすると、ルールのデフォルトアクションを適用せず、ログだけを出力します。
ルールの enabled と action は、Managed フェーズの Managed kind ルールセットで設定します。Managed フェーズのルールは、現在デフォルトですべて無効です。
次の例は、Managed フェーズの Managed kind ルールセット向けのリクエストです。
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"
}
]
}
}
}
]
}'ルートルールセットに含められるルールは 1 つだけです。追加のマネージドルールを有効にするときは、新しいルールを追加するのではなく、既存のルールを PATCH します。
前の手順の例を続けて、次の例では単一ルールではなくカテゴリを有効にして複数ルールを選びます。カテゴリは log モードにします。ログは出せますが、パケットの許可や破棄は行いません。
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"
}
]
}
}
}'ルールセット全体、またはすべてのルールを有効にするには、次のリクエストを送ります。
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
}
}
}'ルールセットの削除は、ルールセット内のルールを削除する を参照してください。
ダッシュボードでも Managed Rulesets を有効にできます。
- Cloudflare ダッシュボード ↗ にログインし、Networking > Firewall policies を開きます。
- Managed rulesets を選びます。ここに、管理対象のすべてのマネージドルールが一覧表示されます。
- ルールを有効にするには、Status をオンにします。
ルールを編集するには、次の手順を行います。
- Cloudflare ダッシュボード ↗ にログインし、Networking > Firewall policies を開きます。
- Managed rulesets を選びます。ここに、管理対象のすべてのマネージドルールが一覧表示されます。
- 三点リーダー > Edit を選びます。
- 必要な変更を終えたら、Save を選びます。
ルールの基本情報を表示するには、次の手順を行います。
- Cloudflare ダッシュボード ↗ にログインし、Networking > Firewall policies を開きます。
- Managed rulesets を選びます。ここに、管理対象のすべてのマネージドルールが一覧表示されます。
- 対象のマネージドルールを探し、三点リーダー > View を選びます。