Cloudflare の侵入検知システム(IDS)は、Cloudflare Advanced Network Firewall の機能です。トラフィック内の幅広い既知の脅威シグネチャを能動的に監視できます。IDS はファイアウォールのセキュリティ範囲を広げ、より大きな脅威データベースと照合します。ランサムウェア、データの持ち出し、ネットワークスキャンなど、ネットワークトラフィック上のシグネチャ(「フィンガープリント」)に基づく高度な攻撃を検出します。
Cloudflare のグローバル anycast ネットワークでは、次の利点があります。
- Cloudflare のグローバルネットワーク容量全体が、そのまま IDS の容量になります。
- 冗長性とフェイルオーバーが組み込まれています。すべてのサーバーが Cloudflare の IDS ソフトウェアを実行し、トラフィックは送信元に最も近いネットワーク拠点へ自動的に集まります。
- Cloudflare の IDS 機能の改善が継続的にデプロイされます。
IDS の有効化と新しいルールセットの作成は、IDS を有効にする を参照してください。IDS を有効にすると、トラフィックがスキャンされ、悪意のある通信が検出されます。検出結果は、ダッシュボードから設定できる宛先へ記録されます。検出結果を受け取る宛先の設定は、IDS ログ を参照してください。分析されたすべてのトラフィックは Network Analytics からも確認できます。分析データのクエリは GraphQL Analytics を参照してください。
Cloudflare の IDS は、グローバルネットワークの脅威インテリジェンスを活用し、Cloudflare Firewall の機能を拡張して、悪意のある攻撃者からネットワークを監視・保護します。
ダッシュボードまたは API から IDS を有効にできます。
- Cloudflare ダッシュボード ↗ で Zero Trust > Traffic policies を開きます。
- Policy settings を選び、IDS をオンにします。
API で IDS を使い始めるには、まず magic-transit-ids-managed フェーズに、有効なルールを 1 件含む新しいルールセットを作成します。
-
Rulesets Engine のページ の手順に従い、アカウントのすべてのルールセットを表示します。フェーズが
magic-transit-ids-managed、kind がmanagedのルールセットが表示される必要があります。表示されない場合は、アカウントチームに問い合わせてください。マネージドルールセット ID は次の手順で使います。 -
magic_transit_ids_managedフェーズに、ルールを 1 件持つ新しいルートルールセットを作成します。次を実行します。
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"name": "IDS Execute ruleset",
"description": "Ruleset to enable IDS",
"kind": "root",
"phase": "magic_transit_ids_managed",
"rules": [
{
"enabled": true,
"expression": "true",
"action": "execute",
"description": "enable ids",
"action_parameters": {
"id": "${managed_ruleset_id}"
}
}
]
}'このルールセットを追加すると、IDS はパケットの検査を開始し、異常なトラフィックを報告します。次に Logpush を設定 して、異常トラフィックの詳細を受信できます。
- 前の手順で作成したルールを使い、IDS を有効または無効にします。Rulesets API のドキュメントでは ルールのパッチ方法 を説明しています。
たとえば、次のパッチリクエストでenabledフィールドをfalseにすると、IDS が無効になります。前の手順で作成したルールセットとルールの ID を使います。
curl --request PATCH \
https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets/{root_ruleset_id}/rules/{rule_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"enabled": false,
"expression": "true",
"action": "execute",
"action_parameters": {
"id": "${managed_ruleset_id}"
}
}'同様に、enabled フィールドを true にしたパッチリクエストを送ると、IDS が有効になります。
IDS ルールはパケットの一部に対して実行されます。IDS は次のフローにも対応しています。
- Cloudflare WAN から Cloudflare WAN。
- Magic Transit の受信トラフィック(送信トラフィックを Direct Server Return で処理する場合)。
- Magic Transit の受信および送信トラフィック(Magic Transit で Egress オプションが有効 な場合)。
検出したリスクを記録するには、Logpush を設定する必要があります。詳細は Logpush 宛先を設定する を参照してください。分析されたすべてのトラフィックは Network Analytics からも確認できます。分析データのクエリは GraphQL Analytics を参照してください。