リスク評価の概要と UI

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントはこちらをご覧ください。

概要

Advanced API Security のリスク評価では、API プロキシ構成を継続的に評価し、セキュリティ スコアを計算して、API の脆弱性を特定して対処します。

リスク評価は、次のような目的に役立ちます。

  • すべての API で一貫したセキュリティ基準を適用する。
  • API 設定の構成ミスを検出する。
  • 推奨される対応を実施し、全体的なセキュリティ スコアを改善する。
  • 一元化されたダッシュボードを使用して、セキュリティの問題を迅速に調査して解決する。

リスク評価は、各プロキシの現在のリスクを評価するだけでなく、API のセキュリティ対策の経時的な評価にも使用できます。評価スコアが変動する場合は、必要なセキュリティ ポリシーなしでデプロイされたプロキシ、フローフックのデプロイと FlowCallout ポリシーの追加による共有フローの変更、環境またはプロキシのデプロイでのターゲット サーバーの変更など、API の動作が頻繁に変更されていることを示している可能性があります。

リスク評価には、このページで説明するように Apigee UI またはセキュリティ スコアとプロファイルの API からアクセスできます。

リスク評価のタスクを実施するために必要なロールについては、リスク評価に必要なロールをご覧ください。

この機能を使用するには、アドオンを有効にする必要があります。サブスクリプションをご利用の場合は、組織のアドオンを有効にできます。詳細については、サブスクリプションを使用する組織の Advanced API Security を管理するをご覧ください。従量課金制をご利用の場合は、対象となる環境でアドオンを有効にできます。詳細については、Advanced API Security アドオンを管理するをご覧ください。

リスク評価 v1 と v2

リスク評価には、一般提供リスク評価 v1 と、プレビュー版リスク評価 v2 の 2 つのバージョンがあります。どちらのバージョンを使用する場合も、Advanced API Security アドオンが必要です。

v1 と v2 の機能の主な違いは次のとおりです。

  • v2 の特徴は次のとおりです。
    • 信頼性が向上しています(最新のプロキシデータによるスコア計算の高速化など)。
    • 環境にセキュリティ プロファイルを事前に接続しなくてもスコアが計算されます。
    • 0~100% のスケールでスコアがシンプルに表示されます。
    • 評価チェックの重み付けのコンセプト(v1 ではサポートされていません)。リスク評価のコンセプトとスコア付けをご覧ください。
    • v1 の追加の評価。スコアの計算時により多くのポリシーをチェックします。たとえば、v1 では認可と認証関連のポリシーを 5 つサポートしていますが、v2 では 8 つのポリシーをサポートします。また、v2 には、関連するポリシーを含むトラフィック管理カテゴリが含まれており、continueOnError 属性など、ポリシーで追加のチェックが実行されます。
    • ネストされた共有フローおよびフックが 5 レベルのネストまでチェックされます。v1 では、共有フローチェーンによって含まれるポリシーは評価されません。
    • ターゲット スコア(ターゲット サーバーのスコア)を、プロキシベースの評価と推奨事項に置き換えました。ターゲットがプロキシで使用されている場合、そのプロキシのセキュリティ スコアには、ターゲット サーバーのスコアも含まれます。
    • 新しい v2 評価チェックと google-default システム プロファイルを使用するカスタム プロファイル。
  • v2 は、以下のものをサポートしていません。
    • 不正なトラフィックに基づく送信元の評価。
    • 現時点では、指標とモニタリングはサポートされていません。

リスク評価 v2

このセクションでは、リスク評価の新しいバージョンであるリスク評価 v2 について説明します。リスク評価のコンセプトと動作は v1 と v2 で異なります。リスク評価 v1 の使用方法については、リスク評価 v1 をご覧ください。

リスク評価 v2 のコンセプトとスコア付け方法

リスク評価のセキュリティ スコアは、セキュリティ プロファイルのセキュリティ評価と重み付けのスコアに基づいて、API のセキュリティ リスクを評価します。

リスク評価のスコア付けは、次の要素に基づいて行われます。

  • 評価と評価チェック: プロキシに対して実行され、プロキシのスコア付けに使用される個々のチェック。各チェックには重み付けも設定されており、プロキシに対して評価する際のチェックの重要度を指定できます。重み付けは、チェックごとに「軽微」、「中程度」、「重大」のいずれかで設定されます。各重みには、スコアの計算に使用されるポイント値があります。
    • マイナー: 1
    • 中程度: 5
    • メジャー: 15
  • セキュリティ プロファイル: 環境にデプロイされたプロキシを評価する一連の評価チェック。
  • セキュリティ スコア: セキュリティ プロファイルに対する評価後のプロキシのスコア。

    スコアは 0 ~ 100% の値です。100% は、プロキシが評価に完全に準拠しており、評価チェックに基づいてリスクが検出されなかったことを示します。

    セキュリティ スコアは、基本的に、合格した評価チェックで付与されたすべてのポイントの合計を、プロファイルで獲得可能な合計ポイントで割ったものです。スコアは加重平均であるため、セキュリティ プロファイルに含まれるポリシーが多いほど、各評価チェックがセキュリティ スコアに与える影響は小さくなります。

    評価チェックの重みもセキュリティ スコアに影響します。重みが高いほど計算に与える影響が大きくなり、重みが低いほど影響は小さくなります。各重みにポイント値を使用します。セキュリティ プロファイル内のすべての評価チェックの重みが同じ場合(すべての評価チェックの重みが中程度の場合など)、セキュリティ スコアは通常の平均として計算されます。

  • 重大度: セキュリティ スコアに基づいて評価されたプロキシごとの重大度値。重大度の値は、高(0 ~ 50%)、中(51 ~ 90%)、低(91 ~ 99%)、最小(100%/割り当てられたセキュリティ プロファイルの評価でリスクはない)です。

評価カテゴリとチェック

この表に、セキュリティ プロファイルに含めることができる評価カテゴリと個々のチェックを示します。また、各評価で不合格となった場合の対応方法に関する推奨事項も表示されます。

評価カテゴリ 説明
認証 この場合の「Auth」は、認可と認証の両方を意味します。認証評価では、認可ポリシーと認証ポリシーが設定されているかどうか、認証ポリシーの continueOnError 属性が false に設定されているかどうかを確認します。
評価チェック / 名前 説明 推奨事項
認証ポリシーのチェック / auth-policies-check AccessControlBasicAuthenticationHMACOAuthValidateSAMLAssertionVerifyAPIKeyVerifyJWSVerifyJWT ポリシーのいずれかが有効になっているかどうかを確認します。 プロキシに必要なポリシーの 1 つ以上
認可ポリシーの continueOnError チェック / continue-on-error-auth-policies-check プロキシ内のすべての認可ポリシーで continueOnError フィールドが有効になっているかどうかを確認します。これには、認証ポリシーが使用されているかどうかの確認が含まれます。プロキシに認証ポリシーがない場合、このチェックは影響しません。 プロキシに含まれるすべての認証ポリシーの continueOnError を false に設定します。
AccessControl ポリシーのチェック / access-control-policy-check AccessControl ポリシーが使用されているかどうか。 AccessControl ポリシーをプロキシに追加します。
BasicAuthentication ポリシーのチェック / basic-auth-policy-check BasicAuthentication ポリシーが使用されているかどうか。 BasicAuthentication ポリシーをプロキシに追加します。
HMAC ポリシー チェック / hmac-policy-check HMAC ポリシーが使用されているかどうか。 HMAC ポリシーをプロキシに追加します。
OAuthV2 ポリシーのチェック / oauthv2-policy-check OAuth ポリシーが使用されているかどうか。 OAuthV2 ポリシーをプロキシに追加します。
ValidateSAMLAssertion ポリシー チェック / validate-saml-assertion-policy-check ValidateSAMLAssertion ポリシーが使用されているかどうか。 ValidateSAMLAssertion ポリシーをプロキシに追加します。
VerifyAPIKey ポリシー / verify-api-key-policy-check VerifyAPIKey ポリシーが使用されているかどうか。 VerifyAPIKey ポリシーをプロキシに追加します。
VerifyJWS ポリシー / verify-jws-policy-check VerifyJWS ポリシーが使用されているかどうか。 VerifyJWS ポリシーをプロキシに追加します。
VerifyJWT ポリシー / verify-jwt-policy-check VerifyJWT ポリシーが使用されているかどうか。 VerifyJWT ポリシーをプロキシに追加します。
CORS AssignMessage ポリシーに CORS ポリシーまたは CORS ヘッダーが存在するかどうかを確認します。
評価チェック / 名前 説明 推奨事項
CORS ポリシーのチェック / cors-policies-check AssignMessage ポリシーに CORS ポリシーまたは CORS ヘッダーが存在するかどうかを確認します。 CORS ヘッダーを含む CORS ポリシーまたは AssignMessage ポリシーをプロキシに追加します。
CORS ポリシーのチェック / cors-policy-check CORS ポリシーが使用されているかどうかを確認します。 CORS ポリシーをプロキシに追加します。
CORS AssignMessage ポリシーのチェック / cors-assignmessage-policy-check AssignMessage ポリシーに CORS ヘッダーが追加されているかどうかを確認します。 CORS ヘッダーを含む AssignMessage ポリシーをプロキシに追加します。
メディエーション メディエーション ポリシーが有効かどうかを確認します。
評価チェック / 名前 説明 推奨事項
メディエーション ポリシーのチェック / mediation-policies-check 次のメディエーション ポリシーのいずれかが有効になっていることを確認します。SOAPMessageValidation または OASValidation SOAPMessageValidation または OASValidation のいずれかのメディエーション ポリシーをプロキシに追加します。
SOAPMessageValidation ポリシーのチェック / soap-validation-policy-check SOAPMessageValidation ポリシーが使用されているかどうかを確認します。 プロキシに SOAPMessageValidation ポリシーを追加します。
OASValidation ポリシーのチェック / oas-validation-policy-check OASValidation ポリシーが使用されているかどうかを確認します。 OASValidationCheck ポリシーをプロキシに追加します。
ターゲット ターゲット サーバーの保護が使用されているかどうかを確認します。ターゲット サーバーの構成については、バックエンド サーバー間のロード バランシングをご覧ください。
評価チェック / 名前 説明 推奨事項
ターゲット サーバー TLS チェック / tls-target-server-check ターゲット サーバーで TLS/SSL を確認します。 安全な通信のために、プロキシで構成されているすべてのターゲット サーバーで TLS/SSL を構成します。
ターゲット サーバーの mTLS チェック / mtls-target-server-check ターゲット サーバーで mTLS を確認します。 セキュリティを最大限に高めるには、プロキシで構成されているすべてのターゲット サーバーで mTLS を構成します。
ターゲット サーバーのフィールドチェックの適用 / target-enforce-field-check ターゲット サーバーの構成で Enforce フィールドが有効になっているかどうかを確認します。 Apigee プロキシとターゲットの間に厳格な SSL を適用するように Enforce フィールドを構成します。
脅威 脅威防止ポリシーが使用されているかどうかを確認します。
評価チェック / 名前 説明 推奨事項
脅威ポリシーのチェック / threat-policies-check JSONThreatProtectionRegularExpressionProtectionXMLThreatProtection のいずれかの脅威ポリシーが有効になっているかどうかを確認します。 必要な脅威ポリシーのいずれかをプロキシに追加します。
脅威ポリシー / continue-on-error-threat-policies の continueOnError チェック プロキシで使用されているすべての脅威ポリシーで continueOnError フィールドが有効になっているかどうかを確認します。これには、脅威ポリシーが使用されているかどうかの確認が含まれます。プロキシに脅威ポリシーがない場合、このチェックは影響しません。 プロキシで使用されているすべての脅威ポリシーの continueOnErrorfalse に設定します。
JSONThreatProtection ポリシーのチェック / json-threat-protection-policy-check JSONThreatProtection ポリシーが使用されているかどうかを確認します。 JSONThreatProtection ポリシーをプロキシに追加します。
RegularExpressionProtection ポリシー チェック / regex-protection-policy-check RegularExpressionProtection ポリシーが使用されているかどうかを確認します。 RegularExpressionProtection ポリシーをプロキシに追加します。
XMLThreatProtection ポリシーのチェック / xml-threat-protection-policy-check XMLThreatProtection ポリシーが使用されているかどうかを確認します。 XMLThreatProtection ポリシーをプロキシに追加します。
トラフィック トラフィック管理ポリシーが設定されているかどうかを確認します。
評価チェック / 名前 説明 推奨事項
トラフィック管理ポリシーのチェック / traffic-management-policies-check LookupCacheQuotaResponseCacheSpikeArrest のいずれかのトラフィック管理ポリシーが有効になっているかどうかを確認します。 トラフィック管理ポリシーのいずれかをプロキシに追加します。
LookupCache ポリシー チェック / lookup-cache-policy-check LookupCache ポリシーが有効になっているかどうかを確認します。 LookupCache ポリシーをプロキシに追加します。
割り当てポリシーのチェック / quota-policy-check 割り当てポリシーが使用されているかどうかを確認します。 割り当てポリシーをプロキシに追加します。
ResponseCache ポリシーのチェック / response-cache-policy-check ResponseCache ポリシーが使用されているかどうかを確認します。 ResponseCache ポリシーをプロキシに追加します。
SpikeArrest ポリシーのチェック / spike-arrest-policy-check SpikeArrest ポリシーが使用されているかどうかを確認します。 SpikeArrest ポリシーをプロキシに追加します。

ポリシーの適用とプロキシのセキュリティ スコア

プロキシ評価では、使用しているポリシーに基づいてセキュリティ スコアが算出されます。これらのポリシーの評価方法は、ポリシーがフローに接続されているかどうか、またどのように接続されているかによって異なります。

  • フロー(プロキシ内の PreFlow、条件付きフロー、PostFlow、または共有フロー)に接続されているポリシーのみがスコアに影響します。どのフローにも接続されていないポリシーはスコアに影響しません。
  • FlowCallout ポリシーがフローに接続されている場合、プロキシがフローフックを介して呼び出す共有フローとプロキシ内の FlowCallout ポリシーがプロキシスコアにおいて考慮されます。FlowCallout がフローに接続されていない場合、リンクされた共有フローのポリシーはセキュリティ スコアに影響しません。
  • チェーンされた共有フローは、最大 5 レベルまで評価されます。プロキシに直接含まれるポリシーと、共有フローの最初の 5 つのレベルに含まれるポリシーが、セキュリティ スコアにカウントされます。
  • 条件付きフローに接続されている各ポリシーについては、ポリシーが存在するかどうかのみがセキュリティ スコアにおいて考慮されます。ポリシーが実行時に適用されるかどうか、またどのように適用されるかは考慮されません。

セキュリティ プロファイル v2

セキュリティ プロファイルは、API プロキシのスコア付けを行う一連のセキュリティ評価と重み付けです。Apigee のデフォルトのセキュリティ プロファイルgoogle-default)を使用することも、評価するセキュリティ カテゴリと重みのみを含むカスタム セキュリティ プロファイルを作成することもできます。

セキュリティ プロファイルを使用する場合やカスタム セキュリティ プロファイルを作成する場合は、カテゴリ内の複数の評価チェックが個別に評価されることに注意してください。

たとえば、セキュリティ プロファイルに 3 つの認証ポリシー チェックがあり、評価対象のプロキシに 3 つのポリシーのいずれかが含まれている場合、評価スコアには、検出されたポリシーに最大点が含まれ、存在しない他の 2 つのポリシーには 0 点が含まれます。この例では、認証ポリシーが含まれていても、評価対象のプロキシは認証ポリシーのチェックで満点は得られません。この動作を考慮して、セキュリティ スコアの解釈とセキュリティ プロファイルの設計に注意してください。

デフォルトのセキュリティ プロファイル

Advanced API Security には、すべての評価を含むデフォルトのセキュリティ プロファイルが用意されています。デフォルトのプロファイルを使用する場合、セキュリティ スコアはすべてのカテゴリに基づきます。

デフォルトのセキュリティ プロファイル google-default は編集または削除できません。

カスタム セキュリティ プロファイル

選択した評価チェックと重み付けのみを含むカスタム セキュリティ プロファイルを作成して、プロキシに対して評価できます。Apigee UI でカスタム セキュリティ プロファイルを作成して使用する手順については、Apigee UI でカスタム プロファイルを管理するをご覧ください。

カスタム セキュリティ プロファイルの場合:

  • プロファイル名(プロファイル ID とも呼ばれます)は必須で、プロファイルを一覧表示する際の概要表に表示されます。名前は 1 ~ 63 文字にする必要があります。小文字、0 ~ 9 の数字、ハイフンを使用できます。最初の文字は小文字にする必要があります。最後の文字は小文字か数字にする必要があります。カスタム セキュリティ プロファイルには一意の名前を付ける必要があります。既存のプロファイル名を複製することはできません。
  • プロフィールの説明は省略可能です。1,000 文字以内で入力してください。

セキュリティ スコア v2 の制限事項と既知の問題

セキュリティ スコアには次の制限事項と既知の問題があります。

  • セキュリティ スコアが生成されるのは、環境にプロキシがデプロイされている場合のみです。
  • 新しくデプロイされたプロキシ、新しく有効にした組織と環境の場合、スコアはすぐに表示されません。
  • カスタム プロファイルの場合、組織ごとに作成できるカスタム プロファイルは最大 100 個です。
  • 現時点では、新しい評価の計算とスコアの通知はサポートされていません。

データの遅延

Advanced API Security セキュリティ スコアのデータは、結果が利用可能になるまでに次の処理時間がかかります。

  • 組織で Advanced API Security を初めて有効にした場合、既存のプロキシとターゲットのスコアが環境に反映されるまでに時間がかかります。ガイドラインとして、サブスクリプション モデルの組織では 30~90 分、従量課金制の組織ではそれより短い時間がかかります。
  • 環境のプロキシ(デプロイとデプロイ解除)とターゲット(作成、更新、削除)に関連する新しいイベントが、環境のスコアに反映されるまでに最短で 60 秒、最長で 5 分(非常に大きな環境の場合)かかることがあります。

Apigee UI でリスク評価を表示する

リスク評価ページには、各環境での API のセキュリティを測定するスコアが表示されます。

リスク評価ページを開くには:

  1. Cloud コンソールで Apigee UI を開きます。
  2. [Advanced API Security] > [リスク評価] を選択します。

[リスク評価] ページが表示されます。

リスク評価のメインページ。

このページには次のセクションがあります。

  • 環境: 評価を表示する環境を選択します。
  • セキュリティ プロファイル: デフォルト プロファイル(google-default)またはカスタム プロファイル(利用可能な場合)を選択します。セキュリティ プロファイルの詳細については、セキュリティ プロファイルをご覧ください。
  • Deployed proxies by severity: 環境が設定されると、その環境のプロキシの重大度の概要が表示されます。リスク評価のコンセプトとスコアリングをご覧ください。
  • 評価の詳細: 選択した環境のセキュリティ プロファイル、評価の日時、評価された構成の合計数、デプロイされたプロキシの合計数が表示されます。評価された構成の合計数は、実行されたチェックの合計数を反映しています。この数がプロファイル内の評価の数よりも多い場合があります。一部の評価(continueOnError 属性が false に設定されていることを確認するなど)では、関連するポリシーが適用され、有効になっているかどうかも確認します。
  • Deployed proxies: 環境にデプロイされたプロキシとそのリスク評価スコアの概要。

    • プロキシ: プロキシの名前。
    • 重大度: プロキシのリスク評価の重大度。詳しくは、セキュリティ スコアと重大度をご覧ください。

    • スコア: プロキシのリスク評価スコア。詳しくは、リスク評価のコンセプトとスコアリングをご覧ください。
    • リビジョン: スコアが評価されたプロキシのリビジョン。
    • Failed assessments by weight: 評価の重み別にグループ化された失敗した評価の数。
    • 推奨事項: プロキシのスコアを改善するための具体的な推奨事項。数字をクリックすると、推奨事項が表示されます。

Apigee UI でカスタム プロファイルを管理する

このセクションでは、Apigee UI を使用してカスタム プロファイルを表示、作成、編集、削除する方法について説明します。セキュリティ スコアに関する制限に記載されているカスタム プロファイルの制限事項に注意してください。

まず、Apigee UI でリスク評価を表示します。

カスタム プロファイルの作成と編集

[リスク評価] 画面で、[セキュリティ プロファイル] タブを選択します。既存のプロフィールを編集するには、プロフィール名をクリックしてプロフィールの詳細を表示し、[編集] をクリックします。または、そのプロファイルの行の [アクション] メニューから [編集] を選択します。

新しいカスタム プロファイルを作成するには、セキュリティ プロファイルのリストで [+ 作成] をクリックします。

セキュリティ プロファイルのリスト

カスタム プロファイルを作成または編集するときに、次の値を設定できます。

  • 名前: セキュリティ プロファイルの名前。プロジェクト内で一意であることを確認してください。
  • 説明:(省略可)。セキュリティ プロファイルの説明。
  • 評価チェック評価の重み: プロキシに対して評価する 1 つ以上の評価チェックと、それぞれの重み。利用可能な評価チェックの一覧については、リスク評価のコンセプトとスコアリングをご覧ください。評価チェックと重みをプロファイルに追加するには、[+ 追加] をクリックします。チェックと体重のペアを削除するには、そのペアの行にあるゴミ箱アイコンをクリックします。

プロフィールの重複

既存のプロファイルを複製して(新しいカスタム プロファイルを作成するには)、そのプロファイルの行の [アクション] メニューから [複製] を選択するか、プロファイル リストからプロファイル名をクリックしてプロファイル メタデータを表示し、[複製] をクリックします。

新しいカスタム プロファイルの名前は、重複するプロファイルの名前と一致できません。セキュリティ プロファイルの命名要件については、カスタム セキュリティ プロファイルをご覧ください。

カスタム プロファイルを削除する

既存のカスタム プロファイルを削除するには、そのプロファイルの行の [アクション] メニューから [削除] を選択するか、プロファイル リストからプロファイル名をクリックしてプロファイル メタデータを表示し、[削除] をクリックします。

デフォルトのシステム プロファイル(google-default)は削除できません。

カスタム プロファイルを削除すると、そのプロファイルに対するプロキシの評価や、そのカスタム プロファイルに対する以前の評価を確認する機能は直ちに無効になります。

リスク評価 v1

このセクションでは、リスク評価 v1 について説明します。リスク評価 v2 については、リスク評価 v2 をご覧ください。

セキュリティ スコア

セキュリティ スコアは、API のセキュリティと、経時的なセキュリティ ポスチャーを評価します。たとえば、スコアが大きく変動する場合は、API の動作の頻繁な変化を示していることが考えられ、望ましい状態ではない可能性があります。スコアが低下する可能性のある環境の変化には、次のものがあります。

  • 必要なセキュリティ ポリシーのない状態で多数の API プロキシをデプロイする。
  • 悪意のあるソースからの不正なトラフィックが急増している。

セキュリティ スコアの経時的な変化を観察することは、環境内の望ましくないアクティビティや不審なアクティビティを特定できる良い指標となります。

セキュリティ スコアは、セキュリティ プロファイルに基づいて計算されます。セキュリティ プロファイルには、スコアで評価するセキュリティ カテゴリを指定します。Apigee のデフォルトのセキュリティ プロファイルを使用することも、最も重要なセキュリティ カテゴリのみを含むカスタム セキュリティ プロファイルを作成することもできます。

セキュリティ スコアの評価タイプ

Advanced API Security によって計算されるセキュリティ スコア全体に寄与する評価の種類は 3 つあります。

  • ソースの評価: Advanced API Security 検出ルールを使用して、検出された不正行為のトラフィックを評価します。「不正行為」とは、意図された以外の目的で API に送信されたリクエストを指します。

  • プロキシの評価: 次の分野でプロキシがさまざまなセキュリティ ポリシーをどの程度実装しているかを評価します。
    • メディエーション: 環境内のすべてのプロキシに、次のメディエーション ポリシーのいずれかが構成されていることを確認します: OASValidation または SOAPMessageValidation
    • セキュリティ

    詳細については、ポリシーがプロキシのセキュリティ スコアに与える影響をご覧ください。

  • ターゲット評価: 環境内のターゲット サーバーで Mutual Transport Layer Security(mTLS)が構成されているかどうかを確認します。

これらの各評価タイプには独自のスコアが割り当てられます。合計スコアは、個別の評価タイプに関するスコアの平均です。

ポリシーがプロキシのセキュリティ スコアに与える影響

プロキシ評価では、使用しているポリシーに基づいてセキュリティ スコアが出されます。これらのポリシーの評価方法は、ポリシーがフローに接続されているかどうか、またどのように接続されているかによって異なります。

  • フロー(プロキシ内の PreFlow、条件付きフロー、PostFlow、または共有フロー)に接続されているポリシーのみがスコアに影響します。どのフローにも接続されていないポリシーはスコアに影響しません。
  • FlowCallout ポリシーがフローに接続されている場合、プロキシがフローフックを介して呼び出す共有フローとプロキシ内の FlowCallout ポリシーがプロキシスコアにおいて考慮されます。FlowCallout がフローに接続されていない場合、リンクされた共有フローのポリシーはセキュリティ スコアに影響しません。
  • 共有フローチェーンはサポートされていません。共有フローチェーン経由で含まれるポリシーは、セキュリティ スコアの計算時に評価されません。
  • 条件付きフローに接続されている各ポリシーについては、ポリシーが存在するかどうかのみがセキュリティ スコアにおいて考慮されます。ポリシーが実行時に適用されるかどうか、またどのように適用されるかは考慮されません。

セキュリティ プロファイル

セキュリティ プロファイルは、API のスコア付けを行う一連のセキュリティ カテゴリです(以下で説明)。プロファイルには、セキュリティ カテゴリの任意のサブセットを含めることができます。環境のセキュリティ スコアを表示するには、まず環境にセキュリティ プロファイルを接続する必要があります。Apigee のデフォルトのセキュリティ プロファイルを使用することも、重要度の高いセキュリティ カテゴリのみを含むカスタム セキュリティ プロファイルを作成することもできます。

デフォルトのセキュリティ プロファイル

Advanced API Security には、すべてのセキュリティ カテゴリを含むデフォルトのセキュリティ プロファイルが用意されています。デフォルトのプロファイルを使用する場合、セキュリティ スコアはすべてのカテゴリに基づきます。

カスタム セキュリティ プロファイル

カスタム セキュリティ プロファイルを使用すると、特定のセキュリティ カテゴリのみに基づいてセキュリティ スコアが算出されます。カスタム プロファイルの作成方法については、セキュリティ プロファイルの作成と編集をご覧ください。

セキュリティのカテゴリ

セキュリティ スコアは、以下で説明するセキュリティ カテゴリの評価に基づいています。

Category 説明 推奨事項
不正使用 大量のリクエスト、データ スクレイピング、承認に関連する不正使用など、意図された以外の目的で API に送信されたリクエストなど、不正行為がないかを確認します。 不正行為に関する推奨事項をご覧ください。
承認 認可ポリシーが設定されているかどうかを確認します。 次のいずれかのポリシーをプロキシに追加します。
CORS CORS ポリシーが設定されているかどうかを確認します。 プロキシに CORS ポリシーを追加します。
MTLS ターゲット サーバーに mTLS(Mutual Transport Layer Security)が構成されているかどうかを確認します。 ターゲット サーバーの mTLS 構成をご覧ください。
メディエーション メディエーション ポリシーが設定されているかどうかを確認します。 次のいずれかのポリシーをプロキシに追加します。
脅威 脅威保護ポリシーが設定されているかどうかを確認します。 次のいずれかのポリシーをプロキシに追加します。

セキュリティ スコア v1 に関する制限事項

セキュリティ スコアには次の制限事項があります。

  • カスタム プロファイルは 1 組織あたり 100 個まで作成できます。
  • セキュリティ スコアが生成されるのは、環境にプロキシ、ターゲット サーバー、トラフィックがある場合のみです。
  • 新しくデプロイされたプロキシのスコアは、すぐには表示されません。

データの遅延

Advanced API Security セキュリティ スコアのデータでは、データの処理方法により、次の遅延に基づきます。

  • 組織で Advanced API Security を有効にした場合、既存のプロキシとターゲットのスコアが環境に反映されるまでに最長で 6 時間かかる可能性があります。
  • 環境のプロキシ(デプロイとデプロイ解除)とターゲット(作成、更新、削除)に関連する新しいイベントが、環境のスコアに反映されるまでに最長で 6 時間かかる場合があります。
  • Apigee Analytics パイプラインへのデータフローには、平均で 15~20 分の遅延があります。その結果、ソーススコアの不正使用データの処理には、15~20 分程度の遅延が発生します。

[リスク評価] ページを開く

リスク評価ページには、各環境での API のセキュリティを測定するスコアが表示されます。

注: リスク評価ページの読み込みに数分かかることがあります。トラフィック量が多く、プロキシとターゲットが多数存在する環境では、ページの読み込みに時間を要します。

Cloud コンソールの Apigee

リスク評価ページを開くには:

  1. Cloud コンソールで Apigee UI を開きます。
  2. [Advanced API Security] > [リスク評価] を選択します。

[リスク評価] ページが表示されます。

リスク評価のメインページ。

このページには 2 つのタブがあります。各タブについては、次のセクションで説明します。

セキュリティ スコアを表示する

セキュリティ スコアを表示するには、[セキュリティ スコア] タブをクリックします。

セキュリティ プロファイルを環境に接続するで説明されているように、セキュリティ プロファイルを接続するまで環境内のスコアは計算されないことに注意してください。Apigee にはデフォルトのセキュリティ ポリシーが用意されています。また、セキュリティ プロファイルの作成と編集で説明されているように、カスタム プロファイルを作成することもできます。

[セキュリティ スコア] テーブルには次の列が表示されます。

  • 環境: スコアが計算される環境。
  • [Risk level]: 環境のリスクレベル(低、中、高)。
  • [Security scores]: 環境の合計スコア(最大 1200)。
  • [Total recommendations]: 提供される推奨事項の数。
  • [Profile]: 接続されているセキュリティ プロファイルの名前。
  • [Last updated]: セキュリティ スコアが最後に更新された日付です。
  • 操作: 環境の行のその他メニューをクリックして、次の操作を実行します。
    • プロファイルの添付: 環境にセキュリティ プロファイルを適用します。
    • Detach profile: 環境からセキュリティ プロファイルを削除します。

セキュリティ プロファイルを環境に接続する

環境のセキュリティ スコアを表示するには、まず次のようにセキュリティ プロファイルを環境に接続する必要があります。

  1. [アクション] で、環境の行にあるその他メニューをクリックします。
  2. [Attach profile] をクリックします。
  3. [プロファイルの添付] ダイアログで、次の操作を行います。
    1. [プロファイル] フィールドをクリックして、接続するプロファイルを選択します。カスタム セキュリティ プロファイルを作成していない場合、使用できるプロファイルは デフォルト のみです。
    2. [割り当て] をクリックします。

環境にセキュリティ プロファイルを接続すると、Advanced API Security はすぐにその評価とスコア付けを開始します。スコアが表示されるまでに数分かかることがあります。

合計スコアは、次の 3 つの評価タイプの個々のスコアから計算されます。

  • ソースの評価
  • プロキシの評価
  • ターゲットの評価

すべてのスコアが 200~1,200 の範囲にあることに注意してください。評価スコアが高いほど、セキュリティ リスクが低くなります。

スコアの確認

セキュリティ プロファイルを環境に接続すると、環境内のスコアと推奨事項を表示できます。これを行うには、メインの [Security scores] ページで環境の行をクリックします。これにより、以下に示すように環境のスコアが表示されます。

環境内のセキュリティ スコア。

ビューには 4 つのタブが表示されます。

概要

[Overview] タブには、次のように表示されます。

  • 各評価の上位のハイライト:
    • プロキシ: 環境内のプロキシの上位の推奨事項を表示します。[Edit Proxy] をクリックして Apigee プロキシ エディタを開きます。ここで推奨事項を実装できます。
    • ターゲット: 環境内のターゲットに関する上位の推奨事項が表示されます。Apigee UI の [Management] > [Environments] ページで [View Target Servers] をクリックして、[Target Servers] タブを開きます。
    • ソース: 検出された不正行為のトラフィックが表示されます。[Detected Traffic] をクリックすると、[Abuse Detection] ページに [Detected traffic] タブが表示されます。
  • [Source Assessment]、[Proxy Assessment]、[Target Assessment] のサマリー(以下を含む)。
    • 評価タイプごとの最新のスコア。
    • [ソース評価] ペインに、検出された不正行為のトラフィックと IP アドレスの数が表示されます。
    • [Proxy Assessment] ペインと [Target Assessment] ペインには、これらの評価のリスクレベルが表示されます。
  • いずれかのサマリーペインで [View Assessment Details] をクリックすると、その評価タイプの詳細が表示されます。
  • [Assessment history]。最近の期間における環境の 1 日の合計スコアのグラフが表示され、3 日または 7 日間から選択できます。 デフォルトでは、グラフに 3 日間が表示されます。 グラフには、同じ期間の合計スコアの平均も表示されます。

スコアは、評価対象がある場合にのみ評価タイプについて計算されます。たとえば、ターゲット サーバーがない場合、[Targets] のスコアは報告されません。

ソースの評価

[Source Assessment] タブをクリックすると、環境の評価の詳細が表示されます。

[Source Assessment] ペイン。

[Assessment details] の右側にある展開アイコンをクリックすると、最近の期間におけるソースの評価のグラフが表示されます(3 日または 7 日間のいずれかを選択できます)。

[Source] ペインに、次の情報を含むテーブルが表示されます。

  • [Category]: 評価のカテゴリ
  • [Risk level]: カテゴリのリスクレベル。
  • [Security score]: 不正行為カテゴリのセキュリティ スコア。
  • [Recommendations]: カテゴリの推奨事項の数。
ソースの詳細

[Source details] ペインには、環境で検出された不正行為のトラフィックの詳細が次のように表示されます。

  • [Traffic details]:
    • [Detected traffic]: 不正行為の原因として検出された IP アドレスから発生した API 呼び出しの数。
    • [Total traffic]: API 呼び出しの合計数。
    • [Detected IP address count]: 不正行為の原因として検出された個別の IP アドレスの数。
    • [Observation start time (UTC)]: トラフィックがモニタリングされた期間の開始時刻(UTC)。
    • Observation end time (UTC): トラフィックがモニタリングされた期間の終了時間(UTC)。
  • Assessment date: 評価が行われた日時。
  • スコアを改善するための推奨事項。不正なトラフィックの処理に関するその他の推奨事項については、不正行為に関する推奨事項をご覧ください。

ソースの評価で表示された問題に対処するセキュリティ アクションを作成するには、[Create Security Action] ボタンをクリックします。

プロキシの評価

API プロキシ評価は、環境内のすべてのプロキシのスコアを計算します。プロキシ評価を表示するには、[Proxy Assessment] タブをクリックします。

[Proxy Assessment] ペイン。

[Proxy] ペインに、次の情報を含むテーブルが表示されます。

  • [Proxy]: 評価されるプロキシ。
  • [Risk level]: プロキシのリスクレベル。
  • [Security score]: プロキシのセキュリティ スコア。
  • [Needs attention]: プロキシのスコアを改善するために対処する必要がある評価カテゴリ。
  • [Recommendations]: プロキシの推奨事項の数。

テーブル内のプロキシの名前をクリックして [プロキシ エディタ] を開きます。ここで、プロキシに対して推奨される変更を行うことができます。

プロキシに関する推奨事項

プロキシのスコアが低い場合、[Recommendations] ペインでプロキシの改善に関する推奨事項を表示できます。 プロキシに関する推奨事項を表示するには、[Proxy] ペインでプロキシの [Needs attention] 列をクリックします。

[Recommendations] ペインが表示されます。

  • Assessment date: 評価が行われた日時。
  • スコアを改善するための推奨事項。

ターゲットの評価

ターゲットの評価では、環境内のターゲット サーバーごとに相互トランスポート層セキュリティ(mTLS)スコアが計算されます。ターゲット スコアは次のように割り当てられます。

  • TLS なしの数: 200
  • 一方向 TLS あり: 900
  • 双方向または mTLS の数: 1200

ターゲット評価を表示するには、[Target Assessment] タブをクリックします。

[Target Assessment] ペイン。

[Target] ペインには、次の情報が表示されます。

  • [Target]: ターゲットの名前。
  • [Risk level]: ターゲットのリスクレベル。
  • [Security score]: ターゲットのセキュリティ スコア。
  • [Needs attention]: ターゲットのスコアを改善するために対処する必要がある評価カテゴリ。
  • [Recommendations]: ターゲットの推奨事項の数。

テーブル内のターゲットの名前をクリックして、Apigee UI の [Management] > [Environments] ページで [Target Servers] タブを開きます。ターゲットに推奨アクションを適用できます。

ターゲットに関する推奨事項

ターゲット サーバーのスコアが低い場合、[Recommendations] ペインで推奨事項を改善するための推奨事項を表示できます。 ターゲットに関する推奨事項を表示するには、[Target] ペインでターゲットの [Needs attention] 列をクリックします。

[Recommendations] ペインが表示されます。

  • Assessment date: 評価が行われた日時。
  • スコアを改善するための推奨事項。

セキュリティ プロファイルの作成と編集

セキュリティ プロファイルを作成または編集するには、[セキュリティ プロファイル] タブを選択します。

[セキュリティ プロファイル] タブ。

[セキュリティ プロファイル] タブには、次の情報を含むセキュリティ プロファイルのリストが表示されます。

  • 名前:プロファイルの名前。
  • カテゴリ: プロファイルに含まれるセキュリティ カテゴリ。
  • 説明: プロファイルの説明(省略可)。
  • 環境: プロファイルが接続されている環境。この列が空の場合、プロファイルはどの環境にも適用されていません。
  • 最終更新日時(UTC): プロファイルが最後に更新された日時。
  • 操作: 次の項目を含むメニュー。
    • 編集: プロファイルを編集します。
    • 削除: プロファイルを削除します。

セキュリティ プロファイルの詳細を表示する

セキュリティ プロファイルの詳細を表示するには、プロファイルの行にあるその名前をクリックします。これにより、次のようにプロファイルの詳細が表示されます。

セキュリティ プロファイルの詳細

[詳細] タブの最初の行には、[リビジョン ID](プロファイルの最新リビジョン番号)が表示されます。プロファイルを編集してセキュリティ カテゴリを変更すると、リビジョン ID が 1 上がります。ただし、プロファイルの説明を変更するだけではリビジョン ID は増加しません。

その下の行には、[セキュリティ プロファイル] タブのプロファイルの行と同じ情報が表示されます。

プロファイルの詳細ビューにはラベルが設定された 2 つのボタン、編集削除があります。これは、セキュリティ プロファイルを編集または 削除する目的で使用します。

履歴

プロファイルの履歴を表示するには、[履歴] タブをクリックします。プロファイルのすべてのリビジョンのリストが表示されます。リビジョンごとに、次の情報が表示されます。

  • リビジョン ID: リビジョン番号。
  • カテゴリ: プロファイルのそのリビジョンに含まれるセキュリティ カテゴリ。
  • 最終更新日(UTC): リビジョンが作成された日時(UTC)。

カスタム セキュリティ プロファイルを作成する

新しいカスタム セキュリティ プロファイルを作成するには:

  1. ページの上部にある [作成] をクリックします。
  2. 表示されたダイアログで、次のように入力します。
    • 名前:プロファイルの名前。 名前は 1~63 文字にし、英小文字、数字、ハイフンで構成します。先頭は英字、末尾は英字または数字にします。既存のプロファイルの名前は使用できません。
    • (省略可)説明: プロファイルの説明。
    • [カテゴリ] フィールドで、プロファイルに含める評価カテゴリを選択します。

カスタム セキュリティ プロファイルを編集する

カスタム セキュリティ プロファイルを編集するには:

  1. セキュリティ プロファイルの行の最後にある [操作] メニューをクリックします。
  2. [編集] を選択します。
  3. [セキュリティ プロファイルの編集] ページで、次の設定を変更できます。
    • 説明: セキュリティ プロファイルの説明(省略可)。
    • [カテゴリ]: プロファイルに選択されたセキュリティ カテゴリ。プルダウン メニューをクリックし、メニューからカテゴリを選択または選択解除してカテゴリを変更します。
  4. [OK] をクリックします。

カスタム セキュリティ プロファイルを削除する

セキュリティ プロファイルを削除するには、プロファイルの行の最後にある [操作] をクリックし、[削除] を選択します。プロファイルを削除すると、そのプロファイルはすべての環境から削除されます。

従来の Apigee UI

セキュリティ スコア ビューを開くには、次のようにします。

  1. 従来の Apigee UI を開きます。
  2. [Analyze] > [API Security] > [Security scores] を選択します。

これにより、[セキュリティ スコア] ビューが表示されます。

[Security scores] メインビュー。

セキュリティ プロファイルを環境に接続するまで、環境内のスコアは計算されないことに注意してください。Apigee にはデフォルトのセキュリティ ポリシーが用意されています。また、Apigee API を使用してカスタム プロファイルを作成することもできます。詳細については、カスタム セキュリティ プロファイルを使用するをご覧ください。

上の図では、integration 環境にセキュリティ プロファイルが接続されていないため、[プロファイル名] 列にはその環境で [未設定] と表示されます。

[セキュリティ スコア] テーブルには次の列が表示されます。

  • 環境: スコアが計算される環境。
  • 最新のスコア: 環境の最新の合計スコア(最大 1200)。
  • リスクレベル: 低、中、高のリスクレベル。
  • [Total Recommendations]: 提供される推奨事項の数。各推奨事項は、[Needs Attention] テーブルの行に対応します。
  • [プロファイル名]: セキュリティ プロファイルの名前。
  • 評価日: セキュリティ スコアが計算された最新の日付。

セキュリティ プロファイルを環境に接続する

環境のセキュリティ スコアを表示するには、まず次のようにセキュリティ プロファイルを環境に接続する必要があります。

  1. [アクション] で、環境の行にあるその他メニューをクリックします。
  2. [Attach profile] をクリックします。
  3. [プロファイルの添付] ダイアログで、次の操作を行います。
    1. [プロファイル] フィールドをクリックして、接続するプロファイルを選択します。カスタム セキュリティ プロファイルを作成していない場合、使用できるプロファイルは デフォルト のみです。
    2. [割り当て] をクリックします。

環境にセキュリティ プロファイルを接続すると、Advanced API Security はすぐにその評価とスコア付けを開始します。スコアが表示されるまでに数分かかることがあります。

以下の画像は、デフォルトのセキュリティ プロファイルが接続されている環境の [セキュリティ スコア] ビューを示しています。

セキュリティ プロファイルが接続された [Security Scores] のメイン ウィンドウ。

環境の行には、最新のセキュリティ スコア、リスクレベル、実行するセキュリティ アクションの推奨事項の数、スコアの評価日が表示されます。

合計スコアは、次の 3 つの評価タイプの個々のスコアから計算されます。

  • ソースの評価
  • プロキシの評価
  • ターゲットの評価

すべてのスコアが 200~1,200 の範囲にあることに注意してください。スコアが高いほど、セキュリティ評価が良くなります。

スコアの確認

セキュリティ プロファイルを環境に接続すると、環境内のスコアと推奨事項を表示できます。これを行うには、メインの [Security scores] ビューで環境の行をクリックします。これにより、以下に示すように環境のスコアが表示されます。

環境内のセキュリティ スコア。

ビューには次のように表示されます。

  • [Sources]、[Proxies]、[Targets] の最新のスコア。 いずれかのペインで [View Assessment Details] をクリックすると、そのタイプの評価が表示されます。
  • [Environment Score History]。環境における過去 5 日間の日次合計スコアと、同じ期間の平均の総スコアのグラフが表示されます。
  • [Needs Attention] テーブル。セキュリティを改善できる API の評価タイプが一覧表示されます。

スコアは、評価対象がある場合にのみ評価タイプについて計算されます。たとえば、ターゲット サーバーがない場合、[Targets] のスコアは報告されません。

以下のセクションで、タイプごとに評価を表示する方法を説明します。

要注意表

上記の [Needs Attention] テーブルには、スコアが 1200 未満の API カテゴリと次の項目が一覧表示されます。

  • カテゴリの最新スコア
  • カテゴリのリスクレベル(低、中、高)。
  • 評価日
  • 評価タイプ

推奨事項を表示する

テーブル内の各行について、Advanced API Security はスコア向上に関する推奨事項を提供します。[Assessment details] ビューで、以下のセクションで説明する [Sources]、[Proxies]、または [Targets] の各タイプの推奨事項について確認できます。

[Assessment details] ビューは、次のいずれかの方法で開くことができます。

  • メインの [セキュリティ スコア] ビューのいずれかのペインで [View Assessment Details] をクリックします。
  • [Needs Attention] テーブルで次の操作を行います。
    1. テーブル内のカテゴリ グループを展開します。

      [Needs Attention] テーブルの [Auth] 行。

    2. 推奨事項を表示するカテゴリをクリックします。これにより、推奨事項に対応する [評価の詳細] ビューが開きます。

ソースの評価

ソースの評価では、環境の不正行為スコアが計算されます。「不正行為」とは、意図された以外の目的で API に送信されたリクエストを指します。

ソース評価を表示するには、[ソース] ペインで [ビュー] をクリックして、[API ソース評価] ビューを開きます。

[Source Assessment] ペイン。

[Source Score History] には、過去 5 日間のスコアと、平均値および最新のスコアが表示されます。[評価の詳細] テーブルには、評価のカテゴリに関する最新の個別スコアが表示されます。

ソースに関する推奨事項

カテゴリのスコアが低い場合、カテゴリの改善に関する推奨事項を表示できます。 不正行為 カテゴリの推奨事項を表示するには、[評価の詳細] テーブルの行をクリックします。これにより、[推奨事項] ペインに推奨事項が表示されます。

[推奨事項] ペインの不正使用に関する推奨事項。

不正行為の詳細をドリルダウンするには、[詳細を表示] をクリックします。これにより、[不正行為の検出] ページの [検出されたトラフィック] ビューが開きます。[検出されたトラフィック] ビューには、検出された不正行為に関する詳細情報が表示されます。

[View Details] の下に、[Recommendations] ペインが表示されます。

  • 推奨事項: 「Block or allow traffic identified by abuse detection」が表示されます。
  • [操作] 行には、不正行為に関する推奨事項についてのドキュメントへのリンクが表示されます。

プロキシの評価

API プロキシ評価は、環境内のすべてのプロキシのスコアを計算します。プロキシ評価を表示するには、[プロキシ] ペインで [ビュー] をクリックして [API プロキシ評価] ビューを開きます。

[Proxy Assessment] ペイン。

[Proxy Score History] には、過去 5 日間のスコアと、平均値および最新のスコアが表示されます。[評価の詳細] テーブルには、評価のカテゴリに関する最新の個別スコアが表示されます。

プロキシに関する推奨事項

コンポーネントのスコアが低い場合、コンポーネントの改善に関する推奨事項を表示できます。たとえば、hellooauth2 プロキシの推奨事項を表示するには、[Assessment details] テーブルで行をクリックします。これにより、[推奨事項] ペインに推奨事項が表示されます。それらのうちの 2 つを以下に示します。

プロキシに関する推奨事項。

ターゲットの評価

ターゲットの評価では、環境内の各ターゲット サーバーの mTLS スコアが計算されます。ターゲット スコアは次のように割り当てられます。

  • TLS なしの数: 200
  • 一方向 TLS あり: 900
  • 双方向または mTLS の数: 1200

ターゲット評価を表示するには、[ターゲット] ペインで [ビュー] をクリックして、[API ターゲット評価] ビューを開きます。

[Target Assessment] ペイン。

[Target Score History] には、過去 5 日間のスコアと、平均値および最新のスコアが表示されます。[評価の詳細] テーブルには、評価のカテゴリに関する最新の個別スコアが表示されます。

ターゲットに関する推奨事項

ターゲット サーバーのスコアが低い場合、それを改善するための推奨事項を表示できます。ターゲット サーバーの評価を表示するには、その行をクリックします。これにより、[推奨事項] ペインに推奨事項が表示されます。

プロキシに関する推奨事項。

不正行為の推奨事項

ソーススコアが低い場合は、不正行為が検出された IP を確認することを Apigee はおすすめします。これらの IP からのトラフィックが不正であると思われる場合は、セキュリティ アクション ページを使用して、不正なトラフィックの発生元である IP アドレスからのリクエストをブロックします。

この不正行為の詳細については、次のいずれかのリソースで確認してください。