API Shield のラベル付けサービスは、エンドポイントの整理と API の脆弱性への対処に使えます。マネージドラベルとユーザー定義ラベルの両方が用意されています。
マネージドラベルは、用途ごとにエンドポイントを整理するのに役立ちます。情報面やセキュリティ面のリスクがあるエンドポイントも自動で識別し、対応が必要なエンドポイントを知らせます。
ユーザー定義ラベルは、ラベルを作成して個別のエンドポイントや複数のエンドポイントに付けることで、API Shield のエンドポイントに追加できます。所有者、バージョン、種類などでエンドポイントを整理するときに便利です。
ラベルでエンドポイントを絞り込めます。
マネージドラベルは、用途ごとにエンドポイントを識別するために使います。将来のリリースで、Cloudflare がこれらのラベルを自動適用する場合があります。
cf-log-in: ユーザー資格情報を受け付けるエンドポイントに付けます。ユーザー名、パスワード、多要素認証(MFA)を複数のエンドポイントやリクエストに分けている場合は、複数のエンドポイントに付けることがあります。
cf-sign-up: サイトやアプリケーションのユーザーアカウント作成の最終ステップになるエンドポイントに付けます。
cf-content: 商品詳細、ユーザーレビュー、価格など、固有のコンテンツを返すエンドポイントに付けます。
cf-purchase: オンラインで商品やサービスを購入する最終ステップになるエンドポイントに付けます。
cf-password-reset: ユーザーのパスワードリセットに関わるエンドポイントに付けます。初回のリセット要求と、最終的なリセット送信の両方が対象です。
cf-add-cart: ショッピングカートへの追加や、在庫確認を行うエンドポイントに付けます。
cf-add-payment: クレジットカードや銀行口座の情報を受け付けるエンドポイントに付けます。詐欺行為者が口座番号を総当たりして、有効な支払い情報の組み合わせを探す可能性があります。
cf-check-value: ポイント、ゲーム内通貨、その他の蓄積価値商品の残高を確認するエンドポイントに付けます。獲得、譲渡、現金や実物との交換ができるものが対象です。
cf-add-post: コミュニケーションフォーラムへの投稿や、商品・店舗レビューを投稿するエンドポイントに付けます。
cf-account-update: ユーザーアカウントやプロフィールの更新に関わるエンドポイントに付けます。
cf-llm: 大規模言語モデル(LLM)で(一部)動作するサービスです。
cf-mcp: AI ツールやデータへのアクセス向けに Model Context Protocol(MCP) を実装するエンドポイントに付けます。
cf-rss-feed: RSS クライアントからのトラフィックを想定するエンドポイントに付けます。
cf-web-page: HTML ページを返すエンドポイントに付けます。
cf-contains-ads: 広告を含む Web ページを返すエンドポイントに付けます。
Cloudflare は、保存済みエンドポイントに対して 24 時間ごとにリスクスキャンを自動実行します。スキャンでセキュリティリスクが見つかると、API Shield がこれらのラベルを付けます。リスクが見つかったときは、対応する Security Center Insight も発生します。
cf-risk-missing-auth: 成功したリクエストのすべてにセッション識別子がない場合に自動で付きます。詳細は Authentication Posture を参照してください。
cf-risk-mixed-auth: 成功したリクエストの一部にセッション識別子があり、一部にない場合に自動で付きます。詳細は Authentication Posture を参照してください。
cf-risk-sensitive: HTTP レスポンスが WAF の Sensitive Data Detection ルールセットに一致したエンドポイントに自動で付きます。
cf-risk-error-anomaly: 直近 24 時間でレスポンスエラーが急増したエンドポイントに自動で付きます。
cf-risk-latency-anomaly: 直近 24 時間でレスポンス遅延が急増したエンドポイントに自動で付きます。
cf-risk-size-anomaly: 直近 24 時間でレスポンス本文のサイズが急増したエンドポイントに自動で付きます。
cf-risk-bola-enumeration: ユーザーセッションごとに要求される一意の要素数が大きく異なり、かつ成功レスポンスが発生しているエンドポイントに自動で付きます。
cf-risk-bola-pollution: API スキーマで想定される場所とは異なり、リクエストの複数箇所にパラメーターが見つかり、かつ成功レスポンスが発生しているエンドポイントに自動で付きます。
cf-risk-zombie: 保存済みエンドポイントに 32 日間トラフィックがない場合に自動で付きます。
エンドポイントへのリスクへの対処は、付いているラベルによって異なります。次の手順は、一般的な対応の目安です。
-
エンドポイントのリスクを確認します。
リスクとしてラベル付けされたエンドポイントを確認し、ほかのリスクラベルも付いていないかを調べます。
たとえば、
Web assets を開く ↗cf-risk-sensitiveとcf-risk-missing-authまたはcf-risk-mixed-authが付いているエンドポイントは、未認証ユーザーから機密データにアクセスできる状態かもしれません。cf-risk-missing-authまたはcf-risk-mixed-authが付いたエンドポイントの詳細ページを開き、直近 24 時間と 7 日間の認証済みトラフィックプロファイルに変化がないかを確認します。 -
Security Analytics で、これらのラベル付きエンドポイントへのトラフィックを確認します。
想定外のトラフィックソースがないかを確認し、不規則なパターンがあれば記録します。
Analytics を開く ↗ -
開発チームと、オリジンの認可・認証ポリシーを確認します。
組織の開発者やアプリケーション所有者に、これらのエンドポイントへのリクエストをすべて認証すべきかを確認します。エンドポイントへアクセスするすべてのトラフィックに認証を一貫して適用するよう、アプリケーションを修正します。
詳細は Authentication Posture を参照してください。
個別リクエストに一致したオペレーションとマネージドラベルは、GraphQL Analytics API でクエリできます。webAssetsOperationId と webAssetsLabelsManaged フィールドは、httpRequestsAdaptive および httpRequestsAdaptiveGroups データセットで利用できます。スキーマ全体と利用可能なフィルター演算子は、イントロスペクション で確認できます。
webAssetsLabelsManaged が返すラベルは、リクエストあたり最大 10 件です。
次のクエリは、一致したオペレーションに cf-log-in マネージドラベルが付いているリクエストを対象に、オペレーション ID とマネージドラベルの組み合わせごとのリクエスト数を返します。
query GetAdaptiveGroups($start: DateTime!, $end: DateTime!) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
httpRequestsAdaptiveGroups(
filter: {
datetime_geq: $start
datetime_leq: $end
requestSource: "eyeball"
webAssetsLabelsManaged_hasany: ["cf-log-in"]
}
limit: 25
orderBy: [count_DESC]
) {
count
dimensions {
webAssetsOperationId
webAssetsLabelsManaged
}
}
}
}
}cf-log-in は、任意の マネージドラベル または リスクラベル に置き換えられます。webAssetsLabelsManaged_hasany フィルターを省略し、ディメンションを webAssetsOperationId だけにすると、ラベルに関係なく一致したオペレーション単位でトラフィックをまとめられます。
リクエスト単位の Web Assets データは、Logpush で任意のストレージまたは SIEM システム にエクスポートできます。WebAssetsOperationID と WebAssetsLabelsManaged フィールドは、HTTP requests データセット で利用できます。
-
Cloudflare ダッシュボードで Security Settings ページを開きます。
Settings を開く ↗ -
API abuse で絞り込みます。
-
Endpoint labels で Manage labels を選びます。
-
ラベル名を入力し、必要に応じて説明を追加します。
-
選んだエンドポイントにラベルを適用します。
-
Create label を選びます。
または、Security > Web Assets からユーザー定義ラベルを作成できます。
-
Cloudflare ダッシュボードで Web Assets ページを開きます。
Web assets を開く ↗ -
Endpoints タブを開きます。
-
ラベルを付けるエンドポイントを選びます。
-
Edit endpoint labels を選びます。
-
User で Create user label を選びます。
-
ラベル名を入力します。
-
Create を選びます。
-
Cloudflare ダッシュボードで Web assets ページを開きます。
Web assets を開く ↗ -
Endpoints タブで、ラベルを付けるエンドポイントを選びます。
-
Edit endpoint labels を選びます。
-
マネージドラベルとユーザー定義ラベルの一覧から、エンドポイントに付けるラベルを追加します。
-
Save labels を選びます。
-
Cloudflare ダッシュボードで Security Settings ページを開きます。
Settings を開く ↗ -
API abuse で絞り込みます。
-
Endpoint labels で Manage labels を選びます。
-
複数のエンドポイントに適用したい既存ラベルで Bulk apply を選びます。
-
ラベルを付けるエンドポイントのチェックボックスをオンにします。
-
Apply label を選びます。
エンドポイントのラベル付けは、すべてのお客様が利用できます。