Azure Application GatewayのWAF有効化から、WAFポリシー設定、カスタムルール作成、ログ確認までの手順
Azure Application Gateway(アプリケーションゲートウェイ)でのWAF(Azure Web Application Firewall)の設定手順です。
WAFはWebアプリケーションの脆弱性を狙った攻撃を検知・ブロックするサービスです。
Azure Application GatewayやAzure Front Doorなどで利用できます。
今回は、WAFの有効化、WAFポリシーの作成、Azure Application GatewayへのWAFポリシー割り当て、WAFポリシーでのカスタムルール作成、検出モードと防止モードの切り替え、ログの確認方法など、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の価格
WAFの利用には、Application Gatewayの利用料金とは別にWAFの課金が発生します。
WAFもApplication Gatewayと同様に、稼働時間に応じて課金されます。
※Application Gatewayを停止している場合は、WAFの課金も発生しません。
WAFポリシーが利用可能
Application Gatewayでは、WAFポリシーが利用できます。
WAFポリシーを利用することで、カスタムルールを作成して適用することができます。
また、Application Gateway全体だけでなく、HTTPリスナーやルートパス単位で適用することもできます。
-
- Application GatewayのWAFを有効化
- Application Gateway WAFポリシーのリソースを作成
- Application GatewayにWAFポリシーを割り当て
Azure Application GatewayのWAF有効化から設定手順
Application GatewayでWAFを有効化
WAF機能を有効化する場合は、Application GatewayのSKUにWAF v2を選択します。
| WAFの有効化手順 | |
|
Application Gatewayの構成を表示します。 |
![]() |
WAFの検知モードと防止モードの切り替えやルールの無効化設定
WAFモードで検知モードか防御モードかを選択できます。
また、ルールの詳細設定で、ルールごとに有効または無効の設定ができます。
-
- WAFモード
- 検知モード:ログを出力するのみで、トラフィックは通過させます
- 防止モード:ログを出力するとともに、一定の条件に達した場合にトラフィックをブロックします
- ルールの詳細設定
- 適用するルールセットを選択します
- ルール単位で有効または無効かを設定します
- WAFモード
今後はWAFポリシーが必須になる
Application Gateway WAF v2での WAF 構成は 2027 年 3 月 15 日に廃止予定となっています。
今後は、WAFポリシーが必須になる予定です。
Azure Application Gateway WAFポリシーへのアップグレード
—広告—
WAFポリシーの作成からApplication Gatewayへ割り当てるまでの手順
Application Gatewayに個別に作成したWAFポリシーを適用できます。
この場合、Application GatewayでWAFを有効化しておく必要があります。
WAFポリシーのリソース作成手順
WAFポリシーのリソースは、Application Gatewayとは別に個別に作成します。
WAFポリシーは、Application Gatewayのリソースと関連付けて利用します。
WAFポリシーの関連付けは、Application Gatewayのリソース単位、リスナー単位、またはルートパス単位で設定できます。
※今回、画面例ではOWASP 3.2を選択していますが、記事更新日時点ではMicrosoft_DefaultRuleSet 2.1が推奨されています。
Web Application Firewall の DRS および CRS の規則グループと規則
Application GatewayへのWAFポリシー割り当て手順
WAFポリシーをApplication Gatewayで利用する場合は、関連付けを行います。
WAFポリシーにある関連付けのメニューから設定します。
今回はリスナーに関連付けしています。
※Application Gatewayのリソース側でWAFが有効化されている必要があります。
| WAFポリシーの割り当て手順 | |
| 関連付けを表示します。 関連付けの追加でリスナーを選択します。 |
![]() |
| 関連付けするApplication GatewayのリソースとHTTPリスナーを選択します。 追加を選択します。 追加が完了すると、WAFポリシーが関連付けられたリソースが表示されます。 |
![]() |
![]() |
|
WAFポリシーの防止モード、検出モードの切り替え手順
WAFポリシーは、防止モードと検出モードを切り替えて利用できます。
なお、WAFポリシーが適用されている場合は、WAFポリシー側のポリシーモードが優先されます。
Azure Web アプリケーション ファイアウォール (WAF) ポリシーの概要
複数のポリシーを異なるスコープで関連付けている場合は、適用スコープがより具体的(パスベース > リスナー単位 > グローバル)なポリシーが有効になります
| 防止モード、検出モードを切り替え | |
| WAFポリシーの概要でポリシーモードを切り替えることができます。 検出モードで設定している場合は、防止モードに切り替えると表示されます。 防止モードで設定している場合は、検出モードに切り替えると表示されます。 |
![]() |
![]() |
|
マネージドルールセットの割り当て手順
マネージドルールセットを追加で割り当てることができます。
マネージドルールセットでは、既定のルールセット、ボット管理ルールセット、HTTP DDoSルールセットを選択できます。
Web Application Firewall の DRS および CRS の規則グループと規則
Azure Application Gateway WAF の HTTP DDoS ルールセット
※なお、記事更新日時点では、HTTP DDoSルールセットはプレビューとなっております。
| マネージドルールセットの割り当て手順 | |
|
管理されているルールのメニューで割り当てを選択します。
|
![]() |
![]() |
|
![]() |
|
※今回、画面例ではOWASP 3.2を選択していますが、記事更新日時点ではMicrosoft_DefaultRuleSet 2.1が推奨されています。
Web Application Firewall の DRS および CRS の規則グループと規則
個別にマネージドルールセット内のルールを無効化
マネージドルールセット内の各ルールは、個別に無効化できます。
アプリケーションの要件などに応じて、特定のルールを無効化する際に使用します。
| マネージドルールセット内のルールを個別に無効化 | |
| 無効化したいルールを選択します。 無効にするを選択します。 状態がEnabledからDisabledに変わっていることを確認できます。 |
![]() |
![]() |
|
—広告—
WAFポリシーでカスタムルールを作成する手順
カスタムルールとは
個別に条件とアクションを指定するルールです。
マネージドルールセットでは対応できない要件に合わせて、独自の条件とアクションでトラフィックを制御できます。
例えば、特定の国(GeoMatch)や特定のIPアドレスレンジ(IPMatch)からのアクセスを遮断することに利用できます。
逆に、アクセスを許可することも可能です。
Azure Application Gateway の Web アプリケーション ファイアウォール v2 カスタム規則
条件には、RemoteAddr(クライアントIP)やRequestUriなどを指定できます。
評価順序は、カスタムルール > マネージドルールの順になります。
条件に合致したリクエストに対して、トラフィックの扱いを指定できます。
-
- Allow
- リクエストを許可します
- 以降(優先度が低いルール)の評価はスキップされます
- Block
- 防止モード時にリクエストを遮断します
- 以降(優先度が低いルール)の評価はスキップされます
- Log
- トラフィックは許可
- ログに記録
- 以降(優先度が低いルール)の評価は継続します
- JSChallenge
- JavaScript チャレンジでクライアントの正当性を確認します
- Allow
その他にも、レート制限といったことも可能です。
Application Gateway の Web アプリケーション ファイアウォールのレート制限とは何ですか
カスタムルールについては、こちらの記事でも紹介しています。
※なお、Front Doorに適用するWAFポリシーと、Application Gatewayに適用するWAFポリシーでは設定できる内容に差異があります。
WAFポリシーでカスタムルールを作成する手順
今回は、特定のIPからのアクセスを拒否するカスタムルールを作成します。
作成したカスタムルールの動作を確認
カスタムルールでブロック設定したIPアドレスからアクセスし、カスタムルールが正しく動作することを確認します。
| カスタムルールの動作を確認 | |
| カスタムルールでアクセス拒否設定したIPアドレスからアクセスした場合、HTTPステータスコード403が返されます。 | ![]() |
※WAFポリシーが検出モードに設定されている場合は、カスタムルールでトラフィックを拒否すると設定した場合でもトラフィックは許可されます。
カスタムルールの作成手順については、こちらの記事でも紹介しています。
WAFポリシーで作成したカスタムルールのログをLog Analyticsで確認
Application Gatewayの診断設定を使用して、WAFのログをLog Analyticsワークスペースへ転送できます。
Application Gatewayの診断設定のログカテゴリにあるApplication Gateway Firewall Logが、WAFのログに該当します。
Application Gatewayのログ設定から確認までの手順については、こちらで紹介しています。
| WAF ログを確認 |
|
設定したカスタムルールに基づきトラフィックがブロックされたことが確認できます。 |
—広告—
最後に
今回は、Application GatewayでWAFを利用するための手順について確認しました。
WAFポリシーではマネージドルールだけでなく、カスタムルールを作成して適用できることを確認しました。
また、WAFポリシーはApplication Gateway全体だけでなく、リスナー単位などで個別に関連付けできるため、ホスト単位などでアクセスを細かく制御できます。
引き続き、さまざまな機能を試していきたいと思います。
Application Gatewayのカスタムエラーページ設定手順については、こちらで紹介しています。



























