マネージドルールセット を使うと、Cloudflare が維持するルールをすばやくデプロイできます。どのルールを有効にするかは、Cloudflare Network Firewall(旧称 Magic Firewall)で制御できます。
ルールを有効または無効にするには、上書きするプロパティを指定します。上書きは Managed フェーズの root 種別ルールセットで行われます。現時点では root ルールセットに置けるルールは 1 つだけですが、1 つのルールに複数の上書きを含められます。
ルールを有効にする方法は複数あります。
- 個別のルールを選んで有効にする。
magic-transit-phaseでカテゴリ単位に有効にし、複数ルールをまとめて有効にする。- ルールセット全体を有効にする。
マネージドルールセットを作成するには、まず次を含むリクエストを組み立てます。
managed_ruleset_id: 有効にしたいルールを含む、Managed フェーズの Managed 種別ルールセットの ID。managed_rule_id: 有効にしたいルールの ID。
加えて、上書きしたいプロパティが必要です。上書きできるプロパティは次のとおりです。
enabled:trueまたはfalseを設定できます。trueのとき、ルールはパケットに一致し、アクションが上書きされていなければルールの既定アクションを適用します。falseのとき、ルールは無効になり、どのパケットにも一致しません。action:logに設定すると、ルールの既定アクションを適用せず、ログだけを出します。
ルールの enabled と action は、Managed フェーズの Managed 種別ルールセットで設定します。現時点では、Managed フェーズのルールはすべて既定で無効です。
次の例は、Managed フェーズの Managed 種別ルールセット向けのリクエストです。
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"
}
]
}
}
}
]
}'root 種別のルールセットにルールが 1 つだけになるようにするには、ルールをパッチして新しいマネージドルールを有効にします。
前の手順の例を踏まえ、次の例では単一ルールではなく、カテゴリを有効にして複数ルールを選びます。カテゴリは 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}{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
}
}
}'ルールセットを削除するには、ルールセット内のルールを削除する を参照してください。
ダッシュボードでもマネージドルールセットを有効にできます。
- Cloudflare ダッシュボードで Firewall Policies ↗ ページを開きます。
- Managed rulesets タブで Deploy managed ruleset を選択します。
- ページが更新され、アカウントで使える、Cloudflare が設定したルールセットが表示されます。使いたいルールセットを Manage で選びます。目的のルールセットが表示されない場合は、アカウントマネージャーに連絡し、Network Firewall のマネージドルールセット一覧を入手してください。
- Ruleset configuration で、ドロップダウンから Ruleset action を設定します。ルールセットがトラフィックに与える影響を確認してからアクションを決めるため、この設定を Log に変更することを Cloudflare は推奨します。詳細は マネージドルールセットを上書きする を参照してください。
- 同じく Ruleset configuration で、Ruleset status のドロップダウンから Enabled を選びます。これにより、ルールセット内の全ルールの既定ステータスに上書きが適用されます。
- Save を選択し、ルール単位の上書きなしで Network Firewall のマネージドルールセットをデプロイします。
ルール単位の上書きを適用すると、マネージドルールセットの動作をカスタマイズできます。上のルールセット設定で Cloudflare の推奨を適用した場合、ルールは Log アクションと Enabled ステータスになります。
一方、前の手順で Cloudflare の推奨を適用していない場合、ルールセットはすべての既定値のまま実装されます。
ダッシュボードでルール単位の上書きを追加する手順は次のとおりです。
- Cloudflare ダッシュボードで Firewall Policies ↗ ページを開きます。
- Managed rulesets タブで、ルール上書きを追加したい Network Firewall のマネージドルールセットを探し、Manage を選択します。
- Browse rules を選択します。
- 変更するルールで、ドロップダウンから Action を選んでアクションを変えるか、トグルでルールを無効または有効にします。
- Next を選択します。
- Save を選択します。
Cloudflare ダッシュボードに、設定したルール単位の上書きが表示されます。
- Cloudflare ダッシュボードで Firewall Policies ↗ ページを開きます。
- Managed rulesets タブで、削除したい Network Firewall のマネージドルールセットを探し、Manage を選択します。
- Delete deployment を選択します。
Cloudflare Network Firewall のマネージドルールセットは削除されます。