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

Application Gateway,Azure,Web Application Firewall

アプリケーションゲートウェイ(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)とは

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

WAFを使用すると、SQLインジェクションやクロスサイトスクリプティングなどの一般的なWebハッキング手法やセキュリティ脆弱性からWebアプリケーションを保護できます。
標準でOWASPおよびBotのルールが用意されており、適用するだけですぐに使用を開始できます。
WAFは、ルールにマッチしたトラフィックを検知もしくはブロックします。

WAFは、アプリケーションゲートウェイやAzure Front Doorと併せて利用することができます。
Web Application Firewallポリシーも利用可能です。

※WAFはApplication Gateway Basicでは利用できません。

価格

WAFの利用には、アプリケーションゲートウェイの利用とは別に課金が発生します。
デプロイ時間に応じた課金が発生します。

Application Gateway の価格

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ポリシー作成
Web Application Firewall ポリシーで作成を選択します。

WAFポリシーでリージョンのWAF(Application Gateway)を選択します。
アプリケーションゲートウェイのリソースと同じ場所を選択します。

管理されているルールのタブです。
管理されているルールセットで、OWASPのバージョンを選択します。

ポリシー設定のタブです。
グローバルパラメータの設定します。

カスタムルールのタブです。
カスタムルールを追加します。

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

関連付けのタブです。
関連付けする、Application Gateway、リスナー、ルートパスを選択します。

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

確認画面で作成を選択します。

WAFポリシーをアプリケーションゲートウェイに割り当て

WAFポリシーをアプリケーションゲートウェイへ割り当する場合、Application Gateway WAF ポリシーで設定します。
今回はリスナーに関連付けしています。

※割り当てできるのは、WAFが有効化されているアプリケーションゲートウェイのみです。

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

防止モード、検出モードの切り替え

WAFポリシーでも、防止モード、検出モードの切り替えができます。

防止モード、検出モードを切り替え
防止モードに切り替えるを選択します。
ポリシーモードが防止に変わっています。

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

ルールセットの割り当てを使って、ボットルールセットを追加で割り当てできます。

ボットルールセットを割り当て

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

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

マネージドルールセットのルールは、個別に無効化できます。
アプリケーションの都合などで、個別にルールを許可する場合などに使用します。

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

Web Application Firewall (WAF)ポリシーでカスタムルールを作成、適用

WAFポリシーでカスタムルールを作成

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

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

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

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

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

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

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

スポンサーリンク