Azure Application GatewayでWAFを有効化、ポリシー設定、カスタムルール作成、ログ確認する手順

Application Gateway,Azure,Web Application Firewall

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)とは

Azure Web アプリケーション ファイアウォールとは

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 の価格

※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のリソース、リスナー、またはルートパス単位で設定できます。

WAFポリシーのリソース作成手順
Web Application Firewallポリシーで作成を選択します。

WAFポリシーでリージョンのWAF(Application Gateway)を選択します。
Application Gatewayのリソースと同じリージョンを選択します。

管理されているルールの設定画面が表示されます。
管理されているルールセットでOWASPのバージョンを選択します。

ポリシー設定の画面が表示されます。
グローバルパラメータを設定します。

カスタムルールの画面が表示されます。
カスタムルールを追加できます。

※今回は、ここでは設定せずに、そのまま先に進みます。

関連付けの画面が表示されます。
関連付けするApplication Gateway、リスナー、ルートパスを選択します。

※今回は、ここでは設定せずに、そのまま先に進みます。

確認画面が表示されます。
作成を選択します。

Application GatewayにWAFポリシーを割り当てる手順

WAFポリシーをApplication Gatewayへ割り当てる場合は、Application Gateway WAFポリシーで設定します。
今回はリスナーに関連付けしています。

※割り当てできるのは、WAFが有効化されているApplication Gatewayのみです。

WAFポリシーを割り当て
関連付けられたアプリケーションゲートウェイのメニューを選択します。
関連付けの追加を選択します。
HTTPリスナーを選択します。
WAFポリシーを関連付けるApplication Gatewayとリスナーを選択します。
保存を選択します。
これで割り当ては完了です。

WAFポリシーの防止モード、検出モードの切り替え手順

WAFポリシーでは、防止モードと検出モードの切り替えが可能です。

防止モード、検出モードを切り替え
防止モードに切り替えるを選択します。
ポリシーモードが防止に変更されます。

マネージドルールセットの割り当て手順

ルールセットの割り当てを使用して、マネージドルールセットを追加で割り当てることができます。
今回はボットマネージドルールを割り当てています。

マネージドルールセットを割り当て

管理されているルールのメニューで割り当てを選択します。
マネージドルールセットの割り当て画面が表示されます。Microsoft_BotManagerRuleSet_0.1を選択して保存します。
マネージドルールセットが追加されます。

マネージドルールセットのルールを個別に無効化

マネージドルールセット内の各ルールは、個別に無効化することができます。
アプリケーションの要件などに応じて、特定のルールを無効化する際に使用します。

マネージドルールセットのルールを個別に無効化
アクションを変更したいルールを選択します。
無効化を選択します。
状態がDisabledになっていることを確認できます。

WAFポリシーでカスタムルールを作成し、適用する手順

WAFポリシーでカスタムルールを作成する手順

今回は、特定のIPからのアクセスを拒否するカスタムルールを作成します。
処理は以下の3つのパターンがあります。

    • トラフィックを許可する
      • ルールに該当するトラフィックを許可
    • トラフィックを拒否する
      • ルールに該当するトラフィックをブロック
    • トラフィックのみをログに記録する
      • ログに記録はするがトラフィックは許可
カスタムルールの作成

カスタムルールのメニューから設定します。
カスタムルールの追加を選択します。

ルールの設定画面が表示されます。
カスタムルール名と優先度を入力します。
条件でIPアドレスと"含まれる"を選択し、ブロックしたいIPアドレスを入力します。

処理でトラフィックを拒否するを選択します。
保存を選択すると、カスタムルールが新規作成されます。

作成したカスタムルールの動作を確認

カスタムルールでブロック設定した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のカスタムエラーページ設定手順については、こちらで紹介しています。

 

スポンサーリンク