このトピックでは、API セキュリティの組み込みポリシーとカスタムポリシー設定について説明します。組み込みの検出メカニズムに基づき、API セキュリティは、お客様のビジネス特性に合わせたカスタム検出ポリシーをサポートしています。リスク検出、セキュリティイベント、機密データ、認証情報、ビジネス目的、ホワイトリスト、ライフサイクル管理、ログサブスクリプション、および対象オブジェクトを設定することで、識別された API データが実際のビジネスシナリオをより適切に反映するようになります。これにより、API セキュリティ検出の精度と再現率がさらに向上するため、ビジネスニーズに基づいて適切なアクションを実行し、API ビジネス資産への攻撃による損失を軽減できます。
I. リスク検出設定
リスクとは、API における開発上の欠陥、または管理および構成の不備に起因するセキュリティリスクまたは脆弱性を指します。セキュリティリスクとセキュリティイベントの違いは、セキュリティリスクが必ずしも攻撃が発生したことを示すものではないのに対し、セキュリティイベントは攻撃によってトリガーされたアラートを示すという点にあります。
組み込みポリシー設定
ポリシー設定の リスク検出の設定 タブでは、設定済みのリスクポリシーを表示できます。組み込みポリシーはデフォルトで有効です。有効化ステータスを変更し、リスクレベルを調整できます。ビジネスニーズに応じて、組み込みポリシーのリスクレベルを「低」、「中」、「高」のいずれかに設定できます。
カスタムポリシー設定
リスク検出設定では、組み込みポリシーに加えて、最大 20 個のカスタムポリシーを作成できます。カスタムポリシーの設定ルールは次のとおりです:
-
[API リクエストセキュリティ] ページで、 タブを選択します。
-
左側メニューで、[カスタムポリシー] セクションの New をクリックして、設定ドロワーを開きます。次の表に、設定パラメーターを示します。
パラメーター
説明
[リスクステータス]
ポリシーのステータスを設定します。デフォルト値は [有効] です。
[リスク名]
カスタムリスクの名前を設定します。名前に使用できる文字は、漢字、大文字と小文字の英字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) です。
[Suggestions]
ビジネスニーズに基づいて、カスタムリスクポリシーの対処に関する提案を設定します。
[Risk Level]
リスクレベルは、[低]、[中]、[高] に設定できます。
[検出の設定]
カスタムリスクポリシーの検出条件を設定します。最大 10 個の条件を設定できます。
次の表に、論理演算子や一致コンテンツの例など、検出設定の詳細を示します。
説明-
一致コンテンツは最大 50 個まで入力でき、Enter キーを押して確定します。
-
リスク検出の設定 の一致コンテンツは、大文字と小文字が区別されます。
-
-
カスタム設定が完了したら、OK をクリックして設定を保存します。
II. セキュリティイベントの設定
セキュリティイベントは、API で異常な呼び出しや攻撃が発生したことを意味します。たとえば、ログイン API に対するブルートフォース攻撃や、SMS 送信 API を悪用した SMS ボンバーなどです。組み込みのイベント検出では、IP アドレスとアカウントを検出ディメンションとして使用します。
組み込みポリシー設定
組み込みのセキュリティ イベントポリシーがアラートをトリガーした場合、攻撃が継続しても新しいアラートは生成されません。ただし、既存のアラートの攻撃時間は更新され、攻撃量などの要因に基づいてアラートの重大度レベルが変更される場合があります。
ポリシー設定の セキュリティイベントの設定 タブで、設定済みのセキュリティ イベントポリシーを表示できます。組み込みポリシーはデフォルトで有効になっています。有効化ステータスを変更したり、リスクレベルを調整したりできます。
カスタムポリシー設定
セキュリティイベント設定では、組み込みポリシーに加えて、最大 10 個のカスタムポリシーを作成できます。カスタムポリシーの設定ルールは次のとおりです:
-
API リクエストセキュリティ ページで、ポリシーの設定 > セキュリティイベントの設定 タブを選択します。
-
左側のペインで、[カスタムポリシー] セクションの New をクリックして、設定ドロワーを開きます。次の表に、設定パラメーターを示します:
パラメーター
説明
[イベントステータス]
ポリシーのステータスを設定します。デフォルト値は [有効] です。
[Event Name]
カスタムイベントの名前を設定します。名前に使用できる文字は、中国語文字、大文字と小文字の英字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) です。
[Suggestions]
ビジネスニーズに基づいて、カスタムセキュリティイベントの対処に関する提案を設定します。
[Event Level]
リスクレベルは、[低]、[中]、[高] に設定できます。
[一致条件]
カスタムセキュリティイベントポリシーの検出条件を設定します。最大 10 個の条件を指定できます。
説明複数の条件が定義されている場合、すべての条件が満たされたときにのみルールがトリガーされます。
[Rate Limiting]
Statistical Object を IP またはアカウントに設定し、統計期間 を分単位の粒度で最大 15 分に設定し、リクエスト数 を正の整数のみに設定します。
[データ統計]
カスタムセキュリティイベントポリシーの統計条件を設定します。最大 10 個の条件を指定できます。
対応する論理演算子や一致コンテンツの例など、一致条件の詳細な設定については、リスク検出セクションの「詳細設定」をご参照ください。
説明-
一致コンテンツは最大 50 個まで入力でき、Enter キーを押して確定します。
-
セキュリティイベントの設定 の一致コンテンツでは、大文字と小文字が区別されます。
次の表に、論理演算子や一致コンテンツの例など、データ統計の詳細な設定を示します:
-
-
カスタム設定が完了したら、OK をクリックして設定を保存します。
III. [機密データの設定]
ポリシー設定の 機密データの設定 タブでは、次の項目を表示および設定できます。
-
[機密データタイプの設定]:システムには、ID 番号や携帯電話番号などの一般的な機密データタイプに対応した、組み込みの検出ロジックがあります。ビジネスニーズに応じて機密データタイプをカスタマイズすることもできます。
-
[API リアルタイムマスキング]:AI ベースラインエンジンに基づくインテリジェントな保護機能により、API 構造を自律的に学習し、リアルタイムで機密データを識別して、きめ細かい自動データマスキングを実現します。この機能は手動でフィールドを事前定義する必要がなく、越境データ転送などのコンプライアンス要件を満たすために複雑なビジネスシナリオに柔軟に対応し、全自動のリアルタイム保護を実現します。
[機密データタイプの設定]
機密データの設定 タブで、左側のリストにある 機密データタイプの設定 をクリックして、次の項目を表示および設定します。
[組み込み機密データタイプ]
組み込みのシステムポリシーはデフォルトで有効になっています。これらのポリシーは編集、変更、削除はできず、有効化または無効化のみが可能です。
[カスタム機密データタイプ]
ビジネスで独自の機密データを定義している場合、カスタムの機密データ検出ルールを設定できます。機密データに対して、最大 20 個のカスタムポリシーを設定できます。
ポリシーの新規作成 をクリックして、表示されるドロワーページで設定を行います。現在、カスタムポリシーは 簡易モード と エキスパートモード の 2 つのモードで設定できます。
|
設定項目 |
説明 |
|
[名前] |
ルールの名前を設定します。 |
|
[モード] |
カスタムポリシーの検出モードを設定します。
|
|
[レベル] |
検出された機密データの秘密度レベルを設定します。オプション: S1、S2、S3、S4。 説明
機密データタイプの詳細については、「API Security で検出可能な機密データ」をご参照ください。 |
[マスキング表示]
[機密データ関連設定] タブには マスキング表示 スイッチがあります。デフォルトでは無効になっており、データがマスクされずに表示されることを意味します。
データマスキングを有効にすると、次の情報がマスクされます。
-
Risk Details と API Details では、リクエストとレスポンスのサンプルのすべてのフィールドに含まれる機密データが、デフォルトでプレースホルダー
{{Phone}}に置き換えられます。 -
セキュリティイベントの Event Details では、機密データを含むリクエストとレスポンスのデータサンプルはマスクされ、
{}と表示されます。 -
サンプル情報内のリクエスト Cookie は
{{Cookie}}としてマスクされ、トークンを含むリクエストヘッダーは{{XXXToken}}としてマスクされ、レスポンスの SetCookie は{{SetCookie}}としてマスクされます。
データマスキング機能の影響範囲は次のとおりです。
-
Risk Details および API Details:新規のリクエストおよびレスポンスのデータサンプル情報にのみ適用されます。
-
Event Details:新規および既存のリクエストとレスポンスのデータサンプル情報の両方に適用されます。
[API リアルタイムマスキング]
機密データの設定 タブで、左側のリストから API リアルタイムマスキング をクリックし、テンプレートの作成 をクリックしてマスキングテンプレートを設定します。
-
[テンプレート名]:わかりやすいテンプレート名を設定します。
-
[マスキングルール設定]:ルールの作成 をクリックして、特定のマスキングルールを設定します。複数のルールを設定できます。
-
[Rule Name]:わかりやすいルール名を設定します。
-
[Sensitive Data Type]:マスクするデータタイプを選択します。組み込みの機密データタイプのみ選択できます。
-
[一致条件]:ルールをトリガーするための HTTP 条件を設定します。0~5 個の条件を設定できます。条件が設定されていない場合、ルールはすべての HTTP リクエストでトリガーされます。
説明ルールに複数の条件が含まれている場合、リクエストがすべての条件 (論理 AND) を満たした場合にのみルールがトリガーされます。一致フィールドと論理演算子の詳細な説明については、「一致条件」をご参照ください。
-
[データ処理方式]:次の 2 つの処理方法を使用できます。
-
[マスキング]:データをマスクします。さらに、具体的な Action を設定する必要があります。オプション:クリア と マスク。
-
[観察]:データをマスクせず、ログのみを記録します。
-
-
-
[有効対象]:ルールを適用する API アセットを指定します。秘密度レベルが「高」、「中」、「低」のアセットのみが対象です。各ターゲットオブジェクトには、1 つのマスキングテンプレートしか設定できません。
テンプレートが作成された後、新しく追加されたターゲットオブジェクトに対してマスキングルールが有効になるまで 10~20 分お待ちください。API マスキングログを表示するには、[セキュリティレポート] ページに移動します。
作成されたテンプレートでは、次の管理操作を実行できます。
-
テンプレートとルールの有効化または無効化
-
テンプレートへのルールの追加
-
テンプレートとルール情報の編集
-
テンプレートとルールの削除
IV. 認証情報設定
お客様の業務で一般的ではないフィールドを認証フィールドとして使用している場合や、数字のみなど特徴の乏しい認証フィールド名を使用している場合は、カスタム認証情報を設定することを推奨します。組み込みの認証情報検出に基づいてパラメーター名を指定することで、組み込みモデルがリクエストに認証情報が含まれているかどうかを正確に識別できるようになり、API セキュリティと未認証のリスク検出の精度が向上します。
-
[API リクエストセキュリティ] ページで、ポリシーの設定 > 権限付与の資格情報に関する設定 タブを選択します。
-
ポリシーの新規作成 をクリックし、次の項目を設定してから OK をクリックします。
設定項目
説明
[名前]
ポリシーの名前を設定します。
中国語文字、大文字・小文字の英字が使用できます。数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) も使用できます。
[一致条件]
各条件は、マッチフィールド、論理記号、および マッチコンテンツ で構成されます。最大 10 個の条件を設定できます。設定時には、リクエストヘッダー、リクエスト Cookie、リクエストクエリ、またはリクエストボディのいずれかに、少なくとも 1 つの一致条件を追加してください。
説明複数の条件が定義されている場合、すべての条件が同時に満たされたときにのみルールがトリガーされます。
一致条件の詳細な設定については、次の表で、対応する論理演算子と一致コンテンツの例を参照してください。
説明-
最大 50 個の一致値を入力し、Enter キーで確定します。
-
権限付与の資格情報に関する設定 の一致コンテンツは、大文字と小文字を区別します。
-
V. ビジネス目的設定
API セキュリティでは、次の 2 種類のビジネス目的ポリシーを提供します:
組み込みポリシー設定
組み込みのビジネス目的ポリシーは、データ更新、データ共有、モバイル SMS 送信、情報送信など、複数のシナリオ向けに用意されています。組み込みポリシーはデフォルトで有効になっており、変更や削除はできません。必要に応じて、各ポリシーを有効または無効にできます。
カスタムポリシー設定
組み込みポリシーがビジネスニーズを満たさない場合は、URL やパラメーター名の特徴をカスタマイズすることで、特定のビジネスシナリオにおける API セキュリティの検出精度をさらに向上させることができます。
-
API リクエストセキュリティ ページで、ポリシーの設定 > ビジネス用途の設定 タブを選択します。
-
カスタムポリシー をクリックしてカスタムポリシー管理に移動します。ポリシーの新規作成 をクリックし、以下の設定を行い、OK をクリックして設定を保存します。
-
手動で入力するフィールドでは、照合値は最大 50 件まで入力でき、Enter キーを押して確定します。
-
ビジネス用途の設定 の一致コンテンツは、大文字と小文字を区別します。
VI. 許可リスト設定
API セキュリティの許可リスト設定機能を使用すると、セキュリティイベントとリスク検出のための許可リストをカスタマイズできます。これにより、実際のビジネスシナリオに基づいて、たとえばオフィスネットワークの IP アドレスが生成するアラートなど、不要なアラートノイズを除外し、運用効率を向上させることができます。
-
[API リクエストセキュリティ] ページで、ポリシーの設定 > ホワイトリストの設定 タブを選択します。
-
ポリシーの新規作成 をクリックし、ポリシーの名前を入力して、許可リストを設定する機能タイプを選択します。現在、Risk Detection と Security Events の許可リストを設定できます。
-
選択した機能タイプに基づいて一致条件を設定します。
説明-
最大 10 個の一致条件を設定できます。
-
ホワイトリストの設定 の一致条件では、大文字と小文字が区別されます。
リスク検出許可リストの一致条件
一致フィールド
論理演算子
一致内容
ドメイン
複数の値のいずれかを含む
いずれの値も含まない
複数の値のいずれかと等しい
いずれの値とも等しくない
複数の値を入力できます (最大 50 個)。Enter キーを押して確定します。
API
複数の値のいずれかを含む
いずれの値も含まない
複数の値のいずれかと等しい
いずれの値とも等しくない
複数の値を入力できます (最大 50 個)。Enter キーを押して確定します。
セキュリティイベント許可リストの一致条件
一致フィールド
論理演算子
一致内容
ドメイン
複数の値のいずれかを含む
いずれの値も含まない
複数の値のいずれかと等しい
いずれの値とも等しくない
複数の値を入力できます (最大 50 個)。Enter キーを押して確定します。
API
複数の値のいずれかを含む
いずれの値も含まない
複数の値のいずれかと等しい
いずれの値とも等しくない
複数の値を入力できます (最大 50 個)。Enter キーを押して確定します。
IP
属する
属さない
IP アドレスまたは IP/マスク (例: 1.1.X.X/24) を入力します。正規表現はサポートされていません。最大 50 個のエントリを入力できます。エントリの区切りには、カンマ (,) を使用するか、Enter キーを押します。
-
-
除外するリスク検出またはセキュリティイベントのタイプを選択し、OK をクリックして設定を保存します。
説明除外するタイプは、組み込みとカスタムの両方のオプションをサポートしており、複数選択できます。
VII. ライフサイクル管理
API セキュリティでは、1 日あたりのアクセス数としきい値、および期間を設定することで、非アクティブな API の識別基準をカスタマイズできます。これにより、非アクティブな API の検出がお客様の実際のビジネス状況に、より適合します。ライフサイクル管理は、お客様のカスタム基準を満たす非アクティブな API の識別を支援し、お客様が適時に対応し、攻撃者による非アクティブな API の悪用を防いで、不要なビジネス上の損失を回避できるようにします。
-
[API リクエストセキュリティ] ページで、ポリシーの設定 > ライフサイクル管理 タブを選択します。
-
非アクティブな API を識別するための基準を設定した後、OK をクリックします。
-
組み込みモデル をクリックします。
これにより、組み込みの基準が使用されます。API は、過去 8 日間にアクセスがない場合、またはトラフィックが大幅に減少した場合に非アクティブと見なされます。
-
カスタム をクリックし、1 日あたりのアクセス数としきい値、および期間 (最大 31 日) を設定します。
API の 1 日あたりのアクセス数が、カスタムで設定した期間にわたって、指定されたしきい値を下回った場合、その API は非アクティブとして識別されます。
-
アセットの [最終アクティブ時間] が 30 日を超えた場合、システムはアセットと、それに関連するリスクデータおよびセキュリティイベントのレコードを自動的に削除します。
VIII. ログサブスクリプション
資産情報、リスク情報、またはイベント情報のログサブスクリプションを有効にすると、配信条件を満たしたログが、Log Service コンソールで作成した指定の LogStore に配信されます。これにより、Alibaba Cloud Log Service (SLS) の機能を使用してログを一元管理し、運用できます。
現在、中国本土の WAF インスタンスは中国本土の LogStore に、中国本土以外の WAF インスタンスは中国本土以外の LogStore にログを配信できます。中国本土と中国本土以外のクロスリージョンでのログ配信はサポートされていません。
サービスリンクロールの有効化
Web Application Firewall (WAF) のサービスリンクロールを有効化していない場合は、API セキュリティ ログのサブスクリプションサービスを使用する前に、ロールを有効化する必要があります。プロンプトに従ってロールを有効化すると、WAF が他のクラウド リソースにアクセスする権限が付与されます。サービスリンクロールの詳細については、「サービスリンクロール」をご参照ください。WAF ログサービスなどの機能を有効化する際にすでに権限付与を完了している場合は、このステップをスキップしてください。
ログサブスクリプション設定
-
API セキュリティのログサブスクリプションタスクを設定する前に、Log Service コンソールを開き、ログサブスクリプションの受信先となる Project と LogStore を作成します。対象の LogStore を既に作成しており、名前が命名規則に準拠していることを確認済みの場合は、次のステップに進んでください。
説明ログサブスクリプション機能では現在、Log Service によって自動作成された LogStore、またはカスタム名 "waf-logstore"、"wafng-logstore"、"wafnew-logstore" をログサブスクリプションの配信先として選択できません。
-
作成後、ログサブスクリプションタブに戻り、資産情報、リスク情報、および攻撃イベント情報のサブスクリプションを設定します。Log Service コンソールで指定した LogStore に配信されたログをクエリおよび分析する場合は、先にインデックス作成を有効化してください。詳細については、「Create indexes」をご参照ください。
-
サブスクリプションタスクのログタイプを選択し、設定 ボタンをクリックして設定ページに移動します。
-
LogStore があるリージョン、Project 名、Logstore 名を選択し、OK ボタンをクリックして設定を保存します。設定が完了してログが生成されると、Log Service コンソールで対応する Logstore のログをクエリおよび分析できます。データマスキングの実行など、ログを処理する場合は、「データ処理」をご参照ください。
-
ログサブスクリプションタスクを無効にし、既存のログが不要になった場合は、継続的な課金を回避するために、[Log Subscription] タブでタスクを無効化した後、該当する LogStore を削除してください。詳細については、「How to Disable Log Service or Stop Billing」をご参照ください。
以下では、ログサブスクリプションタスクのトリガー条件と、フィールドの詳細を説明します。
-
Log Service でクラウドリソースを作成し、インデックス作成を有効化すると、Log Service により追加料金が発生します。課金項目と料金については、「Log Service Billing Overview」をご参照ください。
-
Project または LogStore を作成したものの、ログサブスクリプションタスクを有効化していない場合でも、料金が発生することがあります。作成した LogStore が不要になったことを確認したら、追加料金を回避するために速やかに削除してください。詳細については、「Why Charges Accrue When Only a Project and LogStore Are Created」をご参照ください。
資産情報ログ
ログサブスクリプションのトリガー条件:
-
新しい API 資産が追加されると、資産情報ログが直ちに配信されます。
-
新しい API 資産が追加されない場合、資産情報ログはデフォルトで 1 時間ごとにスケジュール配信されます。
リスク情報ログ
ログサブスクリプションのトリガー条件:新しいリスク情報が検出されると、リスク情報ログが指定した LogStore に配信されます。
攻撃イベント情報ログ
ログサブスクリプションのトリガー条件:
-
新しい攻撃イベントが検出されると、新しい攻撃イベント情報ログが指定した LogStore に配信されます。
-
攻撃が継続している場合、攻撃イベント情報ログは 10 分間隔で指定した LogStore に継続的に配信されます。
ログサブスクリプション:フィールド値の説明
ログの分析やクエリの際に、ログ内のフィールド値の意味を把握したり、その値がコンソール上の名称とどのように対応しているかを確認したりする必要がある場合は、次の表を参照してください。[説明] 列は、各フィールド値に対応する Web Application Firewall (WAF) コンソール上の名称を示します。
IX. 対象オブジェクトの設定
サブスクリプション型 Web Application Firewall (WAF)
API セキュリティには、保護対象または保護対象グループレベルで 3 つの有効化スイッチがあります。
-
基本検査 スイッチ: デフォルトで有効です。すべての組み込み検出メカニズムとカスタム検出ポリシーの有効/無効を制御します。
-
[コンプライアンス審査]スイッチ:デフォルトでは無効になっています。基本検査 スイッチが有効になっている場合にのみ有効にできます。コンプライアンス審査 機能が有効になるかどうかを制御します。
-
トレーサビリティ監査 スイッチ: デフォルトでは無効です。基本検査 スイッチを有効にした後にのみ有効化できます。トレーサビリティ監査 機能が有効になるかどうかを制御します。
従量課金型 Web Application Firewall (WAF)
API セキュリティには、保護対象または保護対象グループレベルで 1 つの有効化スイッチがあります。
-
基本検査 スイッチ:すべての組み込みの検出メカニズムとカスタム検出ポリシーが有効になるかどうかを制御します。API セキュリティ機能を無効にするには、すべての保護オブジェクトおよび保護オブジェクトグループの 基本検査 スイッチを無効にします。