Application Gateway 用の Web アプリケーション ファイアウォール ポリシーの作成
WAF ポリシーをリスナーに関連付けると、1 つの WAF の背後にある複数のサイトを異なるポリシーで保護できるようになります。 たとえば、WAF の背後に 5 つのサイトがある場合、5 つの個別の WAF ポリシー (リスナーごとに 1 つ) を設けて、それぞれ 1 つのサイトの除外、カスタム ルール、マネージド ルール セットをカスタマイズし、他の 4 つに影響させないようにできます。 1 つのポリシーをすべてのサイトに適用する場合は、ポリシーを個々のリスナーではなくアプリケーション ゲートウェイに関連付けて、グローバルに適用できます。 ポリシーを、パスベースのルーティング規則に適用することもできます。
ポリシーは、必要な数だけ作成できます。 作成したポリシーは、有効にするために 1 つのアプリケーション ゲートウェイに関連付ける必要がありますが、アプリケーション ゲートウェイとリスナーの任意の組み合わせに関連付けることもできます。
Application Gateway にポリシーが関連付けられていて、その Application Gateway の 1 つのリスナーに別のポリシーを関連付けた場合、リスナーのポリシーは有効になりますが、割り当てられているリスナーに対してのみ有効になります。 特定のポリシーが割り当てられていない他のすべてのリスナーには、依然として Application Gateway ポリシーが適用されます。
Note
ファイアウォール ポリシーが WAF に関連付けられている場合は、その WAF に関連付けられているポリシーが常に存在している必要があります。 このポリシーは上書きできますが、WAF からのポリシーの関連付け解除は完全にはサポートされていません。
新しい Web アプリケーション ファイアウォールの WAF 設定 (カスタム ルール、マネージド ルールセットの構成、除外など) はすべて WAF ポリシーの内部にあります。 既存の WAF がある場合、これらの設定がまだ WAF 構成にある可能性があります。新しい WAF ポリシーに移行する手順については、この記事の後半の「WAF 構成の WAF ポリシーへのアップグレード」を参照してください。
WAF ポリシーは、要求トラフィックを検査し、イベントをログに記録し、要求に対してアクションを実行するために、有効な状態である必要があります。 検出モードの WAF ポリシーは、WAF ルールがトリガーされたときにイベントをログに記録しますが、他のアクションは実行しません。 防止モードのポリシーは、要求に対してアクションを実行し、ログにイベントを記録します。
ポリシーの作成
まず、Azure portal を使用して、マネージド既定のルール セット (DRS) を持つ基本の WAF ポリシーを作成します。
ポータルの左上で、 [リソースの作成] を選択します。 WAF を検索し、 [Web アプリケーション ファイアウォール] 、 [作成] の順に選択します。
[WAF ポリシーを作成する] ページの [基本] タブで、次の情報を入力または選択し、それ以外の設定については既定値をそのまま使用します。
設定 値 次に対するポリシー リージョンの WAF (Application Gateway) サブスクリプション サブスクリプション名を選択します Resource group リソース グループを選択します ポリシー名 WAF ポリシーの一意の名前を入力します。 [関連付け] タブで、[関連付けの追加] を選択し、次の設定のいずれかを選択します。
設定 値 Application Gateway アプリケーション ゲートウェイを選択し、[追加] を選択します。 HTTP リスナー アプリケーション ゲートウェイを選択し、リスナーを選択して、[追加] を選択します。 ルート パス アプリケーション ゲートウェイを選択し、リスナーを選択して、ルーティング規則を選択し、[追加] を選択します。 Note
ポリシーが既に設定されているアプリケーション ゲートウェイ (またはリスナー) にポリシーを割り当てた場合、元のポリシーは上書きされ、新しいポリシーに置き換えられます。
[Review + create](確認と作成) を選択し、次に [作成] を選択します。
WAF 規則を構成する (省略可能)
WAF ポリシーを作成するとき、既定では検出モードになります。 検出モードでは、WAF で要求がブロックされることはありません。 代わりに、一致する WAF ルールが WAF ログに記録されます。 WAF の動作を確認するには、モードの設定を [防止] に変更できます。 防止モードでは、選択した Microsoft マネージド ルールセットで定義されている一致規則がブロックされるか、WAF ログに記録されます (または両方とも行われます)。
マネージド ルール
Azure マネージド OWASP ルールは、既定で有効になっています。 ルール グループ内の個々のルールを無効にするには、そのルール グループ内のルールを展開し、ルール番号の前のチェック ボックスをオンにして、上のタブの [無効] を選択します。
カスタム規則
カスタム ルールを作成するには、 [カスタム ルール] タブの下の [カスタム ルールの追加] を選択します。これで、カスタム ルールの構成ページが開きます。 次のスクリーンショットは、クエリ文字列に "blockme" というテキストが含まれている場合に要求をブロックするように構成されたカスタム ルールの例を示しています。
WAF 構成の WAF ポリシーへのアップグレード
既存の WAF をお持ちの場合、ポータルのいくつかの変更点にお気付きかもしれません。 まず、WAF で有効にしたポリシーの種類を識別する必要があります。 考えられる状態は 3 つあります。
- WAF ポリシーなし
- カスタム ルールのみのポリシー
- WAF ポリシー
WAF の状態を確認するには、ポータルでそれを参照します。 WAF 設定が表示されており、Application Gateway ビュー内から変更できる場合、WAF は状態 1 です。
[Web アプリケーション ファイアウォール] を選択すると、関連付けられているポリシーが表示される場合、WAF は状態 2 または状態 3 です。 ポリシーに移動した後、カスタム ルール、および関連付けられているアプリケーション ゲートウェイのみが表示される場合は、カスタム ルールのみのポリシーです。
ポリシー設定とマネージド ルールも表示される場合は、完全な Web アプリケーション ファイアウォール ポリシーです。
WAF ポリシーにアップグレードする
カスタム ルールのみの WAF ポリシーの場合、新しい WAF ポリシーに移行することができます。 今後、ファイアウォール ポリシーでは、WAF ポリシー設定、マネージド ルール セット、除外、無効になっているルール グループがサポートされます。 基本的に、アプリケーション ゲートウェイの内部で以前に実行されたすべての WAF 構成は、WAF ポリシーを使って実行されます。
カスタム ルールのみの WAF ポリシーの編集は無効になっています。 ルールの無効化、除外の追加などの、WAF の設定を編集するには、新しいトップ レベルのファイアウォール ポリシー リソースにアップグレードする必要があります。
これを行うには、Web アプリケーション ファイアウォール ポリシーを作成し、選択したアプリケーション ゲートウェイおよびリスナーにそれを関連付けます。 この新しいポリシーは、現在の WAF 構成とまったく同じにする必要があります。つまり、すべてのカスタム ルール、除外、無効になっているルールなどを、作成する新しいポリシーにコピーする必要があります。 ポリシーをアプリケーション ゲートウェイに関連付けたら、WAF のルールと設定の変更に進むことができます。 Azure PowerShell でこの操作を行うこともできます。 詳細については、「WAF ポリシーを既存のアプリケーション ゲートウェイに関連付ける」を参照してください。
オプションで、移行スクリプトを使用して WAF ポリシーにアップグレードできます。 詳しくは、「Azure PowerShell を使用して Web Application Firewall ポリシーをアップグレードする」をご覧ください。
強制モード
現在の構成とまったく同じポリシーにすべてをコピーしない場合は、WAF を "強制" モードに設定できます。 次の Azure PowerShell コードを実行して、WAF を force モードにします。 その後、設定が構成とまったく同じではない場合でも、WAF ポリシーを WAF に関連付けることができます。
$appgw = Get-AzApplicationGateway -Name <your Application Gateway name> -ResourceGroupName <your Resource Group name>
$appgw.ForceFirewallPolicyAssociation = $true
次に、WAF ポリシーをアプリケーション ゲートウェイに関連付ける手順に進みます。 詳細については、「WAF ポリシーを既存のアプリケーション ゲートウェイに関連付ける」を参照してください。
次のステップ
Web アプリケーション ファイアウォールの CRS ルール グループとルールの詳細をご確認ください。