Authentication Posture は、認証が欠落している、または一貫していない API エンドポイントを検出し、設定ミスの可能性を通知します。
たとえば、セキュリティチームは /api/v1/users と /api/v1/orders の API エンドポイントで認証が必要だと想定していることがあります。しかし、オリジンの API 認証ポリシーの不具合が、壊れた認証の脆弱性を生み、保護されたリソースへの未認証アクセスを許すことがあります。Authentication Posture は、API エンドポイントへの成功したリクエストの認証状態を示し、設定ミスの可能性を知らせます。
一般的な e コマースアプリケーションを考えます。ユーザーはログインなしで商品と価格を閲覧できます。一方、GET /api/v1/orders/{order_id} で注文詳細を取得するには、ログインし、すべてのリクエストで Authorization HTTP ヘッダーを渡す必要があります。セッション識別子 を設定している場合、このエンドポイントや他のエンドポイントに認証なしで成功したリクエストが届くと、Cloudflare は Security Center Insights と Endpoint labels で通知します。
セッション識別子 を設定したあと、API Shield は認証なしの成功リクエストを継続的にスキャンし、毎日エンドポイントにラベルを付けます。ラベル付けの方法は、次の表を参照してください。
| 説明 | 2xx レスポンスコード | 4xx、5xx レスポンスコード |
|---|---|---|
| すべてのリクエストで認証がない場合、Cloudflare は次のラベルを適用します。 | cf-missing-auth |
成功レスポンスがない場合、ラベルは付きません。 |
| 一部のリクエストだけ認証がない場合、Cloudflare は次のラベルを適用します。 | cf-mixed-auth |
成功レスポンスがない場合、ラベルは付きません。 |
-
Cloudflare ダッシュボードで Web Assets ページを開きます。
Web assets を開く ↗ -
Endpoints タブに移動します。
-
cf-risk-missing-authまたはcf-risk-mixed-authラベルでエンドポイントを絞り込みます。 -
エンドポイントを選択すると、エンドポイント詳細ページで Authentication Posture の詳細を確認できます。
-
24 時間表示と 7 日間表示を切り替え、認証の変化を確認します。
メインの認証ウィジェットは、直近 7 日間の成功リクエストのうち、どれだけがセッション識別子を含んでいたか、およびどの識別子がトラフィックに含まれていたかを表示します。
時系列の認証チャートは、クライアントが API とどのように成功してやり取りしたか、どの識別子が使われたかを時系列で詳しく示します。未認証トラフィックの急増は、セキュリティインシデントの兆候であることがあります。同様に、100% 認証される想定のエンドポイントで未認証の成功トラフィックがあれば、注意が必要です。
開発チームと協力し、未認証トラフィックを止めるために、API のどの認証ポリシーを修正すべきかを把握してください。
未認証リクエストをブロックするには、cf.api_gateway.auth_id_present フィールドを使って カスタムルール を作成します。このフィールドは、設定した API Shield のセッション識別子がリクエストに含まれるとき true になります。未認証トラフィックを検出するには、存在しない場合にもマッチできます。ホストとパスの一致条件を追加して、ルールの対象を特定のエンドポイントに絞ります。
Authentication Posture は、API Shield でセッション識別子を正確に設定している場合にだけ適用できます。セッション識別子は、API の認証済みユーザーを一意に識別する必要があります。API のセッション識別子が不明な場合は、開発チームに確認してください。
Authentication Posture は、API Shield サブスクリプションを持つすべての Enterprise のお客様が利用できます。