Web Application Firewall (WAF) の保護設定機能は、コア保護ルール、HTTP フラッド攻撃対策、ボット管理などの保護モジュールを組み合わせ、SQL インジェクション、クロスサイトスクリプティング (XSS)、HTTP フラッド攻撃、悪意のあるクローラーなどの Web 攻撃から防御します。
仕組み
保護対象と保護対象グループ:ドメイン名またはクラウドサービスインスタンスを WAF に追加すると、システムは自動的にその保護対象を作成します。複数の保護対象を保護対象グループにまとめることで、一元管理が可能です。
保護モジュール:WAF は、コア保護ルール、API セキュリティ、ボット管理など、さまざまな保護モジュールを提供します。保護モジュールを有効にするには、そのための保護テンプレートを作成します。ビジネス要件に基づいてモジュールを有効にしてください。
保護テンプレート:保護テンプレートは、ルールの内容と範囲を定義する保護ルールのコレクションです。テンプレートタイプ、保護ルール、適用対象の 3 つのコンポーネントで構成されます。
テンプレートタイプ:一部の保護モジュールは、デフォルト保護テンプレートとカスタム保護テンプレートの 2種類のテンプレートを提供します。デフォルト保護テンプレートでは、適用対象を指定する必要はありません。既存および新規に追加されたすべての保護対象に自動的に適用されます。
保護ルール:検出ロジックとレスポンスアクションを定義します。
適用対象:保護テンプレートのターゲットを指定します。適用対象を設定することで、テンプレートのルールを特定の保護対象または保護対象グループに適用できます。
設定プロセス
WAF にリソースを追加すると、システムは自動的に保護対象を作成します。これらを表示するには、 ページに移動します。
ビジネス要件に基づいて保護モジュールを選択します。たとえば、[カスタムルール]モジュールを使用するには、保護テンプレートを作成します。詳細については、「保護テンプレートの作成」をご参照ください。
テンプレートを作成した後、テンプレートに保護ルールを追加します。詳細については、「保護テンプレートへの保護ルールの追加」をご参照ください。
最後に、保護テンプレートの適用対象を選択します。詳細については、「保護テンプレートの適用対象の設定」をご参照ください。
サポートされる保護モジュール
サポートされる保護モジュールは WAF のエディションによって異なります。たとえば、Subscription Basic エディションはピークトラフィックスロットリングモジュールをサポートしていません。相違点の詳細については、「エディションと機能」をご参照ください。
一般的なコア Web 保護モジュール
保護モジュール | ユースケースと推奨事項 | 初期ステータス |
Alibaba Cloud の組み込み保護ルールセットを使用して、SQL インジェクション、クロスサイトスクリプティング (XSS)、コード実行、Web シェルアップロード、コマンドインジェクションなどの一般的な Web アプリケーション攻撃から防御します。 デフォルト設定を維持し、誤検知を処理する場合にのみ調整を行ってください。 | デフォルトの保護テンプレートが用意されており、デフォルトでブロックモードで有効になっています。 デフォルトでは、このモジュールは WAF に追加されたすべてのリソースを保護し、攻撃リクエストを自動的にブロックします。 | |
保護ルールグループ (レガシー WAF インスタンスのみ) 説明 このモジュールはエンジン設定機能にアップグレードされました。詳細については、「お知らせ」をご参照ください。 | コア保護ルールモジュールは、これらのルールグループを参照します。デフォルト設定を維持することを推奨します。 | Medium、Strict、Loose ルールグループが提供されます。デフォルトで Medium ルールグループが適用されます。誤検知または検知漏れを処理するためにグループを切り替えることができます。 |
悪意のあるリクエストを頻繁に送信する IP アドレスを特定した場合は、それらを IP ブラックリストに追加してください。 | デフォルトの保護テンプレートは提供されません。 | |
柔軟な一致条件とルールアクションを備えたカスタムルールを使用して、悪意のある API コール、悪意のあるリクエスト、高頻度のスキャンなどの特定の攻撃に対するパーソナライズされた保護ポリシーを構築します。 | ||
正規のビジネスユーザーがいない地域から攻撃が発生している場合は、その地域からのすべてのクライアント IP アドレスをブロックできます。 | ||
スキャン動作とスキャナーのシグネチャを識別し、サイトに対する大規模なスキャン試行をブロックします。これにより、侵入リスクと不要なスキャントラフィックが削減されます。 | Subscription Advanced、Enterprise、Ultimate エディションにのみ、デフォルトで有効化された保護テンプレートが用意されています。他のエディションにはデフォルト保護テンプレートは含まれていません。 | |
組み込みの汎用保護アルゴリズムを使用して HTTP フラッド攻撃を緩和します。保護を強化するには、このモジュールをカスタムルールモジュールと組み合わせて使用してください。 |
その他のコア Web 保護モジュール
保護モジュール | ユースケースと推奨事項 | 初期ステータス |
特定の Web ページをロックして、悪意のある改ざんから保護します。クライアントがロックされたページをリクエストすると、WAF はキャッシュされたバージョンを返します。 | デフォルトの保護テンプレートは提供されません。 | |
例外ページやキーワードなど、サーバーのレスポンスコンテンツをフィルタリングして、ID カード番号や銀行カード番号などの機密情報をマスキングします。 | ||
URL や地域などの条件に基づいて、スロットリング比率または QPS しきい値を設定します。プロモーションイベント中のトラフィック急増への対応に適しており、オリジンサーバーの可用性を確保するのに役立ちます。 |
ホワイトリスト
ユースケースと推奨事項:他の保護モジュールとは異なり、ホワイトリストモジュールは、特定の特徴を持つリクエストが保護をバイパスすることを許可します。有効にすると、指定された条件に一致するリクエストは、すべてまたは特定の保護モジュールをバイパスします。O&M エンジニアの IP アドレスからのリクエストなど、既知の信頼できるリクエストをホワイトリストに追加してください。
初期ステータス:このモジュールは、ルールが定義されていないデフォルトテンプレートを提供します。テンプレートはデフォルトで有効になっています。
高度な保護機能
保護モジュール | ユースケースと推奨事項 | 初期ステータス |
アプリやミニプログラムのバックエンドなど、ビジネスが多数の API に依存しており、不正アクセス、機密データの漏洩、または内部 API の公開が懸念される場合は、API セキュリティを有効にします。API 資産を自動的に検出し、リスクを特定し、修正の提案とコンプライアンスの参照を提供します。 | 該当なし。 | |
自動化ツールは、データスクレイピング、ビジネス詐欺、スパム登録、悪意のある買い占め、プロモーションの不正利用、SMS インターフェースの乱用などの問題を引き起こすことがよくあります。ボット管理を有効にすると、トラフィック分析に基づいて正確な保護ポリシーを作成し、コアデータ資産を保護し、サーバーの負荷を軽減できます。 | デフォルトの保護テンプレートは提供されません。 | |
特定の期間中に行われる主要イベントのセキュリティを確保し、より正確でカスタマイズされた保護モードを提供します。 | ||
AI アプリケーションがインターネット経由でサービスを提供し、プロンプトインジェクションや非準拠コンテンツの生成に対する保護が必要な場合は、AI アプリケーション保護を有効にします。高リスクのリクエストを自動的に識別し、攻撃をブロックし、モデル出力のセキュリティとコンプライアンスを確保します。 |
WAF 保護の無効化
WAF 保護を一時的に無効にするには、WAF コンソールの 保護対象 ページに移動し、右上隅にある WAF 保護ステータス スイッチをオフにします。
スイッチがオフになると、Web サイトへのトラフィックは一時的に WAF 保護エンジンをバイパスし、ログに記録されなくなります。WAF の一時的な無効化が必要な緊急テストやその他の操作が完了したら、資産のセキュリティリスクを低減するために、できるだけ早くこのスイッチをオンにしてください。
課金:従量課金制の WAF インスタンスの場合、このスイッチをオフにしても、機能使用料、基本トラフィック料金、および (API セキュリティが有効な場合) API セキュリティトラフィック料金は引き続き課金されます。
API セキュリティに関する注意:API セキュリティモジュールの検出プロセスは、このスイッチの影響を受けません。
サポートされていない機能:この機能は、クラウドサービスアクセスを介して追加された Microservices Engine (MSE) および Function Compute (FC) インスタンスではサポートされていません。ハイブリッドクラウドアクセスの場合、特定のバージョンが必要です。詳細については、アカウントマネージャーにお問い合わせください。
テンプレートタイプ別の管理
異なる保護対象に対して個別の保護ルールを設定するために、保護モジュール内で複数の保護テンプレートを定義して、きめ細かな制御を行うことができます。これらのテンプレートを効率的に管理するには、デフォルト保護テンプレートとカスタム保護テンプレートの 2種類のテンプレートを理解する必要があります。
テンプレートタイプ | 説明 | ユースケース |
デフォルト保護テンプレート |
| グローバルに適用する必要がある一般的な保護ルールを適用します。 |
カスタム保護テンプレート | テンプレートを適用する保護対象または保護対象グループを指定する必要があります。 | ログインや支払いインターフェースなど、特定のビジネスシナリオ向けにきめ細かな保護ルールを適用します。 |
保護対象がいずれのテンプレートにも関連付けられていない場合 (すべてのテンプレートでステータスが「無効」の場合)、WAF によって保護されません。
Defaultタグはデフォルト保護テンプレートを示します。その他のテンプレートはカスタム保護テンプレートです。
デフォルト保護テンプレートをサポートする保護モジュール:コア保護ルール、ホワイトリスト、IP ブラックリスト、カスタムルール、HTTP フラッド攻撃対策、スキャン保護、地域ブロック、ピークトラフィックスロットリング。
デフォルト保護テンプレートをサポートしない保護モジュール:これらのモジュールで作成されたすべてのテンプレートはカスタム保護テンプレートです。適用対象を手動で指定する必要があります。
保護対象への複数テンプレートの適用
以下の保護モジュールは、単一の保護対象または保護対象グループに複数の保護テンプレートを関連付けることもサポートしています:
ホワイトリスト、IP ブラックリスト、カスタムルール、ボット管理、AI アプリケーション保護。
これらのモジュールでは、カスタム保護テンプレートに保護対象を追加または削除しても、デフォルトテンプレートの範囲には影響しません。
たとえば、コア保護ルールのように複数のテンプレートの適用をサポートしないモジュールでは、保護対象をカスタムテンプレートに関連付けると、WAF は自動的にそれをデフォルトテンプレートから削除します。
例 1:新規保護対象に対する監視モードの使用
[Web コア保護ルール]モジュールを例にとります。このモジュールには、初期のデフォルト保護テンプレートがあり、その[アクション]は[ブロック]です。このテンプレートは、WAF に追加されるすべての新しい保護対象に適用されます。
新しく追加された保護対象には監視モード (ルールに一致するリクエストをブロックせずにログに記録する) を使用し、既存の保護対象にはブロックモードを使用するには、次の手順を実行します:
デフォルト保護テンプレートの[[アクション]]を[観察]に設定します。
コア保護ルールテンプレート (カスタム保護テンプレート) を作成し、その[[アクション]]を[[ブロック]]に設定し、[有効対象]パラメータをすべての既存の保護対象に設定します。
例 2:カスタムホワイトリストの設定
[ホワイトリスト]モジュールを例にとります。このモジュールには、ルールが定義されていない初期のデフォルト保護テンプレートがあります。この保護テンプレートはデフォルトで有効になっています。
WAF で保護されているすべての保護対象に対して IP1 からのトラフィックを許可するホワイトリストルールを設定し、特定の保護対象が IP1 と IP2 の両方からのトラフィックを許可する必要がある場合は、次のように設定できます。
デフォルトテンプレートで、
IP1からのリクエストを許可するルールを追加します。デフォルトでは、すべての保護対象とグループが適用対象として選択されます。ホワイトリストテンプレート (カスタム保護テンプレート) を作成し、
IP2からのリクエストを許可するルールを追加し、[[有効対象]]パラメータを特定の保護対象に設定します。
よくある質問
手動で保護対象を設定するケース
以下のシナリオでは、保護対象を手動で設定する必要があります:
複数のドメイン名が同じクラウドサービスインスタンスに解決されるクラウドサービスアクセス方法を使用する場合、それぞれに異なる保護ルールを設定するには、各ドメイン名を個別の保護対象として追加する必要があります。詳細については、「保護対象の手動追加」をご参照ください。
WAF Cookie の発行、WAF デコーディング、アカウント抽出などの高度な機能を設定する必要がある場合は、保護対象を手動で設定する必要があります。詳細については、「保護対象の高度な保護動作の設定」をご参照ください。
保護が有効であることを確認する方法
Protected Object ページに移動し、対象の保護対象を見つけて、操作 列の View Protection Rule をクリックします。Web コア保護 ページで、保護対象に設定されている保護ルールを表示します。設定した保護テンプレートが Web コア保護 ページに表示されない場合、テンプレートは有効になっていません。テンプレートの適用対象設定を再確認してください。
誤検知の処理
ページに移動します。リクエスト時間、クライアント IP アドレス、リクエスト URL などの基準でリクエストを検索し、リクエストがトリガーした保護モジュールとルールを特定します。
リクエストが誤検知であることを確認した場合、ページ下部の ログリスト セクションに移動し、特定のリクエストを見つけて、操作 列の 誤検知の無視 をクリックしてホワイトリストルールを作成します。