コンテンツにスキップ

APIを介しての設定

Rulesets APIを使用して、オーバーライドを定義することで、HTTP DDoS攻撃保護の管理ルールセットを構成します。

各ゾーンには、デフォルトでHTTP DDoS攻撃保護の管理ルールセットが有効になっています。これは、ddos_l7フェーズのルールセットに管理ルールセットを明示的にデプロイする必要がないことを意味します。オーバーライドを構成する必要がある場合は、フェーズルールセットにルールを作成するだけで済みます。

HTTP DDoS攻撃保護の管理ルールセットのオーバーライドを構成する

オーバーライドを使用して、HTTP DDoS攻撃保護の管理ルールセットを構成します。オーバーライドを使用すると、デフォルト値とは異なるアクションや感度レベルを定義できます。利用可能なアクションおよび感度レベルの値についての詳細は、ルールセットパラメータを参照してください。

オーバーライドには、ルールセット、タグ、またはルールスコープがあります。タグおよびルールの構成は、ルールセットの構成よりも優先されます。

ゾーンレベルおよびアカウントレベルでオーバーライドを作成できます。アカウントレベルのオーバーライドを使用すると、単一のルールでアカウント内の複数のゾーンに同じオーバーライドを適用できます。たとえば、アカウントレベルのオーバーライドを使用して、特定の管理ルールセットルールの感度を下げたり、複数のゾーンに対してIPリストを除外したりできます。ただし、特定のゾーンにHTTP DDoS攻撃保護の管理ルールセットのオーバーライドがある場合、そのゾーンに対してアカウントレベルのオーバーライドは評価されません。

複数のルールを作成する

ddos_l7フェーズエントリポイントルールセットに複数のルールを作成して、異なるセットの受信リクエストに対して異なるオーバーライドを定義します。HTTP DDoS保護をカスタマイズしたいトラフィックに応じて、各ルール式を設定します。

オーバーライドを作成するフェーズエントリポイントルールセット内のルールは、ルール式と感度レベルに一致するまで順番に評価され、Cloudflareはリクエストに一致する最初のルールを適用します。したがって、エントリポイントルールセット内のルールの順序は非常に重要です。

API呼び出しの例

ゾーンレベルの構成例

以下のPUT例は、ゾーンレベルでddos_l7フェーズの新しいルールセットを作成(または既存のものを更新)します。このリクエストには、HTTP DDoS攻撃保護の管理ルールセットのデフォルトの動作を調整するためのいくつかのオーバーライドが含まれています。これらのオーバーライドは次のとおりです:

  • 管理ルールセットのすべてのルールは、managed_challengeアクションを使用し、感度レベルはmediumです。
  • <TAG_NAME>でタグ付けされたすべてのルールは、感度レベルがlowです。
  • IDが<MANAGED_RULESET_RULE_ID>のルールは、blockアクションを使用します。
リクエスト
curl --request PUT \
https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/ddos_l7/entrypoint \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"description": "ゾーンレベルのフェーズエントリポイントルールセットでHTTP DDoS攻撃保護の管理ルールセットを実行する",
"rules": [
{
"action": "execute",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"overrides": {
"sensitivity_level": "medium",
"action": "managed_challenge",
"categories": [
{
"category": "<TAG_NAME>",
"sensitivity_level": "low"
}
],
"rules": [
{
"id": "<MANAGED_RULESET_RULE_ID>",
"action": "block"
}
]
}
},
"expression": "true"
}
]
}'

レスポンスは、作成された(または更新された)フェーズエントリポイントルールセットを返します。

レスポンス

{
"result": {
"id": "<PHASE_ENTRY_POINT_RULESET_ID>",
"name": "default",
"description": "ゾーンレベルのフェーズエントリポイントルールセットでHTTP DDoS攻撃保護の管理ルールセットを実行する",
"kind": "zone",
"version": "1",
"rules": [
{
"id": "<RULE_ID>",
"version": "1",
"action": "execute",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"version": "latest",
"overrides": {
"action": "managed_challenge",
"categories": [
{
"category": "<TAG_NAME>",
"sensitivity_level": "low"
}
],
"rules": [
{
"id": "<MANAGED_RULESET_RULE_ID>",
"action": "block"
}
],
"sensitivity_level": "medium"
}
},
"expression": "true",
"last_updated": "2021-06-16T04:14:47.977741Z",
"ref": "<RULE_REF>",
"enabled": true
}
],
"last_updated": "2021-06-16T04:14:47.977741Z",
"phase": "ddos_l7"
}
}

管理ルールセットのオーバーライドをRulesets APIを使用して定義する方法の詳細については、管理ルールセットのオーバーライドをRuleset Engineのドキュメントで参照してください。

アカウントレベルの構成例

以下のPUT例は、アカウントレベルでddos_l7フェーズの新しいルールセットを作成(または既存のものを更新)します。この例では、allowlisted_ips IPリストからのIPアドレスからのリクエストに対して単一のルールオーバーライドを定義しています。設定は次のとおりです:

  • IDが<MANAGED_RULESET_RULE_ID>のルールは、HTTP DDoS攻撃保護の管理ルールセットに属し(IDは<MANAGED_RULESET_ID>)、eoff(Essentially Off)感度レベルを持ち、logアクションを実行します。
リクエスト
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets/phases/ddos_l7/entrypoint \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"description": "許可されたIPアドレスのために管理ルールセットルールを無効にする",
"rules": [
{
"expression": "ip.src in $allowlisted_ips",
"action": "execute",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"overrides": {
"rules": [
{
"id": "<MANAGED_RULESET_RULE_ID>",
"action": "log",
"sensitivity_level": "eoff"
}
]
}
}
}
]
}'

レスポンスは、作成された(または更新された)フェーズエントリポイントルールセットを返します。

レスポンス

{
"result": {
"id": "<PHASE_ENTRY_POINT_RULESET_ID>",
"name": "default",
"description": "許可されたIPアドレスのために管理ルールセットルールを無効にする",
"kind": "root",
"version": "1",
"rules": [
{
"id": "<RULE_ID>",
"version": "1",
"action": "execute",
"action_parameters": {
"id": "<MANAGED_RULESET_ID>",
"version": "latest",
"overrides": {
"rules": [
{
"id": "<MANAGED_RULESET_RULE_ID>",
"action": "log",
"sensitivity_level": "eoff"
}
]
}
},
"expression": "ip.src in $allowlisted_ips",
"last_updated": "2022-10-16T04:14:47.977741Z",
"ref": "<RULE_REF>",
"enabled": true
}
],
"last_updated": "2022-10-16T04:14:47.977741Z",
"phase": "ddos_l7"
}
}

管理ルールセットのオーバーライドをRulesets APIを使用して定義する方法の詳細については、管理ルールセットのオーバーライドをRuleset Engineのドキュメントで参照してください。