このトピックでは、API Security の組み込みポリシーとカスタムポリシーを構成する方法について説明します。API Security は、組み込みの検出メカニズムに加えて、ビジネス要件に固有のカスタム検出ポリシーを定義できます。リスク検出、セキュリティイベント、機密データ、認証情報、ビジネス目的、ホワイトリスト、ライフサイクル管理、ログサブスクリプション、および有効なオブジェクトのポリシーを構成できます。これらの構成は、ビジネスニーズに合わせて API データ識別を調整します。これにより、API セキュリティ検出の精度と取得率が向上し、脅威に対応して API 資産への攻撃による損失を削減できます。
1. リスク検出設定
セキュリティリスクとは、開発、管理、または構成の欠陥によって引き起こされる API の脆弱性です。セキュリティリスクは必ずしも攻撃が発生したことを意味するわけではありませんが、セキュリティイベントは攻撃によって生成されるアラートです。
組み込みポリシー設定
[ポリシー構成] ページの [リスク検出設定] タブで、構成済みのリスクポリシーを表示できます。組み込みポリシーについては、有効または無効にしたり、リスクレベルを調整したりできます。必要に応じて、組み込みポリシーのリスクレベルを低、中、または高に設定できます。
カスタムポリシー設定
組み込みポリシーに加えて、最大 20 個のカスタムリスク検出ポリシーを作成できます。カスタムポリシーを作成するには、次の手順に従います。
API リクエストセキュリティ ページで、[ポリシー構成] > [リスク検出設定] タブに移動します。
左側の [カスタムポリシー] セクションで、[追加] をクリックします。表示されるパネルで、次の表で説明されているパラメーターを構成します。
パラメーター
説明
リスクステータス
ポリシーのステータスを設定します。デフォルト値は [オン] です。
リスク名
カスタムリスクの名前を設定します。名前には、漢字、大文字と小文字、数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を含めることができます。
推奨されるアクション
ビジネスニーズに基づいて、カスタムリスクポリシーの推奨アクションを設定します。
リスクレベル
リスクレベルを設定します。有効な値は、低、中、高です。
検出設定
カスタムリスクポリシーの検出条件を設定します。最大 10 個の条件を追加できます。
次の表に、論理演算子や一致コンテンツの例など、検出設定の詳細な構成を示します。
説明[一致コンテンツ] には最大 50 個の値を入力できます。各値を入力した後、Enter キーを押します。
Risk Detection Configurations の一致コンテンツでは、大文字と小文字が区別されます。
カスタム構成が完了したら、[OK] をクリックします。
2. セキュリティイベント設定
セキュリティイベントとは、API への異常な呼び出しや攻撃のことです。例としては、ログイン API へのブルートフォース攻撃や、SMS API を悪用したメッセージフラッディング攻撃などがあります。組み込みのイベント検出は、IP アドレスとアカウントのディメンションに基づいて検出を実行します。
組み込みポリシー設定
組み込みのセキュリティイベントポリシーがアラートをトリガーした後、同じ攻撃が続行しても新しいアラートは生成されません。代わりに、元のアラートの攻撃時刻が更新されます。アラートレベルは、攻撃量などの要因に基づいて変更される場合もあります。
[ポリシー構成] ページの [セキュリティイベント設定] タブで、構成済みのセキュリティイベントポリシーを表示できます。組み込みポリシーを編集または削除することはできません。
カスタムポリシー設定
組み込みポリシーに加えて、最大 10 個のカスタムセキュリティイベントポリシーを作成できます。カスタムポリシーを作成するには、次の手順に従います。
API リクエストセキュリティ ページで、[ポリシー構成] > [セキュリティイベント設定] タブに移動します。
左側の [カスタムポリシー] セクションで、[追加] をクリックします。表示されるパネルで、次の表で説明されているパラメーターを構成します。
パラメーター
説明
イベントステータス
ポリシーのステータスを設定します。デフォルト値は [オン] です。
イベント名
カスタムイベントの名前を設定します。名前には、漢字、大文字と小文字、数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を含めることができます。
推奨されるアクション
ビジネスニーズに基づいて、カスタムセキュリティイベントの推奨アクションを設定します。
イベントレベル
リスクレベルを設定します。有効な値は、低、中、高です。
一致条件
カスタムセキュリティイベントポリシーの検出条件を設定します。最大 10 個の条件を追加できます。
説明複数の条件を定義した場合、すべての条件が満たされた場合にのみルールがヒットします。
頻度コントロール
[統計オブジェクト] を IP またはアカウントに設定します。[統計期間] を分単位で設定します (最大 15 分)。[リクエスト数] を正の整数に設定します。
データ統計
カスタムセキュリティイベントポリシーの統計条件を設定します。最大 10 個の条件を追加できます。
一致条件、論理演算子、および一致コンテンツの例の詳細については、「リスク検出設定」セクションの「詳細設定」テーブルをご参照ください。
説明[一致コンテンツ] には最大 50 個の値を入力できます。各値を入力した後、Enter キーを押します。
Security Event Configurations の一致コンテンツでは、大文字と小文字が区別されます。
次の表に、論理演算子や一致コンテンツの例など、データ統計の詳細な構成を示します。
カスタム構成が完了したら、[OK] をクリックします。
3. 機密データ設定
[ポリシー設定] ページの [機密データ設定] タブで、設定済みの機密データポリシーを検索、フィルター、表示できます。
データマスキング表示
[機密データ設定] タブには [データマスキング表示] スイッチがあります。このスイッチはデフォルトで無効になっており、データはマスキングされません。
データマスキングが有効になっている場合、次の情報がマスキングされます。
[リスク詳細] と [API 詳細] では、リクエストとレスポンスサンプルのすべてのフィールドの機密データが、
{{Phone}}などのプレースホルダーに置き換えられます。セキュリティイベントの [イベント詳細] では、機密データを含むリクエストとレスポンスのデータサンプルは
{}としてマスキングされます。サンプル情報では、リクエスト Cookie は
{{Cookie}}としてマスキングされ、トークンを含むリクエストヘッダーは{{XXXToken}}としてマスキングされ、レスポンス Set-Cookie は{{SetCookie}}としてマスキングされます。
データマスキング機能は、次の項目に適用されます。
[リスク詳細] および [API 詳細]: この機能は、新しいリクエストと応答のデータサンプルにのみ適用されます。
[イベント詳細]: この機能は、新規および既存のリクエストとレスポンスのデータサンプルの両方に適用されます。
組み込みポリシー設定
組み込みポリシーは編集、変更、削除できません。有効化または無効化のみ可能です。
カスタムポリシー設定
ビジネスでカスタムの機密データを使用している場合は、カスタムの機密データ検出ルールを構成できます。最大 20 個のカスタムポリシーを作成できます。カスタムポリシーを作成するには、次の手順に従います。
API リクエストセキュリティ ページで、[ポリシー構成] > [機密データ設定] タブに移動します。
[ポリシーの作成] をクリックします。表示されるパネルで、パラメーターを構成します。カスタムポリシーは [シンプルモード] または [エキスパートモード] で作成できます。
パラメーター
説明
名前
ルールの名前を設定します。
名前には、漢字、大文字と小文字、数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を含めることができます。
モード
カスタムポリシーの検出モードを設定します。
シンプルモード: 使いやすさを考慮したシンプルな設定インターフェイスを提供します。
[シンプルモード] を選択した場合は、検出のために [文字] と [長さ] を設定する必要があります。
[文字]: 数字、大文字、小文字など、検出する文字タイプを 1 つ以上選択できます。
[長さ]: サポートされている長さの範囲は 6 から 64 です。開始値と終了値は整数である必要があります。
エキスパートモード: 正規表現をサポートします。
[エキスパートモード] を選択した場合は、検出用の正規表現を入力する必要があります。誤検知を避けるために、正規表現が少なくとも 6 文字に一致することを確認してください。
レベル
検出する機密データのレベルを設定します。有効な値: S1、S2、S3、S4。
説明詳細については、「API Security が検出できる機密データ」をご参照ください。
カスタム構成が完了したら、[OK] をクリックします。
4. 認証情報設定
ビジネスで認証に非標準のフィールドや弱い特徴を持つフィールド (すべて数字の名前など) を使用している場合は、カスタム認証情報を構成できます。組み込みの認証情報検出に加えて、パラメーター名を指定できます。これにより、組み込みモデルがリクエストに認証情報が含まれているかどうかを正確に判断するのに役立ちます。これにより、API セキュリティと認証されていないリスク検出の精度が向上します。
API リクエストセキュリティ ページで、[ポリシー構成] > [認証情報設定] タブに移動します。
[ポリシーの作成] をクリックし、パラメーターを構成してから、[OK] をクリックします。
パラメーター
説明
名前
ポリシーの名前を設定します。
名前には、漢字、大文字と小文字、数字、ピリオド (.)、アンダースコア (_)、およびハイフン (-) を含めることができます。
一致条件
各条件は、[一致フィールド]、[論理演算子]、および [一致コンテンツ] で構成されます。最大 10 個の条件を追加できます。構成時には、リクエストヘッダー、リクエスト Cookie、リクエストクエリ、またはリクエスト本文に対して少なくとも 1 つの一致条件を追加します。
説明複数の条件を定義した場合、すべての条件が満たされた場合にのみルールがヒットします。
次の表に、論理演算子や一致コンテンツの例など、一致条件の詳細な構成を示します。
説明[一致コンテンツ] には最大 50 個の値を入力できます。各値を入力した後、Enter キーを押します。
Authentication Credential Configurations の一致コンテンツでは、大文字と小文字が区別されます。
5. ビジネス目的設定
API Security は、2 種類のビジネス目的ポリシー構成を提供します。
組み込みポリシー設定
ビジネス目的ポリシーは、データ更新、データ共有、ショートメッセージ送信、情報送信など、複数のシナリオでサポートされています。組み込みポリシーは変更または削除できませんが、必要に応じて有効または無効にすることができます。
カスタムポリシー設定
組み込みポリシーがビジネスニーズを満たさない場合は、カスタム URL とパラメーター名の特徴を定義できます。これにより、特定のビジネスシナリオにおける API Security の検出精度が向上します。
API リクエストセキュリティ ページで、[ポリシー構成] > [ビジネス目的設定] タブに移動します。
[カスタムポリシー] タブをクリックしてカスタムポリシーを管理します。[ポリシーの作成] をクリックし、パラメーターを構成してから、[OK] をクリックします。
[一致コンテンツ] には最大 50 個の値を入力できます。各値を入力した後、Enter キーを押します。
Business Purpose の一致コンテンツでは、大文字と小文字が区別されます。
6. ホワイトリスト設定
API Security のホワイトリスト機能を使用すると、セキュリティイベントやリスク検出用のカスタムホワイトリストを作成できます。これにより、オフィスネットワークの出口 IP アドレスからのアラートなど、ビジネスニーズに基づいてアラートノイズをフィルタリングできます。これにより、運用効率が向上します。
API リクエストセキュリティ ページで、[ポリシー構成] > [ホワイトリスト設定] タブに移動します。
[ポリシーの作成] をクリックし、新しいポリシーの名前を入力し、ホワイトリストを構成する機能タイプを選択します。[リスク検出] と [セキュリティイベント] のホワイトリストを構成できます。
選択した機能タイプに基づいて一致条件を設定します。
説明最大 10 個の一致条件を追加できます。
ホワイトリストの設定 の一致条件では、大文字と小文字が区別されます。
リスク検出ホワイトリストポリシーの一致条件
一致フィールド
論理演算子
一致内容
ドメイン名
次のいずれかである
値を含まない
次のいずれかである (完全一致)
次のいずれでもない (完全一致)
最大 50 個の値を入力します。各値の後に Enter キーを押します。
API
次のいずれかである
値を含まない。
次のいずれかである
次のいずれでもない (完全一致)
最大 50 個の値を入力します。各値の後に Enter キーを押します。
セキュリティイベントホワイトリストポリシーの一致条件
一致フィールド
論理演算子
一致内容
ドメイン名
次のいずれかを含む
値を含まない
次のいずれかである
次のいずれでもない (完全一致)
最大 50 個の値を入力します。各値の後に Enter キーを押します。
API
1 つ以上の値を含む
値を含まない
次のいずれかである (完全一致)
次のいずれでもない (完全一致)
最大 50 個の値を入力します。各値の後に Enter キーを押します。
IP
属する
属さない
IP アドレスまたは CIDR ブロック形式の IP アドレス範囲 (例: 1.1.X.X/24) を入力します。正規表現はサポートされていません。カンマ (,) で区切るか、Enter キーを押して、最大 50 個の値を入力できます。
無視するリスク検出またはセキュリティイベントの種類を選択し、[OK] をクリックします。
説明複数の組み込みおよびカスタムタイプを選択して無視できます。
7. ライフサイクル管理
API Security では、1 日あたりのアクセス量と期間を設定することで、非アクティブな API の基準を定義できます。これにより、非アクティブな API の検出がビジネスにより関連性の高いものになります。API ライフサイクル管理は、カスタム標準に基づいて非アクティブな API を特定し、迅速な対応を支援します。これにより、攻撃者が非アクティブな API を悪用してビジネス上の損失を引き起こすのを防ぐことができます。
API リクエストセキュリティ ページで、[ポリシー構成] > [ライフサイクル管理] タブに移動します。
非アクティブな API の基準を設定し、[OK] をクリックします。
[組み込みモデル] をクリックします。
API は、過去 8 日間にアクセスされていないか、アクセス量が大幅に減少した場合、組み込みの基準の下で非アクティブと見なされます。
[カスタム] をクリックし、1 日あたりのアクセス量と期間 (最大 31 日) を設定します。API は、カスタム期間内に 1 日あたりのアクセス量が指定された値未満である場合、非アクティブと見なされます。
API は、1 日あたりのアクセス数がカスタム期間にわたって指定された数を下回ったままである場合、非アクティブと見なされます。
資産の [最終アクティブ時間] が 30 日を超えると、システムは資産とそれに関連するリスクデータおよびセキュリティイベントレコードを自動的に削除します。
8. ログサブスクリプション
資産、リスク、またはイベント情報のログサブスクリプションを有効にすると、配信条件が満たされたときに、対応するログが Simple Log Service コンソール の指定された Logstore に配信されます。これにより、Alibaba Cloud Simple Log Service (SLS) の機能を使用してログを一元的に管理および分析できます。
現在、中国本土の Web Application Firewall (WAF) インスタンスは、中国本土の SLS Logstore にのみログを配信できます。中国本土以外の WAF インスタンスは、中国本土以外の SLS Logstore にのみログを配信できます。中国本土と他のリージョン間のクロスリージョンログ配信はサポートされていません。
サービスリンクロールの有効化
WAF のサービスリンクロールを有効にしていない場合は、API Security ログサブスクリプションサービスを使用する前に有効にする必要があります。プロンプトに従ってロールを有効にすると、WAF が他のクラウドリソースにアクセスする権限が付与されます。サービスリンクロールの詳細については、「サービスリンクロール」をご参照ください。WAF の Simple Log Service などの機能を有効にしたときにこの権限付与を既に付与している場合は、このステップをスキップできます。
ログサブスクリプション設定
API Security のログサブスクリプションタスクを構成する前に、Simple Log Service コンソール に移動して、ログを受信するプロジェクトと Logstore を作成します。ターゲット Logstore を既に作成し、命名規則に従っていることを確認した場合は、次のステップに進むことができます。
説明ログサブスクリプション機能は、SLS によって自動的に作成された Logstore、またはサブスクリプションターゲットとして "waf-logstore"、"wafng-logstore"、"wafnew-logstore" という名前を付けた Logstore の使用をサポートしていません。
Logstore を作成したら、ログサブスクリプションタブに戻り、資産情報、リスク情報、攻撃イベント情報のサブスクリプションを構成します。SLS コンソールから指定された Logstore に配信されたログを分析およびクエリする場合は、まずプロンプトに従ってインデックス作成を有効にする必要があります。詳細については、「インデックスの作成」をご参照ください。
サブスクリプションタスクのログタイプを選択し、[構成] ボタンをクリックして構成ページに移動します。
ログサブスクリプションタスクのリージョン、プロジェクト名、Logstore 名を選択し、[OK] ボタンをクリックして構成を保存します。構成が完了し、ログが生成されたら、Simple Log Service コンソール の対応する Logstore に移動してログをクエリおよび分析できます。データマスキングなどのデータ変換を実行する場合は、「データ変換」をご参照ください。
ログサブスクリプションタスクを無効にし、既存のログが不要になり、Logstore の追加料金を回避したい場合は、[ログサブスクリプション] タブでタスクを無効にしてから、対応する Logstore を削除できます。詳細については、「Simple Log Service を無効にするか、課金を停止するにはどうすればよいですか?」をご参照ください。
次のセクションでは、ログサブスクリプションタスクのトリガー条件と詳細なフィールドについて説明します。
Simple Log Service でクラウドリソースを作成したり、インデックス作成を有効にしたりするなどの操作を行うと、追加料金が発生する場合があります。これらの料金は Simple Log Service によって請求されます。課金項目と価格の詳細については、「Simple Log Service の課金の概要」をご参照ください。
ログサブスクリプションタスクが有効になっていなくても、プロジェクトまたは Logstore を作成した後に料金が発生する場合があります。作成した Logstore が不要になった場合は、追加料金を避けるために速やかに削除してください。詳細については、「プロジェクトと Logstore を作成しただけで課金されるのはなぜですか?」をご参照ください。
アセット情報ログ
トリガー条件:
新しい API アセットが追加されると、アセット情報ログがすぐに配信されます。
新しい API 資産が追加されない場合、資産情報ログはデフォルトで 1 時間ごとに配信されます。
リスク情報ログ
トリガー条件: 新しいリスク情報が検出されると、リスク情報ログが指定された Logstore に配信されます。
攻撃イベント情報ログ
トリガー条件:
新しい攻撃イベントが検出されると、新しい攻撃イベント情報ログが指定された Logstore に配信されます。
攻撃が継続する場合、攻撃イベント情報ログは 10 分間隔で指定された Logstore に配信されます。
ログサブスクリプションフィールド値の説明
ログ分析またはクエリ中にログのフィールド値の意味を理解したり、コンソールで対応する説明を表示したりするには、次の表を参照してください。[説明] 列には、WAF コンソールに表示されるログフィールドの名前が表示されます。
9. 有効なオブジェクトの設定
サブスクリプション WAF
API Security は、保護対象オブジェクトまたは保護対象オブジェクトグループレベルで 3 つのスイッチを提供します。
基本検査 スイッチ: このスイッチはデフォルトで有効になっています。すべての組み込みおよびカスタム検出ポリシーが有効かどうかを制御します。
Compliance Check スイッチ: このスイッチはデフォルトで無効になっています。基本検査 スイッチが有効になった後にのみ有効にできます。Compliance Check 機能が有効かどうかを制御します。
Tracing and Auditing スイッチ: このスイッチはデフォルトで無効になっています。基本検査 スイッチが有効になった後にのみ有効にできます。Tracing and Auditing 機能が有効かどうかを制御します。
従量課金 WAF
API Security は、保護対象オブジェクトまたは保護対象オブジェクトグループレベルで 1 つのスイッチを提供します。
基本検査 スイッチ: このスイッチは、すべての組み込みおよびカスタム検出ポリシーが有効かどうかを制御します。API Security 機能を無効にするには、すべての保護対象オブジェクトおよび保護対象オブジェクトグループの 基本検査 スイッチをオフにすることができます。