リスク評価の概要と UI

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

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

概要

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

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

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

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

リスク評価にアクセスする際は、このページの説明に沿って Apigee UI で表示するか、セキュリティ スコアとプロファイルの API を使用できます。

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

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

リスク評価 v1 と v2

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

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

  • v2 の特徴は次のとおりです。
    • 信頼性が向上しています(最新のプロキシデータによるスコア計算の高速化など)。
    • 環境にセキュリティ プロファイルを事前に接続しなくてもスコアが計算されます。
    • 0~100% のスケールでスコアがシンプルに表示されます。
    • 評価チェックの重み(このコンセプトは v1 ではサポートされていません)。リスク評価 v2 のコンセプトとスコア付け方法をご覧ください。
    • 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 ここで、「Auth」は認可(authorization)と認証(authentication)の両方を意味します。Auth 評価では、認可ポリシーや認証ポリシーが設定されているかどうか、Auth ポリシーで continueOnError 属性が false に設定されているかどうかを確認します。
評価チェック / 名前 説明 推奨事項
Auth ポリシーのチェック / auth-policies-check Auth ポリシー(AccessControlBasicAuthenticationHMACOAuthValidateSAMLAssertionVerifyAPIKeyVerifyJWS、または VerifyJWT ポリシー)が有効になっているかどうかを確認します。 必要なポリシーの 1 つ以上をプロキシに追加します。
Auth ポリシーでの continueOnError チェック / continue-on-error-auth-policies-check プロキシ内のすべての Auth ポリシーで continueOnError フィールドが有効になっているかどうかを確認します。これには、Auth ポリシーが使用されているかどうかの確認が含まれます。プロキシに Auth ポリシーがない場合、このチェックは影響しません。 プロキシに含まれるすべての Auth ポリシーで、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 CORS ポリシー、または CORS ヘッダーを含む AssignMessage ポリシーが存在するかどうかを確認します。
評価チェック / 名前 説明 推奨事項
CORS ポリシーのチェック / cors-policies-check CORS ポリシー、または CORS ヘッダーを含む AssignMessage ポリシーが存在するかどうかを確認します。 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 脅威ポリシー(JSONThreatProtectionRegularExpressionProtection、または XMLThreatProtection)が有効になっているかどうかを確認します。 必要な脅威ポリシーのいずれかをプロキシに追加します。
脅威ポリシーでの continueOnError のチェック / continue-on-error-threat-policies プロキシで使用されているすべての脅威ポリシーで 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 トラフィック管理ポリシー(LookupCacheQuotaResponseCache、または SpikeArrest)が有効になっているかどうかを確認します。 いずれかのトラフィック管理ポリシーをプロキシに追加します。
LookupCache ポリシーのチェック / lookup-cache-policy-check LookupCache ポリシーが有効になっているかどうかを確認します。 LookupCache ポリシーをプロキシに追加します。
Quota ポリシーのチェック / quota-policy-check Quota ポリシーが使用されているかどうかを確認します。 Quota ポリシーをプロキシに追加します。
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 つのポリシーのうちの 1 つが含まれている場合、評価スコアでは、検出された 1 つのポリシーについては満点がカウントされ、存在しない他の 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: 環境が設定されると、その環境にあるプロキシの重大度を示す概要がこのページに表示されます。リスク評価 v2 のコンセプトとスコア付け方法をご覧ください。
  • 評価の詳細: 選択した環境のセキュリティ プロファイル、評価の日時、評価された構成の合計数、デプロイされたプロキシの合計数が表示されます。評価された構成の合計数は、実行されたチェックの合計数を反映しています。この数がプロファイル内の評価の数よりも多い場合があります。一部の評価(continueOnError 属性が false に設定されていることを確認するなど)では、関連するポリシーが適用され、有効になっているかどうかも確認します。
  • Deployed proxies: 環境にデプロイされたプロキシとそのリスク評価スコアの概要。

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

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

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

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

まず、Apigee UI でリスク評価を表示してください。

カスタム プロファイルを作成 / 編集する

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

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

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

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

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

プロファイルを複製する

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

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

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

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

デフォルトのシステム プロファイル(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 には、すべてのセキュリティ カテゴリを含むデフォルトのセキュリティ プロファイルが用意されています。デフォルトのプロファイルを使用する場合、セキュリティ スコアはすべてのカテゴリに基づきます。

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

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

セキュリティのカテゴリ

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

カテゴリ 説明 推奨事項
不正行為 大量のリクエスト、データ スクレイピング、承認に関連する不正使用など、意図された以外の目的で 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 にはデフォルトのセキュリティ ポリシーが用意されています。また、セキュリティ プロファイルの作成と編集で説明されているように、カスタム プロファイルを作成することもできます。

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

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

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

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

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

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

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

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

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

スコアの確認

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

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

ビューには 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 の数: 1,200

ターゲット評価を表示するには、[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 環境にセキュリティ プロファイルが接続されていないため、[Profile Name] 列にはその環境で「Not set」と表示されます。

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

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

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

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

  1. [アクション] で、環境の行にあるその他メニューをクリックします。
  2. [プロファイルの添付] をクリックします。
  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] テーブルには、スコアが 1,200 未満の 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] の下に、[推奨事項:] ペインが表示されます。

  • 推奨事項: 「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 の数: 1,200

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

[Target Assessment] ペイン。

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

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

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

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

不正行為の推奨事項

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

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