Azure Web アプリケーション ファイアウォールに対するカスタム応答を構成する
この記事では、Azure Web Application Firewall が要求をブロックした場合のカスタム応答ページを構成する方法を説明しています。
既定では、一致するルールのために Azure Web Application Firewall が要求をブロックすると、"要求はブロックされました" というメッセージとともに 403 状態コードが返されます。既定のメッセージには、要求のログ エントリへのリンクに使用される追跡参照文字列も含まれます。 ユース ケースの参照文字列を使用して、カスタム応答状態コードとカスタム メッセージを構成することができます。
ポータルを使用してカスタム応答状態コードとメッセージを構成する
カスタム応答状態コードと本文は、Azure Web Application Firewall ポータルの [ポリシー設定] で構成できます。
先の例では、応答コードを 403 のままにして、次の図に示すように簡単な "Please contact us" (お問い合わせください) メッセージを構成しました。
"{{azure-ref}}" によって、応答本文に一意の参照文字列が挿入されます。 この値は FrontDoorAccessLog
および FrontDoorWebApplicationFirewallLog
ログの TrackingReference フィールドと一致します。
"{{azure-ref}}" によって、応答本文に一意の参照文字列が挿入されます。 この値は FrontdoorAccessLog
および FrontdoorWebApplicationFirewallLog
ログの TrackingReference フィールドと一致します。
PowerShell を使用してカスタム応答状態コードとメッセージを構成する
PowerShell を使用してカスタム応答状態コードとメッセージを構成するには、次の手順に従います。
PowerShell 環境をセットアップする
Azure PowerShell には、Azure リソースの管理に Azure Resource Manager モデルを使う一連のコマンドレットが用意されています。
Azure PowerShell をローカル コンピューターにインストールして、すべての PowerShell セッションで使用することができます。 ページの手順に従って Azure の資格情報を使ってサインインします。 次に、Az PowerShell モジュールをインストールします。
サインインのための対話型ダイアログを使用して Azure に接続する
Connect-AzAccount
Install-Module -Name Az
最新バージョンの PowerShellGet がインストールされていることを確認します。 次のコマンドを実行したら、PowerShell を再度開きます。
Install-Module PowerShellGet -Force -AllowClobber
Az.FrontDoor モジュールのインストール
Install-Module -Name Az.FrontDoor
リソース グループを作成する
Azure で、関連するリソースをリソース グループに割り当てます。 ここでは、New-AzResourceGroup を使用してリソース グループを作成します。
New-AzResourceGroup -Name myResourceGroupWAF
カスタム応答が設定された新しい WAF ポリシーの作成
次の例は、New-AzFrontDoorWafPolicy を使用して、405 に設定されたカスタム応答状態コードと "You are blocked" というメッセージを含む新しい Web アプリケーション ファイアウォール (WAF) ポリシーを作成する方法を示しています。
# WAF policy setting
New-AzFrontDoorWafPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-EnabledState enabled `
-Mode Detection `
-CustomBlockResponseStatusCode 405 `
-CustomBlockResponseBody "<html><head><title>You are blocked.</title></head><body></body></html>"
Update-AzFrontDoorFireWallPolicy を使用して、既存の WAF ポリシーのカスタム応答コードまたは応答本文の設定を変更します。
# modify WAF response code
Update-AzFrontDoorFireWallPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-EnabledState enabled `
-Mode Detection `
-CustomBlockResponseStatusCode 403
# modify WAF response body
Update-AzFrontDoorFireWallPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-CustomBlockResponseBody "<html><head><title>Forbidden</title></head><body>{{azure-ref}}</body></html>"
次のステップ
Azure Front Door 上の Azure Web Application Firewall について説明します。