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