1. リスク検出の設定
リスクとは、開発、管理、または構成の欠陥によって引き起こされるAPIセキュリティリスクまたはセキュリティ脅威を指します。 セキュリティリスクは、セキュリティイベントとは異なります。 セキュリティリスクは、攻撃が開始されたかどうかに関係なく検出できます。 セキュリティイベントは、攻撃が開始され、アラートが生成された場合にのみ検出できます。
組み込みポリシー
[ポリシー設定] タブの [リスク検出設定] タブで、組み込みポリシーを表示できます。 組み込みポリシーのステータスとリスクレベルを変更することもできます。 リスクレベルは、低リスク、中リスク、または高リスクとすることができる。
カスタムポリシー
[リスク検出設定] タブでは、最大20個のカスタムポリシーを設定できます。 カスタムポリシーを作成するには、次の手順を実行します。
API リクエストセキュリティ ページで、[ポリシー設定] > [リスク検出設定] を選択します。
表示されるタブの左側のセクションで、[カスタムポリシー] の右側にある [新規作成] をクリックします。 表示されるパネルで、パラメータを設定します。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
リスクステータス | ポリシーのステータス。 デフォルトでは、スイッチはオンになっています。 |
リスク名 | リスク名。 カスタム値を指定できます。 名前には、英数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を使用できます。 |
提案 | 検出されたリスクの処理方法に関する提案。 ビジネス要件に基づいて値を指定できます。 |
リスクレベル | リスクレベル。 有効な値: 低リスク、中リスク、高リスク。 |
設定の確認 | 検出条件。 ビジネス要件に基づいて、最大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つを含みます 値を含まない | ドロップダウンリストから複数のサービスオブジェクトを選択できます。 |
認証 | 非対応 | 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キーを押して各アイテムを確認します。 正規表現はサポートされていません。 |
パラメーターを設定したら、[OK] をクリックして設定を保存します。
2. セキュリティイベントの設定
セキュリティイベントは、API呼び出し中にエラーが発生したとき、または攻撃が開始されたときに生成されます。 たとえば、ログオンAPIに対してブルートフォース攻撃が開始されたとき、またはSMS送信APIを悪用することによってSMSフラッド攻撃が開始されたときに、セキュリティイベントが生成されます。 組み込みの検出メカニズムは、IPアドレスに基づいてイベントを検出します。 イベントが同じCIDRブロック、API、およびタイプを持ち、同じ日に生成された場合、イベントは集約され、イベントに対して1つのアラートが生成されます。
組み込みポリシー
セキュリティイベントの組み込みポリシーによってアラートがトリガーされた後、同じIPアドレスから攻撃が継続的に開始された場合、新しいアラートはトリガーされません。 ただし、トリガーされたアラートの攻撃時間は更新され、攻撃トラフィックの量に基づいて重大度が変更されます。
[ポリシー設定] タブの [セキュリティイベント設定] タブで、組み込みポリシーを表示できます。 ポリシーを変更または削除することはできません。
カスタムポリシー
[セキュリティイベントの設定] タブでは、最大10個のカスタムポリシーを設定できます。 カスタムポリシーを作成するには、次の手順を実行します。
API リクエストセキュリティ ページで、[ポリシー設定] > [セキュリティイベント設定] を選択します。
表示されるタブの左側のセクションで、[カスタムポリシー] の右側にある [新規作成] をクリックします。 表示されるパネルで、パラメータを設定します。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
イベントステータス | ポリシーのステータス。 デフォルトでは、スイッチはオンになっています。 |
イベント名 | イベント名。 カスタム値を指定できます。 名前には、英数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を使用できます。 |
提案 | 検出されたイベントの処理方法に関する提案。 ビジネス要件に基づいて値を指定できます。 |
イベントレベル | リスクレベル。 有効な値: 低リスク、中リスク、高リスク。 |
マッチ条件 | 検出条件。 ビジネス要件に基づいて、最大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セキュリティモジュールは、応答の機密データに対してサンプリング分析を実行します。 カスタムポリシーの検出条件の一致フィールドとして応答依存データ型または応答依存データの感度レベルを指定する場合は、[ポリシー設定] > [適用可能なオブジェクト設定] タブで、保護されているオブジェクトのトレースと監査をオンにする必要があります。 これにより、応答内の機密データに関するすべての情報が、保護されたオブジェクトについて記録および分析されます。
パラメーターを設定したら、[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}}
としてマスクされます。
このスイッチは、次のデータに対して有効になります。
組み込みポリシー
組み込みポリシーを変更または削除することはできません。 組み込みポリシーのステータスのみを変更できます。
カスタムポリシー
ビジネスでカスタム機密データを定義する場合は、機密データを検出するようにカスタムポリシーを構成できます。 [機密データ関連の設定] タブでは、最大20個のカスタムポリシーを設定できます。 カスタムポリシーを作成するには、次の手順を実行します。
API リクエストセキュリティ ページで、[ポリシー設定] > [機密データ関連の設定] を選択します。
[ポリシーの作成] をクリックします。 表示されるパネルで、パラメータを設定します。 下表に、各パラメーターを説明します。 基本モードまたはエキスパートモードでカスタムポリシーを作成できます。
パラメーター | 説明 |
名前 | ポリシー名です。 名前には、英数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を使用できます。 |
モード | ポリシーの検出モード。 有効な値: 基本: このモードでは、簡単な設定のみを実行する必要があります。 [基本] を選択した場合、[文字] および [長さ] パラメーターを設定する必要があります。 エキスパート: このモードでは、正規表現を指定できます。 エキスパートを選択した場合、機密データを検出するために正規表現を入力する必要があります。 誤検出を防ぐために、正規表現が6文字以上一致することを確認してください。
|
感度レベル | 検出可能なデータの感度レベル。 有効な値: S1、S2、S3、およびS4 |
パラメーターを設定したら、[OK] をクリックして設定を保存します。
4。 認証資格の設定
ビジネスで型破りなフィールドを認証フィールドとして使用する場合、または数字のみを使用するなど、認証フィールドに弱い名前を指定する場合は、カスタム認証資格情報を設定することをお勧めします。 APIセキュリティモジュールには、認証資格情報を識別する組み込みメカニズムがあります。 リクエストに認証資格情報が含まれているかどうかをメカニズムで確認できるように、必要なパラメーターを設定できます。 これにより、APIのセキュリティと認証リスクの識別精度が向上します。
API リクエストセキュリティ ページで、[ポリシー設定] > [認証資格設定] を選択します。
[ポリシーの作成] をクリックします。 表示されるパネルで、パラメーターを設定し、[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リスクの検出精度を向上させることができます。
API リクエストセキュリティ ページで、[ポリシー設定] > [ビジネス目的] を選択します。
[カスタムポリシー] カードをクリックします。 次に、[ポリシーの作成] をクリックします。 表示されるパネルで、パラメーターを設定し、[OK] をクリックします。 下表に、各パラメーターを説明します。
説明 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アドレスのアラートをミュートするようにホワイトリストを設定できます。これにより、ビジネスの運用効率が向上します。
API リクエストセキュリティ ページで、[ポリシー設定] > [ホワイトリストの設定] を選択します。
[ポリシーの作成] をクリックします。 表示されるパネルで、作成するホワイトリストポリシーの名前を入力し、構成するホワイトリストポリシーのタイプを選択します。 [リスク検出] または [セキュリティイベント] を選択できます。
選択したホワイトリストのポリシータイプに基づいて一致条件を指定します。
リスク検出タイプのホワイトリストポリシーの一致条件
マッチフィールド | 論理演算子 | 一致コンテンツ |
ドメイン名 | 複数の値の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キーを押して各アイテムを確認します。 正規表現はサポートされていません。 |
アラートをミュートするリスクまたはセキュリティイベントの種類を選択します。 次に、[OK] をクリックします。
説明 システムは組み込み型とカスタム型をサポートしています。 複数のタイプを選択できます。
7。 ライフサイクル管理
APIが非アクティブ化されたAPIであるかどうかを判断するために、1日のAPI呼び出し回数とAPIが呼び出されない連続日数を指定できます。 [ポリシー設定] タブの [ライフサイクル管理] タブで、無効化されたAPIを識別する標準を指定できます。 このようにして、できるだけ早い機会にAPIを処理できます。 これにより、攻撃者が無効化されたAPIを悪用できなくなります。
API リクエストセキュリティ ページで、[ポリシー設定] > [ライフサイクル管理] を選択します。
無効化された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は他のクラウドリソースにアクセスする役割を引き受けることができます。 詳細については、「サービスにリンクされたロール」をご参照ください。 ロールがすでに存在する場合は、この手順をスキップします。
ログサブスクリプション設定の構成
Simple Log Serviceコンソールにログインし、ログを配信するプロジェクトとLogstoreを作成します。 ログサブスクリプション設定を構成する前に、この手順を実行します。 プロジェクトとLogstoreがすでに存在し、命名要件を満たしている場合は、この手順をスキップしてください。
説明 ログを配信するLogstoreを選択すると、Simple Log Serviceによって自動的に作成されるlogstore、またはwaf-logstore、wafng-logstore、およびwafnew-Logstoreという名前のlogstoreを選択することはできません。
WAFコンソールにログインし、[Log Subscription] タブに移動します。 このタブでは、AssetInformation、riskInformation、およびAttack EventInformationのログサブスクリプション設定を構成できます。 Simple Log ServiceコンソールでLogstoreに配信されたログを照会および分析する場合は、Logstoreのインデックス作成を有効にします。 詳細については、「インデックスの作成」をご参照ください。
ログサブスクリプション設定を構成するログタイプを選択し、関連するセクションで [設定] をクリックします。
表示されるダイアログボックスで、ログが配信されるLogstoreのリージョン、Logstoreが属するプロジェクト、およびLogstoreを選択します。 次に、[OK] をクリックします。 トリガー条件が満たされ、ログが生成されると、ログサブスクリプションタスクはログをSimple log Serviceに配信します。 次に、Simple Log Serviceコンソールに移動し、選択したLogstoreにアクセスしてログを照会および分析します。 Simple Log Serviceのデータ変換機能を使用して、ログデータをマスクすることもできます。 詳細については、「データ変換の概要 (新バージョン) 」をご参照ください。
ログサブスクリプションタスクを無効にする場合は、[ログサブスクリプション] タブの [ステータス] をオフにします。 タスクを無効にした後、配信されたログが不要になり、ログストレージによる料金が発生しないようにする場合は、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型のログ
ログ購読タスクのトリガー条件:
新しいAPIアセットが検出されると、AssetInformationタイプのログがすぐに配信されます。
新しい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
| リスク情報。
| {'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タイプのログ
ログ購読タスクのトリガー条件:
新しい攻撃イベントが検出されると、attack EventInformationタイプのログが、指定したLogstoreに配信されます。
攻撃が継続すると、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に追加した後、スイッチを設定できます。 スイッチのデフォルト設定は、課金方法によって異なります。
ページに移動して、[スイッチ] 、[コンプライアンスチェック] 、[トレースと監査] をオンまたはオフにします。