現在地›—›—

00

はじめに

Cloudflare ダッシュボードの「セキュリティ」配下で取得したスクリーンショットをもとに、検証環境A の構成と、各画面に表示される項目の意味・仕組み・確認すべき点を解説します。

本資料の読み方

導入の背景と要件

検証環境A は、API と生成 AI を使ったアプリケーションを公開しています。公開している API の全体像を把握し、API と AI アプリへの攻撃や不正利用を、同じエッジで制御することが求められています。

項目内容
ライセンス種類Enterprise。API Shield、Bot Management、AI Security for Apps、Client-Side Security Advanced、Advanced DDoS Protection を含む構成です。
導入前の課題公開している API の全体像(使われていない API、機密データを返す API)を把握できていません。また、生成 AI アプリに対するプロンプトインジェクションや、個人情報の送信を制御する必要があります。

アプリケーションセキュリティの役割

アプリケーションセキュリティのダッシュボードは、製品ごと(WAF、API Shield、Page Shield など)のメニューではなく、役割ごとに再編されています。保護の対象を見つけ、ルールで守り、結果を確かめる、という流れで画面が分かれています。

見つけるWeb アセット
API・スクリプト・Cookie を自動検出し、リスクをラベル付け
→
守るセキュリティ ルール
WAF・レート制限・API・クライアント側・DDoS のルールを一元管理
→
確かめる概要・Analytics
推奨アクションと、全トラフィック・イベントの分析
→
調整する設定
検出機能の有効化、セッション識別子などの前提設定

旧来の製品名と、現在の画面の対応は次のとおりです。

旧メニュー / 製品名現在の場所
WAF(カスタムルール・レート制限・マネージドルール)セキュリティ ルール
API Shield(Endpoint Management・Schema Validation など)Web アセット(検出・可視化)と、セキュリティ ルール(API ルール)
Page ShieldClient-side security に改称。Web アセットの「クライアント サイドのリソース」と、セキュリティ ルールの「コンテンツ セキュリティ ルール」
Firewall for AIAI Security for Apps に改称。検出結果のフィールドをカスタムルールで利用
DDoS Protectionセキュリティ ルール >「DDoS 攻撃対策」タブ

メニュー構成の全体像

メニュー / タブ役割本資料
Web アセット > 操作API の操作(ホスト名・メソッド・パスの組み合わせ)の一覧、リスク、ラベル2-1
Web アセット > シーケンスセッション単位の API の呼び出し順序2-4
Web アセット > スキーマ検証OpenAPI スキーマへの準拠状況と既定のアクション2-5
Web アセット > クライアント サイドのリソースブラウザで読み込まれるスクリプト、接続先、Cookie2-6
セキュリティ ルールカスタムルール、レート制限、API ルール、管理ルール、コンテンツセキュリティ、IP アクセス3-1
セキュリティ ルール > DDoS 攻撃対策DDoS の管理ルールセットとオーバーライド4-1

リクエストの流れ

セキュリティ機能は、Ruleset Engine の「フェーズ」として決まった順序で実行されます。ブロックやチャレンジなどの終了アクションが実行されると、それ以降のフェーズは評価されません。同じフェーズの中では、アカウントレベルのルールがゾーンレベルより先に実行されます。

1. HTTP DDoSddos_l7
→
2. カスタムルールhttp_request_firewall_custom
→
3. レート制限http_ratelimit
→
4. 管理ルールhttp_request_firewall_managed
→
5. Super Bot Fight Modehttp_request_sbfm
補足ネットワーク層と SSL/TLS の DDoS 対策は、この流れより前に常時自動で動作します。IP アクセスルールは、このフェーズの順序とは別に評価されます。Client-side security は訪問者のブラウザで読み込まれたリソースを監視する機能で、エッジでのリクエストの評価とは別の仕組みです。
この環境での読み取りカスタムルールでブロックしたリクエストは、後のフェーズの管理ルールには到達しません。誤検知の調査では、どのフェーズで止まったかを Security Events で先に確認します。

接続方法

方式概要特徴
プロキシ経由の DNS レコードDNS レコードをプロキシ(オレンジ色の雲)にすると、HTTP/HTTPS のリクエストが Cloudflare のエッジを経由します。本資料の WAF、API、クライアント側、HTTP DDoS の機能は、すべてこの経路のリクエストが対象です。
SpectrumHTTP 以外の TCP/UDP アプリケーションをプロキシします。ネットワーク層の DDoS オーバーライドを利用する条件の一つです(4-1)。

01

左ナビゲーションと共通要素

ゾーンを選択した状態の左ナビゲーションと、操作の詳細画面
図 1-1 ゾーンを選択した状態の左ナビゲーション(右側は「操作の詳細」画面。2-3 で解説します)

セキュリティ配下のメニュー

メニュー内容
概要Security Overview。設定の不備や検出されたリスクを、推奨アクションとして一覧表示します。
AnalyticsSecurity Analytics。アクションが実行されたかどうかに関係なく、全トラフィックを Bot スコアや攻撃スコアなどで分析します。
アカウント乱用防止 ベータAccount Abuse Protection。アカウントの大量作成やアカウント乗っ取りを検出します。
Web アセットAPI の操作、シーケンス、スキーマ、クライアントサイドのリソースを検出・管理します(02 章)。
セキュリティ ルールカスタムルール、レート制限、API ルール、管理ルール、コンテンツセキュリティ、IP アクセス、DDoS を一画面で管理します(03 章・04 章)。
設定検出機能のオン・オフや、セッション識別子などの前提を設定します。各ルール表の右下の「〇〇設定に移動」から、該当するカテゴリに移動できます。

画面上部の共通要素

要素意味
ページタイトルと「ドキュメントを表示」画面の名前と、対応する Cloudflare Docs へのリンクです。
説明文画面の役割です。Web アセットの説明文は、保護の設定は「セキュリティ ルール」画面で行うことを案内しています。
タブWeb アセットは「操作」「シーケンス」「スキーマ検証」「クライアント サイドのリソース」、セキュリティ ルールは「セキュリティ ルール」「DDoS 攻撃対策」に分かれています。
左上のクイック検索と「Back to Domains」ダッシュボード内の検索と、ゾーン一覧への戻り口です。

02

Web アセット

保護の対象を「把握する」ための画面です。API の操作、利用の流れ、スキーマ、ブラウザで動くリソースを、トラフィックから自動で検出します。

操作(Operations)一覧

Web アセットの操作一覧
図 2-1 Web アセット > 操作

Operations は、ホスト名・HTTP メソッド・パスの組み合わせ(操作)を一覧表示する画面です。旧 API Shield の Endpoint Management と API Discovery にあたります。

要素意味本環境
情報バナー操作が自動的に保存・監視・ラベル付けされることを示します。右側の「管理済み」「検出済み」は、両者の差分を確認するためのクイックフィルタです。—
リスクリスクラベルごとの件数です。クリックすると該当する操作に絞り込まれます(2-2)。zombie 56、sensitive 44、mixed-auth 3、missing-auth 2、errors-anomaly 1
ラベル用途を表すラベルの件数です。cf- で始まるものが管理ラベル、それ以外がユーザー定義ラベルです。cf-api-endpoint 10、cf-llm 2、cf-log-in 2、cf-account-update 1、ユーザー定義ラベル 3 種
ホスト名ホスト名ごとの操作の件数です。「もっと見る」で全ホストを表示します。5 ホスト以上(最多のホストで 44 件)
検索するパスやホスト名で部分一致検索します。—
すべてのメソッド/ホスト名/ラベルHTTP メソッド、ホスト名、ラベルで絞り込みます。—
状態操作の状態(full/candidate/shadow)で絞り込みます。3 件選択済み(全状態を表示)
パス変化する部分は {var1} のようなパス変数に正規化されます。正規化されずに個別の操作として残るものもあります。—
方法HTTP メソッドです(英語 UI の「Method」の訳)。GET など
パフォーマンスエラー率と、オリジンの応答時間(遅延)です。表示中の行はすべてエラー 100%
リスク/ラベルその操作に付いているリスクラベルとラベルです。—
行末の「…」詳細の表示、プロファイルの学習、ラベルの編集、削除などを実行します。—

操作の状態(Operation states)

状態意味
fullユーザーが保存、手動で追加、またはスキーマから作成した操作です。照合、ログ、検出、ルールに使われます。
candidateCloudflare がトラフィックから検出した操作です。レビューする前から、照合、ログ、検出、ルールに使われます。
shadowWeb アセットには存在しますが、照合、ログ、検出、ルールには使われない操作です。
補足検出(Discovery)の対象になるのは、エッジから 2xx の応答が返り、Workers から直接送られたものではなく、10 日間に 500 リクエスト以上ある操作です。表示されない操作は、まだこの条件を満たしていない可能性があります。
この環境での読み取り表示されている上位の操作は、すべて sensitive と zombie の両方が付き、エラー率が 100% です。機密データを返す API が、現在は使われていない(または正常に応答していない)状態と考えられます。廃止してよい API かを開発チームに確認し、不要であれば削除とフォールスルールール(2-5)で通信を止めることを検討します。

リスクラベルと管理ラベル

Cloudflare は保存された操作を約 1 日に 1 回スキャンし、リスクが見つかると次のラベルを自動で付けます。

リスクラベル付与される条件
cf-risk-zombie保存済みの操作に、32 日間トラフィックがない。廃止済み、または忘れられた API の可能性があります。
cf-risk-sensitiveレスポンスが WAF の機密データ検出(Sensitive Data Detection)に一致した。
cf-risk-missing-auth成功したリクエストのすべてに、設定したセッション識別子が含まれていない。
cf-risk-mixed-auth成功したリクエストの一部にだけ、セッション識別子が含まれている。
cf-risk-errors-anomaly直近 24 時間で、エラー応答が急増した。

管理ラベルは用途を表すラベルで、ラベルによって動作が変わる機能がある点が重要です。

管理ラベル用途と連動する機能
cf-llmLLM を利用するエンドポイントです。AI Security for Apps は、このラベルが付いた操作だけをスキャンします(3-2)。
cf-log-in認証情報を受け付けるエンドポイントです。
cf-account-updateアカウントやプロフィールを更新するエンドポイントです。
cf-api-endpoint機械可読なデータを返す、またはプログラムから呼び出されるエンドポイントです。
cf-rss-feedRSS クライアントからのアクセスを想定するエンドポイントです。Bot Fight Mode と Super Bot Fight Mode の対象外になります。
この環境での読み取りcf-risk-sensitive と、missing-auth または mixed-auth が同時に付いている操作は、「認証なしで機密データを返している」可能性があります。認証の不備(missing-auth 2 件、mixed-auth 3 件)が sensitive の操作と重なっているかを、最優先で確認します。

操作の詳細

操作の詳細画面
図 2-2 操作の詳細(GET の操作)

一覧の行から開く、1 つの操作についての詳細画面です。検出されたリスクの根拠と、保護の設定に必要な情報がまとまっています。

領域項目と意味本環境
ヘッダーパス、ホスト名、方法(メソッド)です。右側の「プロファイル学習中」は、プロファイルの学習を開始したことを示し、学習の完了を意味するものではありません。GET/プロファイル学習中
詳細操作 ID(UUID 形式。ルール式の cf.api_gateway.operation_id で参照)、ショート ID、ラベル(雲のアイコンが管理ラベル)、ルーティング(API Routing の設定)です。管理ラベル 2 件、ユーザー定義ラベル 2 件、ルーティングは未設定
セキュリティの概要この操作を含むシーケンスの数と、スキーマ検証の状況です。3 シーケンス内/アップロードされたスキーマはなし、学習済みスキーマが利用可能
レート制限の推奨事項セッション単位のリクエスト数から、推奨するしきい値を提示します。セッション データが不足しています
認証(過去 7 日間)成功したリクエストのうち、セッション識別子を含む割合です。100%(アクティブ 1、非アクティブ 0)
機密データの検出(過去 7 日間)レスポンスで検出された機密データの種類です。cf-risk-sensitive の根拠になります。UK National Insurance Number
分析リクエストの合計数と、成功・エラー別の時系列です。期間を切り替えられます。1.36M(前の期間比 ↘29.96%)、過去 24 時間
この環境での読み取り認証は 100% ですが、レスポンスから英国の国民保険番号が検出されています。認証済みのユーザーに、本来は返すべきでない個人情報を返していないかを確認します。

シーケンス

Web アセットのシーケンス
図 2-3 Web アセット > シーケンス

Sequence Analytics は、1 つのセッションが API をどの順序で呼び出したかを追跡し、よく出現する流れをまとめて表示する画面です。セッション識別子の設定が前提です。

項目意味
ホスト選択対象のホスト名を切り替えます。
開始パス/終了パスシーケンスの最初と最後の操作です。
相関スコアPrecedence score。終了の操作の前に開始の操作が呼ばれている確率を、直近 24 時間のデータから推定した値です。高、中、低、とても低い、で表示されます。
再生時間シーケンスに含まれる操作の数(長さ)を表す列と考えられます。シーケンスの長さの上限は 9 操作です。
頻度そのシーケンスが観測された回数です。
この環境での読み取り表示されている 10 件のうち 6 件が相関スコア「高」で、頻度は約 10 万〜39 万回です。順序が決まっている業務の流れがあれば、API シーケンスルール(3-5)で順序を強制できます。

スキーマ検証

Web アセットのスキーマ検証
図 2-4 Web アセット > スキーマ検証

Schema Validation は、リクエストを OpenAPI スキーマと照合し、準拠しないリクエストをブロックまたはログに記録する、ポジティブセキュリティのモデルです。

67エンドポイントの合計数
26検証なし
ブロックデフォルトのアクション
項目意味
スキーマ設定ゾーン全体の既定のアクションなどを設定します。
スキーマをアップロードOpenAPI v3 のスキーマを登録します。
フィルタメソッド、ホスト名、スキーマの有無で絞り込みます。
エンドポイントパス、メソッド、ホスト名です。
アクティブなスキーマその操作に適用中のスキーマです。「スキーマはありません」は未登録の意味です。
非準拠のリクエストは 24 時間続きます直近 24 時間に、スキーマに違反したリクエストの数です(英語 UI の「Non-compliant requests」の訳)。
アクション「デフォルト」は既定のアクションに従います。操作ごとに上書きできます。
補足アップロードしたスキーマへの違反は、カスタムルールでも cf.schema_validation.uploaded.violated フィールドとして参照できます。構造を検査するボディの上限は、Enterprise で 128 KiB です。Web アセットに登録されていない操作への通信は、フォールスルールール(cf.api_gateway.fallthrough_detected)で制御します。
この環境での読み取り表示されている操作はすべて「スキーマはありません」で、既定のアクションのブロックは働いていません。学習済みスキーマを確認してから適用することが、次の一手になります。

クライアントサイドのリソース

クライアントサイドのリソースの Cookies タブ
図 2-5 Web アセット > クライアント サイドのリソース > Cookies

Client-side security(旧 Page Shield)は、訪問者のブラウザで読み込まれるスクリプト、接続先、Cookie を監視する機能です。サードパーティのスクリプトが改ざんされると、カード情報などがブラウザから直接盗まれます。こうした攻撃は、サーバー側の WAF では検出できません。

列意味
名前Cookie の名前です。__cf_bm は Cloudflare の Bot 対策が、CF_Authorization と CF_AppSession は Cloudflare Access が設定する Cookie です。
ドメインとパスCookie の Domain 属性と Path 属性です。斜体と「?」のアイコンは、属性がないため推定した値であることを示します。
ホストによって設定その Cookie が観測されたホストです。
ライフタイムおおよその有効期間です。
最後の表示最後に検出された時刻です(Last seen)。
フィルタを追加/CSV をダウンロード条件による絞り込みと、エクスポートです。
補足画面の説明文によると、一覧には過去 7 日間の HTTP トラフィックで 3 回以上検出された Cookie が表示されます(画面の表示から読み取った内容です)。Cookie の監視は Business プラン以上、Cookie の詳細な属性とコンテンツセキュリティルールは Client-Side Security Advanced が必要です。
この環境での読み取りBot 対策と Access の Cookie が、複数のホストで観測されています。Access で保護しているアプリケーションが複数あり、その利用状況もこの一覧から確認できます。

03

セキュリティルール

リクエストに対する制御を「実行する」画面です。WAF、レート制限、API の各ルール、管理ルール、クライアント側のルール、IP アクセスルールが、種類ごとの表として縦に並んでいます。

カスタムルール

カスタムルールの一覧
図 3-1 カスタムルール(79 件中、上位 10 件を表示)

Custom rules は、Rules language の式で条件を自由に書き、ブロック、チャレンジ、ログ、スキップなどを実行するルールです。Bot スコア、WAF 攻撃スコア、API、AI Security for Apps など、他の機能の検出結果を条件として組み合わせられます。

ルール表の共通要素

要素意味
見出しの件数作成済みのルール数と上限です(例:79/1k rules)。カスタムルールの「0/10 rulesets」は、カスタムルールセットの利用数と上限です。
順序/⋮⋮評価の順序です。ドラッグで並べ替えます。終了アクションに一致すると、以降のルールは評価されません。
説明ルール式を自然文で表示したものです。
アクションログ、ブロック、実行など(5-2)。
CSRChallenge Solve Rate。解決されたチャレンジ数を、発行されたチャレンジ数で割った値です。チャレンジ系のアクションのルールでのみ値が出ます。
イベントルールに一致したイベント数の推移と件数です。
ステータスアクティブ、または無効です。
右下のボタン「検出設定に移動」などで、関連する設定画面に移動します。

この環境のルール(上位 10 件)

順序ルールの内容(一般名)アクションイベント
1AI アシスタントのホストへの全リクエストを記録ログ400
2同じホストで LLM のプロンプトの検出を記録ログ8
3LLM のプロンプトの検出を記録ログ771.19k
4プロンプト内のメールアドレスをブロック(ユーザーエージェントで対象を限定)ブロック0
5安全でないトピックをブロックブロック1
6AI アシスタントのホストで、プロンプトインジェクションをブロック(スコア 20 未満)ブロック0
7プロンプト内のメールアドレスを記録ログ384.52k
8安全でないトピックを記録ログ0
9AI アシスタントのホストで、プロンプトインジェクションを記録(スコア 20 未満)ログ0
10特定のホストで、検証済みのクライアント証明書(mTLS)がない接続をブロックブロック 無効0
この環境での読み取り同じ条件で「ログ」と「ブロック」のルールを対にしています。ブロックのルール(4〜6)が上にあるため、ブロックされたリクエストは下のログのルール(7〜9)には到達せず、ログ側の件数は「ブロックされなかった分」です。ブロックはユーザーエージェントなどで対象を絞って段階的に適用する、典型的な運用と考えられます。

AI Security for Apps のフィールド

AI Security for Apps(旧 Firewall for AI)は、cf-llm ラベルが付いた操作への JSON リクエスト(application/json)をスキャンし、その結果をフィールドとして設定します。カスタムルール 2〜9 は、このフィールドを条件にしています。

フィールド型と意味
cf.llm.prompt.detectedBoolean。リクエストに LLM のプロンプトが含まれているか。
cf.llm.prompt.pii_detectedBoolean。プロンプトに個人情報が含まれているか。
cf.llm.prompt.pii_categories配列。検出された個人情報の種類(EMAIL_ADDRESS など)。
cf.llm.prompt.unsafe_topic_detectedBoolean。安全でないトピックに該当するか。
cf.llm.prompt.injection_score1〜99。値が低いほどプロンプトインジェクションの可能性が高い。100 はスコア付けされていないことを示します。
補足検出フィールドは Enterprise の有償アドオンです。cf-llm ラベルが付いていない操作はスキャンされないため、LLM のエンドポイントを Web アセットで保存し、ラベルを付けることが前提です。

高度なレート制限ルール

高度なレート制限ルールの一覧
図 3-2 高度なレート制限ルール(4/100)

Rate limiting rules は、一定期間内のリクエスト数がしきい値を超えたときにアクションを実行するルールです。高度なレート制限(Advanced Rate Limiting)では、IP アドレス以外のカウント単位として、ヘッダー、Cookie、クエリ、JA3/JA4 フィンガープリント、JWT のクレーム、ボディの値などを選べます。

順序ルールの内容(一般名)アクションステータス
1特定のホストで、JWT のクレームごとにカウントブロック無効
2特定のユーザーエージェント(エミュレーターの痕跡)を記録ログ無効
3特定の URI に対して、Bot の条件と組み合わせて制限ブロック無効
4Bot スコア 30 未満、かつ WAF 攻撃スコア 50 以下のリクエストを制限ブロック無効
この環境での読み取り4 件とも無効で、設計の例は揃っていますが適用されていません。4 番は「自動化の可能性が高い」かつ「攻撃の可能性がある」リクエストだけを厳しく制限する、複数のシグナルを組み合わせた設計です。

レート制限ルールの設定画面

一覧の 1 番(JWT のクレームごとにカウントするルール)の編集画面です。画面は上から「どのリクエストを」「誰ごとに数え」「どのしきい値で」「何をするか」の順に並んでいます。

① 対象受信リクエストが一致する場合
→
② カウント単位同じ特性
→
③ しきい値レートが次の値を超えた場合
→
④ アクション次に、アクションを実行します
→
⑤ 継続方法以下の動作の場合
レート制限ルールの対象、カウント単位、しきい値の設定
図 3-3 ルール名、対象、カウント単位、しきい値
項目意味と仕組み本環境
ルール名一覧やイベントログに表示される名前です。—
AI による要約(黄色の帯)ルールの内容を AI が自然文で要約したものです。正確でない場合があります。「ホストへの全トラフィックをブロックする」と要約
受信リクエストが一致する場合カウントの対象にするリクエストの条件です。フィールド、オペレーター、値を選び、AND/OR で条件を重ねられます。ホスト名が特定の値と等しい
式のプレビュー条件を Rules language の式で表示したものです。画面には上限 4,000 文字と表示されます(Docs では式の上限を 4,096 文字としています)。32 文字
一致したリクエストの総数この条件に一致した過去 30 日間のリクエスト数と、ゾーン全体に占める割合です。127.11M(全トラフィックの 22.8%)
同じ特性誰ごとに数えるかを決めます。特性の値の組み合わせごとに、別々のカウンターが作られます。JWT クレーム(トークン構成を指定)
レート制限をキャッシュされたアセットに適用オンの場合は、キャッシュから応答したリクエストも数えます。オフにすると、オリジンに到達したリクエストだけを数えます。オン
カスタム カウント式を使用しますオンにすると、「対象」とは別の条件で数えられます。オフ
レートが次の値を超えた場合しきい値です。「リクエストに基づく」はリクエスト数で数えます。5 リクエスト/1 分
履歴プレビューの注記特性が IP、JA3、JA4 の場合だけ、過去のトラフィックに当てはめたプレビューが表示されます。—
レート制限ルールのアクション、継続方法、実行順序、ステータス
図 3-4 アクション、継続方法、実行順序、ステータス
項目意味と仕組み本環境
アクションを選択するしきい値を超えたときの処理です。ブロックは終了アクションのため、以降のルールは評価されません。ブロック
応答タイプ/応答コードブロックしたときに返す内容と HTTP ステータスコードです。デフォルトのレート制限レスポンス/429
以下の動作の場合「選択した期間のブロック」は、しきい値を超えると指定した期間が終わるまでブロックを続けます。「スロットル」は、しきい値を超えた分だけをブロックします。選択した期間のブロック/1 分
実行順序レート制限ルールの中で、このルールを評価する位置です。最初
ステータスアクティブにすると評価が始まります。無効
画面上の設定と同じ内容の API コール
図 3-5 画面上の設定と同じ内容の API コール

画面の設定と同じ内容を、Rulesets API の呼び出しとして表示します。Terraform や CI による設定管理に移すときの手がかりになります。

API のパラメータこの画面の値画面での項目
actionblockアクションを選択する
enabledfalseステータス(無効)
ratelimit.characteristicsJWT クレームの参照式、cf.colo.id同じ特性
ratelimit.period60期間(1 分)
ratelimit.requests_per_period5リクエスト
ratelimit.mitigation_timeout60以下の動作の場合 > 期間
position.index1実行順序(最初)
補足cf.colo.id(データセンター)は、画面で選択しなくても特性として自動で付きます。カウンターはデータセンターごとに管理されます。JWT のクレームが設定されるのは検証に成功した JWT だけです。しきい値を超えた分だけをブロックするスロットルは Enterprise の機能です。
この環境での読み取りAI による要約は「全トラフィックをブロックする」と読めますが、実際の設定は「JWT のクレームごとに 1 分間 5 リクエストを超えたら 1 分間ブロック」です。説明の際は、要約ではなく設定値で判断します。同じ IP アドレスの背後にいる複数のユーザーを区別でき、IP アドレスを変えても制限を回避できない設計です。

API シーケンスルール

API シーケンスルールの一覧
図 3-6 API シーケンスルール(2/25)

Sequence mitigation は、API の呼び出し順序を強制するルールです。開始と最終の 2 つの操作を指定し、直近のリクエストの中で順序が守られているかを判定します。

項目意味
名前ルールの名前です。
開始エンドポイント/最終エンドポイント順序の対象にする 2 つの操作です。セッションごとに直近 10 件のリクエスト(10 分以内)を参照します。
アクションブロック、またはログです。
順序ルールの内容(一般名)アクション
1残高照会をせずに送金を呼び出すことをブロックブロック
2一覧を取得せずに詳細を取得することを記録ログ
補足Sequence mitigation はクローズドベータで、Enterprise のお客様が対象です。
この環境での読み取り1 番は、スクリプトによる直接の API 呼び出しや、ビジネスロジックの悪用を防ぐルールです。2 番はログで影響を確認している段階と考えられます。

API JWT 検証ルール

API JWT 検証ルールの一覧
図 3-7 API JWT 検証ルール(1/20)

JWT validation は、オリジンに届く前にエッジで JWT の署名と有効期限を検証するルールです。IdP の公開鍵(JWKS)をトークン構成(Token configuration)として登録し、ルールで適用する対象を指定します。

項目意味本環境
名前/ホスト名ルールの名前と、適用するホスト名です。1 ホスト
アクション有効なトークンがないときの処理です。ブロック
ステータスアクティブ、または無効です。アクティブ
補足JWT 検証ルールは、式が false のとき(有効なトークンがないとき)にアクションを実行します。カスタムルールは式が true のときに実行されます。カスタムルールでは cf.api_gateway.tokens.presented と cf.api_gateway.tokens.valid で、より細かく条件を書けます。JWKS の鍵は自動で更新されないため、IdP の鍵を更新したらトークン構成も更新します。
この環境での読み取りトークン構成は、レート制限ルール 1 番(3-4)で JWT のクレームをカウント単位に使うための前提にもなっています。

管理ルール

管理ルールの一覧
図 3-8 管理ルール(2 個アクティブ)

Managed rules は、Cloudflare が作成・更新するルールセットを「実行」して適用するルールです。ゼロデイ脆弱性への対応も、Cloudflare がルールを追加することで反映されます。

ルールセット内容本環境
Cloudflare Exposed Credential Check送信された認証情報を、流出データベースと照合します。非推奨で、後継の漏洩認証情報の検出(Leaked credentials detection)への移行が推奨されています。無効
Cloudflare 管理ルールセットCloudflare の脅威インテリジェンスに基づく、主要なルールセットです。アクティブ
Cloudflare OWASP コア ルールセットスコア加算方式のルールセットです。Paranoia Level(PL1〜PL4)と、しきい値(Low 60 以上/Medium 40 以上(既定)/High 25 以上)を設定します。無効
AI セキュリティ ログモード ルールセットAI Security for Apps の検出結果を記録する、ログ専用のルールセットです。アクティブ
この環境での読み取りExposed Credential Check は無効のままで、後継の漏洩認証情報の検出に移行する余地があります。OWASP コア ルールセットは、ログで有効にして誤検知を確認してから適用することを検討します。

コンテンツセキュリティルール

コンテンツセキュリティルールの一覧
図 3-9 コンテンツ セキュリティ ルール(1/5)

Content security rules(旧 Page Shield のポリシー)は、Content Security Policy(CSP)のディレクティブを使い、ページで読み込みを許可するスクリプトや接続先を許可リストとして定義するルールです。Client-Side Security Advanced が必要です。

項目意味本環境
ディレクティブ「スクリプト」は script-src、「接続」は connect-src に相当します。接続, スクリプト
アクション許可はリストにないリソースをブラウザがブロックし、ログは違反だけを記録します。ログ
違反ブラウザから報告された CSP 違反の数です。0
この環境での読み取り1 件のルールがログで動作しており、違反は 0 件です。監視の段階のため、決済ページなど重要なページから許可に移行することを検討します。

IP アクセスルール

IP アクセスルール(未作成)
図 3-10 IP アクセス ルール(未作成)

IP Access rules は、IP アドレス、CIDR、ASN、国を指定して、許可、ブロック、チャレンジを行う従来型のルールです。

補足IP アドレスや ASN を許可すると、カスタムルール、レート制限、WAF の管理ルールがすべてバイパスされます。国を許可した場合は、管理ルールはバイパスされません。国単位のブロックは Enterprise プランの機能です。
この環境での読み取りIP アクセスルールは作成されていません。許可リストによるバイパスがないため、すべてのリクエストがカスタムルールと管理ルールで評価されます。

04

DDoS 攻撃対策

DDoS 対策は全プランで常時有効・自動です。この画面では、Cloudflare が管理する DDoS ルールセットの状態を確認し、必要に応じて動作を調整(オーバーライド)します。

ネットワーク層と SSL/TLS の保護

DDoS 攻撃対策タブ
図 4-1 セキュリティ ルール > DDoS 攻撃対策タブ
ルールセット対象となる攻撃本環境
SSL/TLS DDoS 攻撃からの保護SSL/TLS を悪用した攻撃(SSL フラッドによるリソースの枯渇、ネゴシエーション攻撃など)アクティブ
ネットワーク層 DDoS 攻撃からの保護ACK フラッド、SYN-ACK 増幅、UDP、ICMP、ボットネットによる L3/L4 の攻撃アクティブ
補足画面の説明文のとおり、これらのルールセットのオーバーライドは、Magic Transit または Spectrum を利用するエンタープライズのお客様が作成できます。
この環境での読み取り両方ともアクティブです。HTTP のプロキシを中心とした構成では、確認のみの画面と考えて差し支えありません。

HTTP 保護と DDoS オーバーライド

HTTP DDoS Attack Protection(ddos_l7 フェーズ)は常に有効です。オーバーライドで、ルールごとのアクションと感度を調整します(図 4-1 の下部)。

列意味本環境
名前オーバーライドの名前です。2 件
スコープグローバルはゾーンのすべてのリクエスト、ホスト名は式で絞った対象です。グローバル 1 件、ホスト名 1 件
アクション「実行」は、ルールセットに設定された既定のアクションのまま実行することを示します。実行
機密度感度(Sensitivity Level)です。高(既定)、中、低、実質オフがあります。デフォルト
補足Advanced DDoS Protection を契約していない場合、オーバーライドは全リクエストを対象にしたものを 1 つだけ作成できます。Advanced DDoS Protection(Enterprise)では、式で対象を絞ったオーバーライドを最大 10 個まで作成できます。
この環境での読み取り「ホスト名」スコープのオーバーライドがあるため、Advanced DDoS Protection の構成と考えられます。感度はどちらも既定のままです。

05

早見表

スコアの読み方

スコアフィールド読み方
Bot スコアcf.bot_management.score1〜99。値が低いほど自動化の可能性が高く、30 未満が目安です。
WAF 攻撃スコアcf.waf.score1〜99。値が低いほど攻撃の可能性が高い。UI の表記は「WAF 脅威スコア」です。
インジェクションスコアcf.llm.prompt.injection_score1〜99。20 未満はプロンプトインジェクションの可能性が高い。100 はスコア付けされていないことを示します。
相関スコア(シーケンス)—高・中・低・とても低い の 4 段階。高いほど、その順序で呼ばれる確率が高いことを示します。

アクションの種類

アクション動作
ブロックリクエストを拒否します(レート制限では既定で 429 を返します)。
マネージドチャレンジリクエストの特徴に応じて、Cloudflare がチャレンジの種類を選びます。
ログアクションは実行せずに、イベントとして記録します。新しいルールの影響の検証に使います。
スキップ以降の特定のルールや製品の評価をスキップします(誤検知の例外などに使います)。
実行管理ルールセットを適用します。管理ルールと DDoS オーバーライドに表示されます。

制御機能の使い分け

目的使う機能単位
既知の攻撃を止める管理ルールルールセット(Cloudflare が更新)
独自の条件で止める・記録するカスタムルールRules language の式
大量のリクエストを抑えるレート制限ルール特性(IP、JWT クレームなど)ごとのカウンター
API の形式を強制するスキーマ検証操作ごとの OpenAPI スキーマ
API の呼び出し順序を強制するAPI シーケンスルールセッションごとの直近のリクエスト
認証済みの呼び出しだけを通すAPI JWT 検証ルールトークン構成とホスト・操作
ブラウザで動くリソースを制限するコンテンツセキュリティルールCSP のディレクティブ
生成 AI への入力を制御するAI Security for Apps のフィールド + カスタムルールcf-llm ラベルの付いた操作

UI 表記の注意点

日本語 UI の表記本来の意味
方法HTTP メソッド(Method)
再生時間(シーケンス)シーケンスの長さ(含まれる操作の数)と考えられます
非準拠のリクエストは 24 時間続きます非準拠のリクエスト数(過去 24 時間)
機密度(DDoS)感度(Sensitivity Level)
WAF 脅威スコアWAF 攻撃スコア(WAF Attack Score)
ホストによって設定(Cookie)Cookie が観測されたホスト

06

この環境の所見

設定状況のまとめ

領域状態読み取り
API の可視化zombie 56/sensitive 44使われていない API と、機密データを返す API が多数あります。棚卸しの余地が大きい状態です。
認証missing-auth 2/mixed-auth 3sensitive の操作と重なっているかを優先して確認します。
スキーマ検証67 件中 26 件が未検証、既定はブロックスキーマが紐付いていない操作には、既定のブロックが働きません。
AI アプリの保護LLM 関連のカスタムルールがログとブロックの対で稼働個人情報、安全でないトピック、インジェクションを段階的に制御しています。
レート制限4 件とも無効設計の例は揃っていますが、適用されていません。
API ルールシーケンス 2 件(ブロック・ログ)、JWT 検証 1 件(アクティブ)認証と業務の流れを、エッジで強制する構成が始まっています。
管理ルール管理ルールセット:有効/OWASP:無効/Exposed Credential Check:無効(非推奨)漏洩認証情報の検出への移行と、OWASP のログでの有効化を検討します。
クライアント側コンテンツセキュリティルールはログのみ監視の段階です。
DDoS全ルールセットが有効、HTTP のオーバーライド 2 件感度は既定のままです。

説明時に押さえる論点

  1. 見えていないものは守れない:Web アセットが、API・スクリプト・Cookie を自動で棚卸しします。シャドー API やゾンビ API の発見が起点になります。
  2. 検出と制御は分離している:Bot スコア、攻撃スコア、LLM の検出、JWT、スキーマ違反などの検出結果はフィールドになり、カスタムルールで自由に組み合わせられます。
  3. ログで検証してからブロックする:どの機能もログのモードを備えており、影響を確認してから段階的に強化できます。この環境のカスタムルールは、その典型です。
  4. 評価の順序を意識する:終了アクションに一致すると、以降のフェーズとルールは評価されません。件数の読み方や誤検知の調査に影響します。

07

参考ドキュメント

テーマURL
Web アセット:操作の管理security/web-assets/manage-operations
エンドポイントラベルapi-shield/management-and-monitoring/endpoint-labels
Endpoint Managementapi-shield/management-and-monitoring/endpoint-management
Sequence Analyticsapi-shield/security/sequence-analytics
Sequence mitigationapi-shield/security/sequence-mitigation
Schema Validationapi-shield/security/schema-validation
JWT Validationapi-shield/security/jwt-validation
Client-side securityclient-side-security
AI Security for Appswaf/detections/ai-security-for-apps
レート制限ルールwaf/rate-limiting-rules
管理ルールwaf/managed-rules
漏洩認証情報の検出への移行waf/managed-rules/check-for-exposed-credentials/upgrade-to-leaked-credentials-detection
セキュリティ機能の実行順序waf/feature-interoperability
Challenge Solve Ratecloudflare-challenges/reference/challenge-solve-rate
IP Access ruleswaf/tools/ip-access-rules
HTTP DDoS オーバーライドddos-protection/managed-rulesets/http/http-overrides/configure-dashboard

補足URL はドキュメントの構成変更により移動することがあります。リンク切れの場合は、テーマ名で Cloudflare Docs を検索してください。