Azure Application Gateway WAF 例外の一覧 (プレビュー)

適用対象: ✔️ Application Gateway V2

Azure Application Gateway Web Application Firewall (WAF) は、Web アプリケーションを一般的な脅威や攻撃から保護するのに役立ちます。 この記事では、Application Gateway に関連付けられている WAF ポリシーで WAF 例外リストを構成する方法について説明します。

WAF ポリシーの概要については、「Azure Application GatewayのAzure Web Application Firewall」および「Application Gateway のWeb Application Firewall ポリシーを作成する」を参照してください。

場合によっては、WAF によって、アプリケーションにとって安全で予期される要求がブロックされることがあります。 例外リストを使用すると、特定の要求に対する WAF 検査をバイパスできます。 ルール、ルール グループ、またはマネージド ルール セット レベルで例外を構成できます。

次の世代の WAF エンジンのみが例外をサポートしており、マネージド ルールセットのバージョンが CRS 3.2、DRS 2.1 以降の場合にのみ使用できます。 詳細については、 CRS または DRS ルールセットのバージョンのアップグレードを参照してください。

Important

Azure Application Gateway Web Application Firewall (WAF) の例外は現在プレビュー段階です。 ベータ版、プレビュー版、または他の方法で一般公開されていない Azure の機能に適用される法的条件については、Microsoft Azure プレビューの追加利用規約を参照してください。

要求属性を定義する

例外を作成するときに、WAF の評価をバイパスする必要があるトラフィックを識別する要求属性を指定します。 サポートされる属性は次のとおりです。

  • 要求 URI
  • リモート IP アドレス
  • 要求ヘッダーの名前と値

次の演算子を使用して、属性を正確または部分的に照合します。

  • 等しい: 正確な値と一致します。
    例: ヘッダー bearerToken を選択するには、セレクターとして BearerToken で Equals 演算子を使用します。

  • 次で始まる: 指定したセレクターで始まる値に一致します。

  • 次の値で終わります。 指定したセレクターで終わる値と一致します。

  • 次のものが含まれます。 指定したセレクターを含む値と一致します。

  • IP 一致: 1 つ以上の IP アドレスに一致します。

例外スコープを設定する

例外の適用範囲を次に限定:

  • 特定のルール

  • ルールグループ

  • マネージドルールセット全体

例外を定義する場合:

  • 適用するルール、ルール グループ、またはマネージド ルール セットを指定します。

  • 除外するトラフィックを識別する要求属性を定義します。

  • ルール グループ全体を除外するには、 ruleGroupName パラメーターを指定します。 rules パラメーターは、そのグループ内の特定の規則に例外を絞り込む場合にのみ使用します。

Tip

例外は常にできるだけ狭くしてください。 広範な例外により、アプリケーションが意図せず攻撃にさらされる可能性があります。 可能な限り、ルールごとの例外を使用します。

WAF ポリシーに例外を適用する

WAF が SQL インジェクション 規則を評価するときに、 /login.php 要求と /logout.php 要求を検査したくないとします。 次のように例外を構成します。

  1. 例外を追加する WAF ポリシーに移動します。

  2. [ 設定] で、[ 管理されたルール] を選択します。

  3. [ 例外 ] タブで、[ 例外の追加] を選択します。

    Azure ポータルで WAF ポリシーに例外を追加する方法を示すスクリーンショット。

  4. [ 適用対象] で、例外を適用する DRS ルールセット ( Microsoft_DefaultRuleSet_2.1 など) を選択し、スコープ (ルール グループ、特定のルール、またはルール セット全体) を選択します。

    Azure ポータルで WAF ポリシーで例外の DRS ルールセットとスコープを選択する方法を示すスクリーンショット。

  5. [ 例外の追加] を選択し、一致変数、値一致演算子、および値を構成します。

    Azure ポータルで WAF ポリシーで、一致変数、値一致演算子、および例外の値を構成する方法を示すスクリーンショット。

  6. [ 追加] を選択し、[ 保存] を 選択して新しい例外を適用します。

    新しい例外が [ 例外 ] タブに表示されます。

Limitations

WAF の例外には、次の制限事項が適用されます。

  • 各Azure WAF ポリシーでは、最大 60 個の例外がサポートされます。

  • 各 Application Gateway では、 合計で最大 60 個の例外がサポートされます。この例外は、そのゲートウェイに関連付けられている WAF ポリシー全体のすべての例外の合計として計算されます。

  • 1 つの例外内で、次の構成を行うことができます。

    • 600 個の IP アドレス、または

    • 10 個の URI、または

    • 10 個の要求ヘッダー

Azure WAF 経由のトラフィックを許可するオプション

Azure Web Application Firewall (WAF) には、保護を維持しながら必要なときにトラフィックを安全に許可するためのメカニズムがいくつか用意されています。 要求の一部または要求全体の検査をバイパスするかどうかに応じて、 除外例外、または カスタム ルールを使用します。

除外を使用して要求の特定の部分を許可する

WAF で要求内の特定の要素 (ヘッダー、クエリ パラメーター、Cookie など) の検査をスキップし、要求の残りの部分に検査を適用する場合は、 除外 を使用します。

例: 正当なアプリケーションが、SQL インジェクションの誤検知を頻繁にトリガーするランダムな文字を含むセッション Cookie を送信する場合は、その Cookie の除外を構成できます。 WAF は Cookie 値の検査をスキップしますが、要求の残りの部分に保護を適用します。

カスタム ルールと例外を使用して要求全体を許可する

要求全体で WAF 検査をバイパスできるようにするには、次のいずれかのオプションを使用します。

許可アクションを含むカスタム ルール

許可アクションを使用してカスタム ルールを構成すると、要求は既定の規則セット (DRS)、コア ルール セット (CRS)、および Bot Protection ルール セットによる検査をバイパスします。

Important

このバイパスは、これらのルール セットの絶対パスであり、変更したり、選択的に適用したりすることはできません。 許可アクションがトリガーされると、これらのルールセットはいずれも要求を評価しません。 ただし、 HTTP DDoS 保護規則セット は引き続き要求を処理します。 このルールセットを使用すると、他のすべてのルールセットがスキップされた場合でも、要求がボリューム攻撃または洪水スタイルの攻撃に対してチェックされます。

この構成は、署名と異常検出を効果的に無効にするため、トラフィック ソースまたはアプリケーションを完全に信頼する場合にのみ使用します。

例: ペイロード形式によって DRS ルールを頻繁にトリガーする信頼されたパートナー API がある場合は、パートナーの IP 範囲からのトラフィックに対してカスタム の許可 ルールを作成できます。 この構成により、トラフィックが DRS、CRS、または Bot Protection によってブロックされることはありませんが、HTTP DDoS セーフガードの恩恵を受けます。

例外 (より詳細な制御)

一方、例外を使用すると、一度にすべてのルールを無効にするのではなく、特定のルール、ルール グループ、またはルール セット全体に対してのみ検査をバイパスできます。

DRS、CRS、Bot Protection、さらには HTTP DDoS ルールセットにも例外を適用できます。

この方法ではきめ細かい制御が提供されるため、残りの保護をアクティブにしたまま、1 つの問題のあるルールの検査を無効にすることができます。

例: 1 つの DRS ルール (コンテンツ タイプ ヘッダーの制限など) が有効なモバイル アプリ要求をブロックする場合は、そのルールに対してのみ例外を作成できます。 他のすべての DRS ルール、Bot Protection、DDoS 保護は、トラフィックで引き続き実行されます。