Azure Application GatewayでWAFを有効化、ポリシー設定、カスタムルール作成、ログ確認する手順
Azure Application Gateway(アプリケーションゲートウェイ)でのWAF(Azure Web Application Firewall)の設定手順です。
WAFの有効化、WAFポリシーの作成、Azure Application GatewayへのWAFポリシー割り当て、WAFポリシーでのカスタムルール作成、検出モードと防止モードの切り替え、ログの確認方法などについて紹介します。
WAFはWebアプリケーションの脆弱性を狙った攻撃を検知・ブロックするサービスです。
Azure Application GatewayやAzure Front Doorなどで利用できます。
今回は、Azure Application GatewayにおけるWAFの設定手順についてまとめています。
Azure Application Gatewayの概要、構成要素、リソース作成手順については、こちらで紹介しています。
※本記事では、一部を除きAzure Web Application Firewall(Webアプリケーションファイアウォール)をWAFとして表記しています。
※本記事では、Azure Application Gateway(アプリケーションゲートウェイ)をApplication Gatewayとして表記しています。
WAF(Azure Web Application Firewall)の概要
WAF(Azure Web Application Firewall)とは
WAFを使用することで、SQLインジェクションやクロスサイトスクリプティングなどの一般的なWeb攻撃手法やセキュリティ脆弱性からWebアプリケーションを保護できます。
標準でOWASPのルールセットおよびBot対策ルールが用意されており、適用するだけで容易に利用を開始できます。
WAFは、設定したルールにマッチしたトラフィックを検知またはブロックします。
WAFは、Application GatewayやAzure Front Doorと組み合わせて利用可能です。
Web Application Firewallポリシーのカスタマイズも対応しています。
※WAFはApplication GatewayのBasic SKUでは利用できません。
価格
WAFの利用には、Application Gatewayの利用料金とは別に、WAFの課金が発生します。
WAFも、Application Gatewayと同様に、稼働時間に応じて課金されます。
※Application Gatewayを停止している場合は、WAFの課金も発生しません。
WAF(Web Application Firewall)のカスタムポリシーも利用できる
Application Gatewayでは、Web Application Firewall(WAF)のカスタムポリシーも利用できます。
-
- Application GatewayでWAFを有効化
- Web Application Firewall(WAF)のカスタムポリシーを作成し、割り当て
Azure Application GatewayでWAFを有効化と設定手順
Azure Application GatewayでWAFを有効化
Azure Application GatewayのSKUでWAF v2を選択して、WAF機能を有効化できます。
WAFの有効化手順 | |
Application Gatewayの構成でレベルをWAF v2に設定します。 |
![]() |
WAFで検知モードと防止モードの切り替えやルールの無効化設定
WAFモードやルールの設定ができます。
-
- WAFモード
- 検知モード:ログを出力するのみで、トラフィックは通過させる
- 防止モード:ログを出力するとともに、一定の条件に達した場合にトラフィックをブロックする
- ルール
- ルール単位で有効、無効の設定ができる
- WAFモード
WAFのモードやルールの設定手順 | |
WAFモードの設定ができます。 デフォルトでは検知モードになっています。 グローバルパラメータの設定や除外設定も可能です。 |
![]() |
ルールのタブで、ルールセットを選択します。 | ![]() |
ルールの詳細構成を有効にします。 ルール単位で有効、無効を設定できます。 |
![]() |
—広告—
WAFポリシーの作成からApplication Gatewayへの割り当てまでの手順
WAFを有効化したApplication Gatewayでは、個別に作成したWAFポリシーを適用できます。
WAFポリシーの作成手順
WAFポリシーのリソースを作成します。
WAFポリシーの関連付けは、Application Gatewayのリソース、リスナー、またはルートパス単位で設定できます。
Application GatewayにWAFポリシーを割り当てる手順
WAFポリシーをApplication Gatewayへ割り当てる場合は、Application Gateway WAFポリシーで設定します。
今回はリスナーに関連付けしています。
※割り当てできるのは、WAFが有効化されているApplication Gatewayのみです。
WAFポリシーを割り当て | |
関連付けられたアプリケーションゲートウェイのメニューを選択します。 | ![]() |
関連付けの追加を選択します。 HTTPリスナーを選択します。 |
![]() |
WAFポリシーを関連付けるApplication Gatewayとリスナーを選択します。 | ![]() |
保存を選択します。 これで割り当ては完了です。 |
![]() |
WAFポリシーの防止モード、検出モードの切り替え手順
WAFポリシーでは、防止モードと検出モードの切り替えが可能です。
防止モード、検出モードを切り替え | |
防止モードに切り替えるを選択します。 ポリシーモードが防止に変更されます。 |
![]() |
![]() |
マネージドルールセットの割り当て手順
ルールセットの割り当てを使用して、マネージドルールセットを追加で割り当てることができます。
今回はボットマネージドルールを割り当てています。
マネージドルールセットを割り当て | |
管理されているルールのメニューで割り当てを選択します。 |
![]() |
![]() |
マネージドルールセットのルールを個別に無効化
マネージドルールセット内の各ルールは、個別に無効化することができます。
アプリケーションの要件などに応じて、特定のルールを無効化する際に使用します。
マネージドルールセットのルールを個別に無効化 | |
アクションを変更したいルールを選択します。 無効化を選択します。 状態がDisabledになっていることを確認できます。 |
![]() |
![]() |
WAFポリシーでカスタムルールを作成し、適用する手順
WAFポリシーでカスタムルールを作成する手順
今回は、特定のIPからのアクセスを拒否するカスタムルールを作成します。
処理は以下の3つのパターンがあります。
-
- トラフィックを許可する
- ルールに該当するトラフィックを許可
- トラフィックを拒否する
- ルールに該当するトラフィックをブロック
- トラフィックのみをログに記録する
- ログに記録はするがトラフィックは許可
- トラフィックを許可する
カスタムルールの作成 | |
カスタムルールのメニューから設定します。 ルールの設定画面が表示されます。 処理でトラフィックを拒否するを選択します。 |
![]() |
![]() |
作成したカスタムルールの動作を確認
カスタムルールでブロック設定したIPアドレスからアクセスし、カスタムルールの動作を確認します。
カスタムルールの動作を確認 | |
ブロック設定したIPアドレスからアクセスした場合、HTTPステータスコード403が表示されます。 | ![]() |
※WAFを検出モードに設定した場合は、カスタムルールで拒否設定をしてもトラフィックは許可されます。
—広告—
WAFのログはLog Analyticsワークスペースで確認できる
Application Gatewayの診断設定を使用して、WAFのログをLog Analyticsワークスペースへ転送できます。
Application Gatewayの診断設定のログカテゴリにあるApplication Gateway Firewall Logが、WAFのログに該当します。
診断設定で転送対象としてApplication Gateway Firewall Logを追加します。
WAFモードを検知(Detection)から防止(Prevention)に変更すると、アクセスの挙動が変化していることが分かります。
action_sの値を確認すると、DetectedからBlockedに変更されていることを確認できます。
WAFのログを確認 |
![]() |
Application Gatewayのログ確認手順については、こちらで紹介しています。
Application Gatewayのカスタムエラーページ設定手順については、こちらで紹介しています。