すべてのプロダクト
Search
ドキュメントセンター

Web Application Firewall:APIセキュリティポリシーの設定

最終更新日:Oct 24, 2024

このトピックでは、APIセキュリティモジュールの組み込みポリシーとカスタムポリシーについて説明します。 モジュールには検出メカニズムが組み込まれています。 ビジネス要件に基づいて、APIアセットの検出ポリシーを設定できます。 Webアプリケーションファイアウォール (WAF) コンソールの次のタブでポリシーを設定できます: リスク検出設定、セキュリティイベント設定、機密データ関連の設定、認証資格設定、ビジネス目的、ホワイトリストの設定、ライフサイクル管理、ログサブスクリプションの設定、および適用可能なオブジェクトの設定。 ポリシーを設定した後、モジュールはより高いリコール率でより正確な方法でリスクを検出できます。 検出されたリスクを処理して、APIアセットが攻撃されるのを防ぐことができます。

1. リスク検出の設定

リスクとは、開発、管理、または構成の欠陥によって引き起こされるAPIセキュリティリスクまたはセキュリティ脅威を指します。 セキュリティリスクは、セキュリティイベントとは異なります。 セキュリティリスクは、攻撃が開始されたかどうかに関係なく検出できます。 セキュリティイベントは、攻撃が開始され、アラートが生成された場合にのみ検出できます。

組み込みポリシー

[ポリシー設定] タブの [リスク検出設定] タブで、組み込みポリシーを表示できます。 組み込みポリシーのステータスとリスクレベルを変更することもできます。 リスクレベルは、低リスク、中リスク、または高リスクとすることができる。

カスタムポリシー

[リスク検出設定] タブでは、最大20個のカスタムポリシーを設定できます。 カスタムポリシーを作成するには、次の手順を実行します。

  1. API リクエストセキュリティ ページで、[ポリシー設定] > [リスク検出設定] を選択します。

  2. 表示されるタブの左側のセクションで、[カスタムポリシー] の右側にある [新規作成] をクリックします。 表示されるパネルで、パラメータを設定します。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    リスクステータス

    ポリシーのステータス。 デフォルトでは、スイッチはオンになっています。

    リスク名

    リスク名。 カスタム値を指定できます。 名前には、英数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を使用できます。

    提案

    検出されたリスクの処理方法に関する提案。 ビジネス要件に基づいて値を指定できます。

    リスクレベル

    リスクレベル。 有効な値: 低リスク、中リスク、高リスク。

    設定の確認

    検出条件。 ビジネス要件に基づいて、最大10の条件を指定できます。

    次の表に、検出条件を指定するために設定する必要がある一致フィールド、論理演算子、および一致コンテンツのパラメーターを示します。

    説明

    Match Contentパラメーターには、最大50個のアイテムを指定できます。 Enterキーを押して各項目を確認します。

    条件設定

    マッチフィールド

    サブ条件 (入力または選択が必要)

    論理演算子

    一致コンテンツ

    ドメイン名

    非対応

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    API

    非対応

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    リクエストメソッド

    非対応

    複数の値の1つに等しい

    値が等しくない

    GET、POST、DELETE、PUTなど、ドロップダウンリストから複数のリクエストメソッドを選択できます。

    User-Agent

    非対応

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    Referer

    非対応

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    通信プロトコル

    非対応

    Equals

    ドロップダウンリストからHTTPまたはHTTPSを選択できます。

    リクエストコンテンツタイプ

    非対応

    複数の値の1つを含みます

    値を含まない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    Request Length

    非対応

    Equals

    より少ない値

    より大きい価値

    0 ~ 8192の範囲の整数を入力できます。

    応答コンテンツタイプ

    非対応

    複数の値の1つを含みます

    値を含まない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    レスポンスの長さ

    非対応

    Equals

    より少ない値

    より大きい価値

    0 ~ 8192の範囲の整数を入力できます。

    HTTP ステータスコード

    非対応

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    リクエストヘッダー

    カスタムヘッダー

    存在する

    存在しない

    に等しい長さ

    長さより少ない

    より大きい長さ

    複数の値の1つを含みます

    値を含まない

    Cookieパラメータ

    カスタムCookie-Exact

    存在する

    存在しない

    に等しい長さ

    長さより少ない

    より大きい長さ

    複数の値の1つを含みます

    値を含まない

    -

    GETパラメーター

    カスタムパラメータ

    存在する

    存在しない

    に等しい長さ

    長さより少ない

    より大きい長さ

    複数の値の1つを含みます

    値を含まない

    -

    POSTパラメータ

    カスタムポストArg

    存在する

    存在しない

    に等しい長さ

    長さより少ない

    より大きい長さ

    複数の値の1つを含みます

    値を含まない

    -

    応答ヘッダー

    応答ヘッダー

    存在する

    存在しない

    に等しい長さ

    長さより少ない

    より大きい長さ

    複数の値の1つを含みます

    値を含まない

    -

    応答パラメータ

    応答パラメータ

    存在する

    存在しない

    に等しい長さ

    長さより少ない

    より大きい長さ

    複数の値の1つを含みます

    値を含まない

    -

    目的

    非対応

    複数の値の1つを含みます

    値を含まない

    ドロップダウンリストから複数の目的を選択できます。

    サービスオブジェクト

    非対応

    複数の値の1つを含みます

    値を含まない

    ドロップダウンリストから複数のサービスオブジェクトを選択できます。

    説明

    サービスオブジェクトの詳細については、サービスを提供するためにAPIが呼び出されるオブジェクトは何ですか?

    認証

    非対応

    Equals

    選択できます ドロップダウンリストからはいまたはいいえ

    要求機密データ型

    非対応

    複数の値の1つを含みます

    値を含まない

    カテゴリより大きいカウント

    ドロップダウンリストから複数の機密データタイプを選択できます。 論理演算子として [Category Count Greater Than] を選択した場合、0〜8192の範囲の整数を入力します。

    要求機密データの感度レベル

    非対応

    複数の値の1つを含みます

    値を含まない

    ドロップダウンリストから複数の感度レベルを選択できます。 有効な値: S1、S2、S3、およびS4

    応答に敏感なデータ型

    非対応

    複数の値の1つを含みます

    値を含まない

    カテゴリより大きいカウント

    ドロップダウンリストから複数の機密データタイプを選択できます。 論理演算子として [Category Count Greater Than] を選択した場合、0〜8192の範囲の整数を入力します。

    応答に敏感なデータの感受性のレベル

    非対応

    複数の値の1つを含みます

    値を含まない

    ドロップダウンリストから複数の感度レベルを選択できます。 有効な値: S1、S2、S3、およびS4

    応答に敏感なデータ

    ドロップダウンリストから複数の応答関連の機密データタイプを選択できます。

    より大きい

    0 ~ 8192の範囲の整数を入力できます。

    ソースの場所

    非対応

    Equals

    選択できます ドロップダウンリストから中国本土または中国本土外

    送信元IPアドレス

    非対応

    に属します

    に属していない

    IPアドレスまたはCIDRブロックを入力できます。 例: 1.1.X.X/24。 最大50アイテムを入力できます。 アイテムをコンマ (,) で区切り、Enterキーを押して各アイテムを確認します。 正規表現はサポートされていません。

  3. パラメーターを設定したら、[OK] をクリックして設定を保存します。

2. セキュリティイベントの設定

セキュリティイベントは、API呼び出し中にエラーが発生したとき、または攻撃が開始されたときに生成されます。 たとえば、ログオンAPIに対してブルートフォース攻撃が開始されたとき、またはSMS送信APIを悪用することによってSMSフラッド攻撃が開始されたときに、セキュリティイベントが生成されます。 組み込みの検出メカニズムは、IPアドレスに基づいてイベントを検出します。 イベントが同じCIDRブロック、API、およびタイプを持ち、同じ日に生成された場合、イベントは集約され、イベントに対して1つのアラートが生成されます。

組み込みポリシー

セキュリティイベントの組み込みポリシーによってアラートがトリガーされた後、同じIPアドレスから攻撃が継続的に開始された場合、新しいアラートはトリガーされません。 ただし、トリガーされたアラートの攻撃時間は更新され、攻撃トラフィックの量に基づいて重大度が変更されます。

[ポリシー設定] タブの [セキュリティイベント設定] タブで、組み込みポリシーを表示できます。 ポリシーを変更または削除することはできません。

カスタムポリシー

[セキュリティイベントの設定] タブでは、最大10個のカスタムポリシーを設定できます。 カスタムポリシーを作成するには、次の手順を実行します。

  1. API リクエストセキュリティ ページで、[ポリシー設定] > [セキュリティイベント設定] を選択します。

  2. 表示されるタブの左側のセクションで、[カスタムポリシー] の右側にある [新規作成] をクリックします。 表示されるパネルで、パラメータを設定します。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    イベントステータス

    ポリシーのステータス。 デフォルトでは、スイッチはオンになっています。

    イベント名

    イベント名。 カスタム値を指定できます。 名前には、英数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を使用できます。

    提案

    検出されたイベントの処理方法に関する提案。 ビジネス要件に基づいて値を指定できます。

    イベントレベル

    リスクレベル。 有効な値: 低リスク、中リスク、高リスク。

    マッチ条件

    検出条件。 ビジネス要件に基づいて、最大10の条件を指定できます。

    説明

    複数の条件を指定した場合、ポリシーはすべての条件が一致した場合にのみヒットと見なされます。

    統計期間

    統計期間。 最大値: 15。 単位は分です。

    リクエスト

    リクエストの数。 有効値: 正の整数。

    データ統計

    カウント条件。 ビジネス要件に基づいて、最大10の条件を指定できます。

    一致フィールド、論理演算子、および一致コンテンツのパラメーターを設定して検出条件を指定する方法の詳細については、「1」の「条件設定」をご参照ください。 このトピックの「リスク検出設定」セクション。

    説明

    Match Contentパラメーターには、最大50個のアイテムを指定できます。 Enterキーを押して各項目を確認します。

    次の表に、カウント条件を指定するために設定する必要がある一致フィールド、論理演算子、および一致コンテンツのパラメーターを示します。

    条件設定

    マッチフィールド

    サブ条件 (入力または選択が必要)

    論理演算子

    一致コンテンツ

    ステータスコードの統計

    100〜600の範囲の整数を入力します。

    より大きい価値

    0 ~ 8192の範囲の整数を入力してください。

    リクエストヘッダー

    カスタムヘッダー

    よりもわずか

    明確な等しい

    よりも際立っている

    0 ~ 8192の範囲の整数を入力してください。

    Cookieパラメータ

    カスタムCookie-Exact

    よりもわずか

    明確な等しい

    よりも際立っている

    0 ~ 8192の範囲の整数を入力してください。

    GETパラメーター

    カスタムパラメータ

    よりもわずか

    明確な等しい

    よりも際立っている

    0 ~ 8192の範囲の整数を入力してください。

    POSTパラメータ

    カスタムポストArg

    よりもわずか

    明確な等しい

    よりも際立っている

    0 ~ 8192の範囲の整数を入力してください。

    応答に敏感なデータ型

    ドロップダウンリストから応答関連の機密データ型を選択します。

    よりも際立っている

    0 ~ 8192の範囲の整数を入力してください。

    応答に敏感なデータの感受性のレベル

    ドロップダウンリストから応答関連の機密レベルを選択します。

    よりも際立っている

    0 ~ 8192の範囲の整数を入力してください。

    説明

    デフォルトでは、APIセキュリティモジュールは、応答の機密データに対してサンプリング分析を実行します。 カスタムポリシーの検出条件の一致フィールドとして応答依存データ型または応答依存データの感度レベルを指定する場合は、[ポリシー設定] > [適用可能なオブジェクト設定] タブで、保護されているオブジェクトのトレースと監査をオンにする必要があります。 これにより、応答内の機密データに関するすべての情報が、保護されたオブジェクトについて記録および分析されます。

  3. パラメーターを設定したら、[OK] をクリックして設定を保存します。

3。 機密データ関連の設定

[ポリシー設定] タブの [機密データ関連の設定] タブで、組み込みポリシーを検索、フィルター、および表示できます。

非識別表示

[機密データ関連の設定] タブには、[非識別表示] スイッチがあります。 デフォルトでは、スイッチはオフになっています。

スイッチをオンにすると、情報が表示される前に関連情報がマスクされます。

  • [Risk Details] および [API Details] パネルで、Sample RequestセクションおよびSample Responseセクションの機密データを {{Phone}} に置き換えます。 [リスク検出] タブのパネルに移動できます。

  • [イベントの詳細] パネルで、Sample Request dataセクションとSample Response Dataセクションの機密データを {} に置き換えます。 [セキュリティイベント] タブのパネルに移動できます。

  • サンプルデータでは、Request Cookieは {{Cookie}} としてマスクされ、Tokenを含むRequest Headerは {{XXXToken}} としてマスクされ、Response SetCookieは {{SetCookie}} としてマスクされます。

このスイッチは、次のデータに対して有効になります。

  • リスクの詳細APIの詳細: 切り替えは、新しいサンプルリクエストデータとサンプルレスポンスデータに対してのみ有効です。

  • イベントの詳細: 切り替えは、新規および既存のサンプル要求データとサンプル応答データの両方で有効になります。

組み込みポリシー

組み込みポリシーを変更または削除することはできません。 組み込みポリシーのステータスのみを変更できます。

カスタムポリシー

ビジネスでカスタム機密データを定義する場合は、機密データを検出するようにカスタムポリシーを構成できます。 [機密データ関連の設定] タブでは、最大20個のカスタムポリシーを設定できます。 カスタムポリシーを作成するには、次の手順を実行します。

  1. API リクエストセキュリティ ページで、[ポリシー設定] > [機密データ関連の設定] を選択します。

  2. [ポリシーの作成] をクリックします。 表示されるパネルで、パラメータを設定します。 下表に、各パラメーターを説明します。 基本モードまたはエキスパートモードでカスタムポリシーを作成できます。

    パラメーター

    説明

    名前

    ポリシー名です。

    名前には、英数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を使用できます。

    モード

    ポリシーの検出モード。 有効な値:

    • 基本: このモードでは、簡単な設定のみを実行する必要があります。

      [基本] を選択した場合、[文字] および [長さ] パラメーターを設定する必要があります。

      • 文字: 数値、大文字、小文字を選択できます。 複数のオプションを選択できます。

      • 長さ: 長さの範囲を指定できます。 開始値と終了値として整数を指定する必要があります。 開始値は6〜63の範囲で、終了値は7〜64の範囲でなければなりません。

    • エキスパート: このモードでは、正規表現を指定できます。

      エキスパートを選択した場合、機密データを検出するために正規表現を入力する必要があります。 誤検出を防ぐために、正規表現が6文字以上一致することを確認してください。

    感度レベル

    検出可能なデータの感度レベル。 有効な値: S1、S2、S3、およびS4

  3. パラメーターを設定したら、[OK] をクリックして設定を保存します。

4。 認証資格の設定

ビジネスで型破りなフィールドを認証フィールドとして使用する場合、または数字のみを使用するなど、認証フィールドに弱い名前を指定する場合は、カスタム認証資格情報を設定することをお勧めします。 APIセキュリティモジュールには、認証資格情報を識別する組み込みメカニズムがあります。 リクエストに認証資格情報が含まれているかどうかをメカニズムで確認できるように、必要なパラメーターを設定できます。 これにより、APIのセキュリティと認証リスクの識別精度が向上します。

  1. API リクエストセキュリティ ページで、[ポリシー設定] > [認証資格設定] を選択します。

  2. [ポリシーの作成] をクリックします。 表示されるパネルで、パラメーターを設定し、[OK] をクリックします。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    名前

    ポリシー名です。

    名前には、英数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を使用できます。

    マッチ条件

    マッチ条件。 条件を指定するには、[フィールドの一致][論理演算子] 、および [コンテンツの一致] パラメーターを設定する必要があります。 最大10個の条件を指定できます。 Match FieldパラメーターがRequest Header、Request Cookie、Request Query、またはRequest Bodyに設定されている条件を指定する必要があります。

    説明

    複数の条件を指定した場合、ポリシーはすべての条件が一致した場合にのみヒットと見なされます。

    次の表に、一致条件を指定するために設定する必要がある一致フィールド、論理演算子、および一致コンテンツのパラメーターを示します。

    説明

    Match Contentパラメーターには、最大50個のアイテムを指定できます。 Enterキーを押して各項目を確認します。

    条件設定

    マッチフィールド

    サブ条件 (入力または選択が必要)

    論理演算子

    一致コンテンツ

    ドメイン名

    非対応

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    API

    非対応

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    リクエストヘッダー

    カスタムヘッダー

    存在する

    に等しい長さ

    長さより少ない

    より大きい長さ

    Cookieのリクエスト

    カスタムCookie-Exact

    存在する

    に等しい長さ

    長さより少ない

    より大きい長さ

    リクエストクエリ

    カスタムパラメータ

    存在する

    に等しい長さ

    長さより少ない

    より大きい長さ

    リクエストボディ

    カスタムポストArg

    存在する

    に等しい長さ

    長さより少ない

    より大きい長さ

5。 ビジネス目的

APIセキュリティモジュールは、次の種類のビジネス目的ポリシーを提供します。

組み込みポリシー

このモジュールは、データ更新、データ共有、テキストメッセージ送信、情報送信など、さまざまなシナリオの組み込みポリシーを提供します。 組み込みポリシーを変更または削除することはできません。 組み込みポリシーのステータスのみを変更できます。 ビジネス要件に基づいて、組み込みポリシーを有効または無効にできます。

カスタムポリシー

組み込みポリシーがビジネス要件を満たしていない場合は、URLとパラメーター名のパターンに基づいてカスタムポリシーを構成し、APIリスクの検出精度を向上させることができます。

  1. API リクエストセキュリティ ページで、[ポリシー設定] > [ビジネス目的] を選択します。

  2. [カスタムポリシー] カードをクリックします。 次に、[ポリシーの作成] をクリックします。 表示されるパネルで、パラメーターを設定し、[OK] をクリックします。 下表に、各パラメーターを説明します。

  3. 説明

    Match Contentパラメーターには、最大50個のアイテムを指定できます。 Enterキーを押して各項目を確認します。

    条件設定

    マッチフィールド

    論理演算子

    一致コンテンツ

    ドメイン名

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    API

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    リクエストヘッダーのパラメーター名

    複数の値の1つに等しい

    複数の値の1つを含みます

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    リクエストCookieパラメーター名

    複数の値の1つに等しい

    複数の値の1つを含みます

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    リクエストクエリパラメータ名

    複数の値の1つに等しい

    複数の値の1つを含みます

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    リクエストボディのパラメータ名

    複数の値の1つに等しい

    複数の値の1つを含みます

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    要求機密データ型

    複数の値の1つに等しい

    複数の値の1つを含みます

    ドロップダウンリストから複数のリクエスト関連の機密データ型を選択できます。

    応答に敏感なデータ型

    複数の値の1つに等しい

    複数の値の1つを含みます

    ドロップダウンリストから複数の応答関連の機密データタイプを選択できます。

    応答パラメータ名

    複数の値の1つに等しい

    複数の値の1つを含みます

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

6. ホワイトリストの設定

[ポリシー構成] タブの [ホワイトリストの構成] タブでは、リスクとセキュリティイベントに対して個別のホワイトリストを構成して、アラートを減らすことができます。 たとえば、オフィスネットワークの出力IPアドレスのアラートをミュートするようにホワイトリストを設定できます。これにより、ビジネスの運用効率が向上します。

  1. API リクエストセキュリティ ページで、[ポリシー設定] > [ホワイトリストの設定] を選択します。

  2. [ポリシーの作成] をクリックします。 表示されるパネルで、作成するホワイトリストポリシーの名前を入力し、構成するホワイトリストポリシーのタイプを選択します。 [リスク検出] または [セキュリティイベント] を選択できます。

  3. 選択したホワイトリストのポリシータイプに基づいて一致条件を指定します。

    説明

    最大10個の一致条件を指定できます。

    リスク検出タイプのホワイトリストポリシーの一致条件

    マッチフィールド

    論理演算子

    一致コンテンツ

    ドメイン名

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    API

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    セキュリティイベントタイプのホワイトリストポリシーの一致条件

    マッチフィールド

    論理演算子

    一致コンテンツ

    ドメイン名

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    API

    複数の値の1つを含みます

    値を含まない

    複数の値の1つに等しい

    値が等しくない

    最大50アイテムを入力できます。 Enterキーを押して、入力した各項目を確認します。

    IP

    に属します

    に属していない

    IPアドレスまたはCIDRブロックを入力できます。 例: 1.1.X.X/24。 最大50アイテムを入力できます。 アイテムをコンマ (,) で区切り、Enterキーを押して各アイテムを確認します。 正規表現はサポートされていません。

  4. アラートをミュートするリスクまたはセキュリティイベントの種類を選択します。 次に、[OK] をクリックします。

    説明

    システムは組み込み型とカスタム型をサポートしています。 複数のタイプを選択できます。

7。 ライフサイクル管理

APIが非アクティブ化されたAPIであるかどうかを判断するために、1日のAPI呼び出し回数とAPIが呼び出されない連続日数を指定できます。 [ポリシー設定] タブの [ライフサイクル管理] タブで、無効化されたAPIを識別する標準を指定できます。 このようにして、できるだけ早い機会にAPIを処理できます。 これにより、攻撃者が無効化されたAPIを悪用できなくなります。

  1. API リクエストセキュリティ ページで、[ポリシー設定] > [ライフサイクル管理] を選択します。

  2. 無効化されたAPIを識別する標準を指定し、[OK] をクリックします。

    • [組み込みモデル] をクリックします。

      [組み込みモデル] を選択した場合、APIセキュリティモジュールは、過去30日以内に呼び出されなかったAPI、または呼び出しが大幅に減少したAPIを非アクティブ化APIと見なします。

    • [カスタム] をクリックします。 次に、1日のAPI呼び出し回数と、APIが呼び出されない連続日数を指定します。 連続した最大日数は31日です。

      [カスタム] を選択した場合、APIセキュリティモジュールは、1日のAPI呼び出しの数が指定された連続日内の指定された数より少ないAPIを非アクティブ化APIと見なします。

8. ログサブスクリプションの設定

特定のログタイプのログサブスクリプション設定を構成すると、ログサブスクリプションタスクが生成されます。 ログ配信のトリガー条件が満たされると、タスクは、指定したSimple log Service Logstoreに関連ログを配信します。 Simple Log Serviceコンソールで必要なLogstoreを作成できます。 APIセキュリティモジュールは、AssetInformation、riskInformation、およびAttack EventInformationのログタイプをサポートしています。 Simple Log Serviceを使用して、ログを一元管理できます。

説明

中国本土のWAFインスタンスは、中国本土のSimple Log Service Logstoreにのみログを配信できます。 中国本土外のWAFインスタンスは、中国本土外のSimple Log Service Logstoreにのみログを配信できます。

サービスにリンクされたロールの作成

WAFに対してサービスにリンクされたロールが作成されていない場合、APIセキュリティモジュールのログサブスクリプション機能を使用する前に、サービスにリンクされたロールを作成する必要があります。 その後、WAFは他のクラウドリソースにアクセスする役割を引き受けることができます。 詳細については、「サービスにリンクされたロール」をご参照ください。 ロールがすでに存在する場合は、この手順をスキップします。

ログサブスクリプション設定の構成

  1. Simple Log Serviceコンソールにログインし、ログを配信するプロジェクトとLogstoreを作成します。 ログサブスクリプション設定を構成する前に、この手順を実行します。 プロジェクトとLogstoreがすでに存在し、命名要件を満たしている場合は、この手順をスキップしてください。

    説明

    ログを配信するLogstoreを選択すると、Simple Log Serviceによって自動的に作成されるlogstore、またはwaf-logstore、wafng-logstore、およびwafnew-Logstoreという名前のlogstoreを選択することはできません。

  2. WAFコンソールにログインし、[Log Subscription] タブに移動します。 このタブでは、AssetInformation、riskInformation、およびAttack EventInformationのログサブスクリプション設定を構成できます。 Simple Log ServiceコンソールでLogstoreに配信されたログを照会および分析する場合は、Logstoreのインデックス作成を有効にします。 詳細については、「インデックスの作成」をご参照ください。

  3. ログサブスクリプション設定を構成するログタイプを選択し、関連するセクションで [設定] をクリックします。

  4. 表示されるダイアログボックスで、ログが配信されるLogstoreのリージョン、Logstoreが属するプロジェクト、およびLogstoreを選択します。 次に、[OK] をクリックします。 トリガー条件が満たされ、ログが生成されると、ログサブスクリプションタスクはログをSimple log Serviceに配信します。 次に、Simple Log Serviceコンソールに移動し、選択したLogstoreにアクセスしてログを照会および分析します。 Simple Log Serviceのデータ変換機能を使用して、ログデータをマスクすることもできます。 詳細については、「データ変換の概要 (新バージョン) 」をご参照ください。

  5. ログサブスクリプションタスクを無効にする場合は、[ログサブスクリプション] タブの [ステータス] をオフにします。 タスクを無効にした後、配信されたログが不要になり、ログストレージによる料金が発生しないようにする場合は、Simple log Serviceコンソールで選択したLogstoreを削除します。 詳細については、「」をご参照ください。Simple Log Serviceを無効にするか、Simple Log Serviceの課金を停止する方法を教えてください。

次のセクションでは、ログサブスクリプションタスクのトリガー条件とログフィールドの詳細について説明します。

重要
  • Simple Log Serviceコンソールで作成したプロジェクト、Logstore、およびインデックスに追加料金が発生します。 料金はSimple Log Serviceの請求書に含まれています。 Simple Log Serviceの課金項目と料金の詳細については、「Simple Log Serviceの課金の概要」をご参照ください。

  • プロジェクトとLogstoreを作成した後、ログサブスクリプションタスクが無効になっていても課金されます。 したがって、Logstoreが不要になったことを確認した場合は、できるだけ早い機会にLogstoreを削除してください。 詳細については、「」をご参照ください。プロジェクトとLogstoreを作成するだけでも課金されるのはなぜですか?

AssetInformation型のログ

ログ購読タスクのトリガー条件:

  1. 新しいAPIアセットが検出されると、AssetInformationタイプのログがすぐに配信されます。

  2. 新しいAPIアセットが検出されない場合、AssetInformationタイプのログは1時間間隔で配信されます。

AssetInformation型のログ内のフィールド

項目

の説明

タイプ

user_id

ユーザー ID。

String

123456

service_host

ドメイン名。

String

api.aliyun.com

api_format

APIパス。

String

/api/v1/getuserbyid/${param}

request_method

リクエスト方式。

String

GET

api_tag

ビジネス目的。

object []

['QueryInfo ']

api_type

サービスオブジェクト。

object []

['PublicAPI']

auth_key

認証フィールド。

object []

['id_token', 'access_token']

api_status

ライフサイクル。

String

NewbornInterface

api_sensitive_level

APIの感度レベル。

String

L1

api_sensitive_req

リクエスト内の機密データ型。

object []

['1014' 、'1017' 、'1002']

api_sensitive_res

応答内の機密データ型。

object []

['1009' 、'1013' 、'1003' 、'1014' 、'1002']

farthest_ts

最初の検出時間。

long

1713237135

lastest_ts

最後のアクティブ時間。

long

1716452318

abnormal_num

リスクの数。

integer

1

event_num

イベントの数。

integer

2

struct_baseline

パラメーター構造。

object

['{"key":"Trace-Id","location":"request_header","format":"string","required":"true"}',

'{"key":"pageNum" 、"location":"request_query" 、"format":"integer" 、"requed":"true"}' 、

'{"key":"tlogTraceId" 、"location":"response_header" 、"format":"integer" 、"required":"true"}' 、

'{"key":"Strict-Transport-Security" 、"location":"request_header" 、"format":"string" 、"requed":"true"}' 、

'{"key":"X-Forwarded-ClientSrcPort" 、"location":"request_header" 、"format":"integer" 、"requed":"true"}' 、

'{"key":"Trace-State","location":"request_header","format":"string","requed":"true"}',

'{"key":"auth","location":"request_header","format":"string","required":"true"}',

'{"key":"Access-Control-Max-Age" 、"location":"response_header" 、"format":"integer" 、"required":"true"}' 、

'{"key":"Enterprise-Hash" 、"location":"request_header" 、"format":"string" 、"required":"true"}' 、

'{"key":"X-Request-ID","location":"request_header","format":"string","required":"true"}',

'{"key":"postName","location":"request_query","format":"string","required":"true"}', '{"key":"pageSize","location":"request_query","format":"integer","required","" "" true "}'

matched_hosts

保護されたオブジェクト。

object []

['* .aliyun.com-waf']

hosts

ドメイン名。

object []

['api.aliyun.com']

server_port

ポートを転送します。

object []

['443 ']

server_location

オリジンサーバーが配置されている国。

object []

['CN']

api_id

APIの一意のID。

String

af418cb31036015fddea71b48d06aa4b

log_type

ログタイプ。

String

アセット

request_header

リクエストヘッダー。

JSON

{"Connection":"Keep-Alive","Host":"api.aliyun.com","eagleeye-rpcid":"0.1"}

querystring

リクエストURLパラメーター。

String

? token=7464f593205896e23b1286ba7532dcff

request_body

リクエスト本文。

String

xxx=1

response_header

応答ヘッダー。

JSON

{"Accept-Ranges":["bytes","bytes"],"Cache-Control":"private, max-age=21600, no-transform"}

response_body

レスポンス本文。

String

xxxx

example_timestamp

サンプルのタイムスタンプ。

long

1718546694

example_traceid

サンプルのトレースID。

String

784e2ca717213678365778292e58de

riskInformationタイプのログ

ログサブスクリプションタスクのトリガー条件: 新しいAPIリスクが検出された場合、riskInformationタイプのログが指定したLogstoreに配信されます。

riskInformationタイプのログのフィールド

フィールド

の説明

タイプ

user_id

ユーザー ID。

String

123456

service_host

ドメイン名。

String

api.aliyun.com

api_format

APIパス。

String

/api/v1/login

request_method

リクエスト方式。

String

POST

api_tag

ビジネス目的。

object []

['LoginAPI']

abnormal_tag

リスク名。

String

Risk_DefaultPasswd

abnormal_type

リスクタイプ。カスタムまたは組み込みのいずれかです。

String

default

abnoral_level

リスクレベル。

String

medium

abnoral_discover_ts

リスクが検出された時刻。

long

1716343432

abnormal_info

リスク情報。

object

{'default_passwd':'aliyun123'}

api_id

APIの一意のID。

String

2c0f97e10b586208039e60671150bd9b

abnormal_id

リスクの一意のID。

String

8cfccc0e8c3d41aa1221e94a2fdeffe3

log_type

ログタイプ。

String

risk

matched_hosts

保護されたオブジェクト。

object []

['* .aliyun.com-waf']

request_header

リクエストヘッダー。

JSON

{"Connection":"Keep-Alive","Host":"api.aliyun.com","eagleeye-rpcid":"0.1"}

querystring

リクエストURLパラメーター。

String

? token=7464f593205896e23b1286ba7532dcff

request_body

リクエスト本文。

String

xxx=1

response_header

応答ヘッダー。

JSON

{"Accept-Ranges":["bytes","bytes"],"Cache-Control":"private, max-age=21600, no-transform"}

response_body

レスポンス本文。

String

xxxx

example_timestamp

サンプルのタイムスタンプ。

long

1718546694

example_traceid

サンプルのトレースID。

String

784e2ca717213678365778 **** 58de

Attack EventInformationタイプのログ

ログ購読タスクのトリガー条件:

  1. 新しい攻撃イベントが検出されると、attack EventInformationタイプのログが、指定したLogstoreに配信されます。

  2. 攻撃が継続すると、attack EventInformationタイプのログは、指定したLogstoreに10分間隔で継続的に配信されます。

Attack EventInformationタイプのログ内のフィールド

フィールド

の説明

タイプ

user_id

ユーザー ID。

String

123456

service_host

ドメイン名。

String

api.aliyun.com

matched_host

保護されたオブジェクト。

String

api.aliyun.com-waf

host

ドメイン名。

String

api.aliyun.com

api_format

APIパス。

String

/api/admin/login

request_method

リクエスト方式。

String

POST

api_tag

ビジネス目的。

object []

['AdminService' 、'LoginService']

event_tag

イベント名。

String

Event_LoginCollision

event_origin

カスタムまたは組み込みのイベントタイプ。

String

default

event_level

イベントレベル。

String

high

start_ts

攻撃の開始時刻。

long

1713886210

end_ts

攻撃の終了時間。

long

1713887817

attack_cnt

攻撃の総数。

integer

147

attack_ip_info

攻撃に関するIPアドレス情報。

object []

['{'ip':'103.44.XX. XXX'' 、'country_id':'HK' 、'region_id':'-'、'cnt':'147 '']

api_id

APIの一意のID。

String

4dfc73b37d2d645fe2ca7f45c08f7398

event_id

イベントID。

String

f09f6802e9b57a58ebb9f1bea212027e

log_type

ログタイプ。

String

event

request_data

サンプルリクエストデータ。

JSON

{'1002':['Alice','Tony','Tom'],'1004':['13200000001','15200000002']}

response_data

サンプル応答データ。

JSON

{'postarg.userId':['Alice','Tony'],'postarg.corpId':['wx111111'],'postarg. externalUsed':['wm7_KpDgOm6Bm-BGA ']}

ログサブスクリプションフィールドの値

ログを照会および分析するときに、配信されたログのフィールドの値について詳しく知りたい場合は、次の表を参照してください。 次の表の [説明] 列には、WAFコンソールのフィールド値の表示名が表示されます。

ライフサイクル (api_statusフィールドの値)

説明

NewbornInterface

New

OfflineInterface

無効化

normal

正常

サービスオブジェクト (api_typeフィールドの値)

説明

PublicAPI

公共サービス

ThirdpartAPI

サードパーティパートナーとの協力

InternalAPI

社内オフィス

ビジネス目的 (api_tagフィールドの値)

説明

LoginByUserPasswd

アカウントのパスワードベースのログイン

LoginByPhoneCode

モバイル検証コードベースのログオン

LoginByMailCode

メール検証コードベースのログオン

WeChatLogin

WeChatログオン

AliPayLogin

Alipayログオン

OAuthLogin

OAuth認証

OIDCLogin

OIDC認証

SAMLLogin

SAML認証

SSOLogin

SSO認証

LoginAPI

ログイン

LogoutAPI

ログオフ

RegisterByUserPasswd

アカウントのパスワードベースの登録

RegisterByPhoneCode

モバイル検証コードベースの登録

RegisterByMailCode

メール検証コードベースの登録

WeChatRegister

WeChat登録

AliPayRegister

アリペイ登録

RegisterAPI

登録サービス

SendSMS

短いメッセージ送信

SendMail

メール送信

ResetPasswd

パスワードリセット

CheckVerifyCode

検証コードの検証

CheckStatus

ステータスチェック

QueryOrder

注文クエリ

ExportOrder

注文エクスポート

UpdateOrder

注文の更新

PayOrder

注文支払い

QueryLog

ログクエリ

UploadLog

ログレポート

DownloadLog

ログのエクスポート

LogService

Log Service

GraphQL

GraphQL

SqlService

SQLサービス

FileUpload

ファイルのアップロード

FileDownload

ファイルダウンロード

FileService

ファイルサービス

AdminService

バックグラウンド管理

ダッシュボード

ダッシュボード

MonitorService

モニタリングサービス

SendInfo

情報送信

CheckInfo

データチェック

QueryInfo

データクエリ

UploadInfo

データのアップロード

ダウンロード情報

データダウンロード

AddInfo

データ追加

EditInfo

データ変更

UpdateInfo

データ更新

ShareInfo

データ共有

DeleteInfo

データ削除

SyncInfo

データ同期

SubmitInfo

データ送信

CopyInfo

データコピー

AuditInfo

データ監査

SaveInfo

データ保存

CancelOp

キャンセル

スタートOp

開始

BatchOp

バッチ処理

PauseOp

サスペンション

BindOp

追加

DebugOp

デバッグ

SetOp

設定

シャットダウン

Disable

リクエストとレスポンスの機密データ型 (api_sensitive_reqフィールドとapi_sensitive_resフィールドの値)

説明

1000

IDカード番号 (中国本土)

1001

デビットカード

1002

フルネーム (簡体字中国語)

1003

住所 (中国本土)

1004

携帯電話番号 (中国本土)

1005

電子メールアドレス

1006

パスポート番号 (中国本土)

1007

香港とマカオの居住者の本土旅行許可

1008

ナンバープレート番号 (中国本土)

1009

電話番号 (中国本土)

1010

士官カード

1011

ジェンダー

1012

民族グループ

1013

省 (中国本土)

1014

市 (中国本土)

1015

IDカード番号 (中国香港)

1016

フルネーム (繁体字中国語)

1017

フルネーム (英語)

1018

IDカード番号 (マレーシア)

1019

IDカード番号 (シンガポール)

1020

銀行カードを貸す

1022

SWIFTコード

1023

SSN

1024

電話番号 (米国)

1025

宗教的信念

2000

IP アドレス

2001

MACアドレス

2002

JDBC接続文字列

2003

PEM証明書

2004

秘密鍵

2005

AccessKey ID

2006

AccessKey Secret

2007

IPv6アドレス

2009

日付

2010

IMEI

2011

MEID

2013

Linuxパスワードファイル

2014

Linuxシャドウファイル

2015

URL

4000

ビジネスライセンス番号

4001

税務登録証明書番号

4002

組織コード

4003

統一社会信用コード

4004

車両識別番号

リスクタイプ (リスクフィールドの値)

説明

RiskType_Specification

セキュリティと仕様

Risk_UnsafeHttpMethod

安全でないHTTPメソッド

Risk_WeakSignAlgorithm

JWT弱い署名アルゴリズム

Risk_UrlParam

URLとしてのパラメーター

RiskType_アカウント

アカウントのセキュリティ

Risk_PasswdUnencrypt

パスワード平文送信

Risk_WeakPasswd

弱いパスワード公差

Risk_InternalWeakPasswd

内部アプリケーションの弱いパスワード脆弱性

Risk_DefaultPasswd

デフォルトパスワードの存在

Risk_PasswdResponse

平文パスワードの返却

Risk_PasswdCookie

Cookieでのパスワード保存

Risk_LoginRestrict

无制限ログオン

Risk_LoginPrompt

不当なログオン失敗プロンプト

Risk_PasswdUrl

URLベースのアカウントパスワード送信

RiskType_Control

アクセス制御

Risk_InternalAPI

インターネットからアクセス可能な内部アプリケーション

Risk_SourceRestrict

無制限のアクセスソース

Risk_ClientRestrict

無制限アクセスツール

Risk_SpeedRestrict

無制限アクセスレート

RiskType_Permission

権限管理

Risk_WeakToken

弱い認証資格

Risk_UnauthSensitive

機密APIへの未認証アクセス

Risk_UnauthInternalAPI

内部APIへの不正アクセス

Risk_TokenUrl

URLベースの資格情報送信

Risk_AkLeak

AccessKeyペア情報リーク

RiskType_Sensitive

データ保護

Risk_SensitiveTypeExcess

応答における機密データの過剰なタイプ

Risk_SensitiveNumExultive

応答における過度の機密データ

Risk_InvalidDesensitize

不十分なデータの特定

Risk_ServerInfoLeak

機密サーバー情報の漏洩

Risk_InternalIPLeak

内部IPアドレスリーク

Risk_SensitiveURL

URLベースの機密データ伝送

RiskType_Design

APIデザイン

Risk_ParamTraverse

リクエストパラメータのトラバーサビリティ

Risk_PageSize

返されるデータの量を変更可能

Risk_SqlAPI

データベースクエリ

Risk_RceAPI

コマンド実行API

Risk_SmsContent

任意の短いメッセージ送信

Risk_MailContent

任意のメールコンテンツの送信

Risk_SmsVerifyCodeLeak

ショートメッセージ検証コードの漏洩

Risk_MailVerifyCodeLeak

メール検証コードリーク

Risk_Fileダウンロード

指定したファイルのダウンロード

Risk_ExceptionLeak

アプリケーション例外情報リーク

Risk_ExceptionSql

データベース例外情報リーク

イベントタイプ (イベントフィールドの値)

の説明

Event_AbnormalFrequency

異常な高周波アクセス

Event_ExceptionIPInvoke

異常なIPアドレスからの内部APIへのアクセス

Event_ExceptionRegionInvoke

異常な場所からの内部APIへのアクセス

Event_ExceptionClientInvoke

異常ツールを使用したアクセス

Event_ExceptionTimeInvoke

異常な期間中のアクセス

Event_AbnormalParamValue

異常なパラメータ値を使用したアクセス

Event_InternalLoginWeakPasswd

内部アプリケーションへの弱いパスワードベースのログオン

Event_LoginAccountBruteForce

ユーザー名に対するブルートフォース攻撃

Event_LoginPasswdBruteForce

パスワードに対するブルートフォース攻撃

Event_LoginCollision

辞書攻撃

Event_MobileVerifyBruteForce

短いメッセージ検証コードに対するブルートフォース攻撃

Event_MailVerifyBruteForce

電子メール検証コードに対するブルートフォース攻撃

Event_AbnormalRegister

バッチ登録

Event_SMSInterfaceAbuse

短いメッセージリソースの悪意のある消費

Event_EmailInterfaceAbuse

メールリソースの悪意のある消費

Event_AbnormalExport

バッチダウンロード

Event_DataTraverse

データのクロール

Event_WebAttackAPI

API攻撃

Event_ObtainSensitiveUnauthorized

機密データへの不正アクセス

Event_ObtainSensitiveExclusive

Mass Sensitiveデータアクセス

Event_CrossborderIPSensitiveExclusive

中国国外のIPアドレスによる大量機密データアクセス

Event_ExceptionResponse

エラーメッセージの戻り

Event_ExceptionSql

データベースエラーメッセージの返却

Event_SystemInfoResponse

機密システム情報の返却

Event_AbnormalStatus

異常な反応

9. 適用可能なオブジェクト設定

APIセキュリティモジュールは、保護されたオブジェクトと保護されたオブジェクトグループに次のスイッチを提供します。

  • Switch: すべての組み込みポリシーとカスタムポリシーを有効にするかどうかを指定します。

  • コンプライアンスチェック: コンプライアンスチェック機能を有効にするかどうかを指定します。 このスイッチは、switchがオンになっている場合にのみオンにできます。

  • トレースと監査: トレースと監査機能を有効にするかどうかを指定します。 このスイッチは、switchがオンになっている場合にのみオンにできます。

ドメイン名またはインスタンスをWAFに追加した後、スイッチを設定できます。 スイッチのデフォルト設定は、課金方法によって異なります。

  • デフォルトでは、サブスクリプションの課金方法を使用する場合、Switchはオンになり、Compliance CheckおよびTracing and Auditingはオフになります。

  • デフォルトでは、従量課金方法を使用する場合、Switchはオフになります。

[ポリシー設定] > [適用可能なオブジェクト設定] ページに移動して、[スイッチ][コンプライアンスチェック][トレースと監査] をオンまたはオフにします。