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

Azure Policy と組み合わせた Azure Web アプリケーション ファイアウォール (WAF) は、組織の標準を適用し、WAF リソースの大規模なコンプライアンスを評価するのに役立ちます。 Azure Policy は、環境の全体的な状態を評価するための集計ビューを提供するガバナンス ツールであり、リソースごと、およびポリシーごとの細分性でドリルダウンできる機能が備わっています。 Azure Policy は、既存のリソースの一括修復と新しいリソースの自動修復を使用して、お客様のリソースでコンプライアンスを実現するのにも役立ちます。

Web アプリケーション ファイアウォール用の Azure Policy

WAF リソースを管理するための組み込みの Azure Policy 定義がいくつかあります。 ポリシー定義とその機能の内訳は、次のとおりです。

Web Application Firewall (WAF) の有効化

  • Azure Front Door エントリポイントに対して Azure Web Application Firewall を有効にする必要がある: Azure Front Door サービスは、WAF が存在するかどうかについて評価されます。 このポリシー定義には、3 つの効果 (Audit、Deny、Disabled) があります。 Audit は、Azure Front Door サービスに WAF がない場合に追跡を行い、Azure Front Door サービスが準拠していないものをユーザーが確認できるようにします。 Deny は、WAF がアタッチされていない場合に、Azure Front Door サービスが作成されることを防ぎます。 Disabled の場合、ポリシーの割り当てが無効になります。

  • Application Gateway に対して Web Application Firewall (WAF) を有効にする必要がある: Application Gateway は、リソースの作成時に WAF が存在するかどうかについて評価されます。 このポリシー定義には、3 つの効果 (Audit、Deny、Disabled) があります。 Audit は、Application Gateway に WAF がない場合に追跡を行い、Application Gateway が準拠していないものをユーザーが確認できるようにします。 Deny は、WAF がアタッチされていない場合に、Application Gateway が作成されることを防ぎます。 Disabled の場合、ポリシーの割り当てが無効になります。

強制検出または防止モード

  • Web アプリケーション ファイアウォール (WAF) で Azure Front Door Service の指定されたモードを使用する必要がある:Azure Front Door Service のすべての Web アプリケーション ファイアウォール ポリシーで、[検出] または [防止] モードの使用をアクティブにするように要求します。 このポリシー定義には、3 つの効果 (Audit、Deny、Disabled) があります。 Audit は、WAF が指定されたモードに合わない場合に追跡を行います。 Deny は、WAF が正しいモードになっていない場合に、作成されることを防ぎます。 Disabled の場合、ポリシーの割り当てが無効になります。

  • Web アプリケーション ファイアウォール (WAF) で Application Gateway の指定されたモードを使用する必要がある:Application Gateway のすべての Web アプリケーション ファイアウォール ポリシーで、[検出] または [防止] モードの使用をアクティブにするように要求します。 このポリシー定義には、3 つの効果 (Audit、Deny、Disabled) があります。 Audit は、WAF が指定されたモードに合わない場合に追跡を行います。 Deny は、WAF が正しいモードになっていない場合に、作成されることを防ぎます。 Disabled の場合、ポリシーの割り当てが無効になります。

要求検査が必要

  • Azure Front Door 上の Azure Web Application Firewall では、要求本文検査が有効になっている必要がある: Azure Front Door に関連付けられている Azure Web Application Firewall で要求本文検査が有効になっていることを確認します。 この機能により、WAF は HTTP ヘッダー、Cookie、または URI で評価されない可能性のある HTTP 本文内のプロパティを検査できます。

  • Azure Application Gateway 上の Azure Web Application Firewall では、要求本文検査が有効になっている必要がある: Azure Application Gateway に関連付けられている Azure Web Application Firewall で要求本文検査が有効になっていることを確認します。 この機能により、WAF は HTTP ヘッダー、Cookie、または URI で評価されない可能性のある HTTP 本文内のプロパティを検査できます。

リソース ログが必要

  • Azure Front Door ではリソース ログが有効になっている必要がある: Azure Front Door クラシック サービス (WAF を含む) ではリソース ログとメトリックの有効化を義務付けます。 このポリシー定義には、AuditIfNotExists と Disable の 2 つの効果があります。 AuditIfNotExists は、Front Door サービスでリソース ログとメトリックが有効になっていない場合に追跡を行い、サービスが準拠していないことをユーザーに通知します。 Disabled の場合、ポリシーの割り当てが無効になります。

  • Azure Front Door Standard または Premium (Plus WAF) では、リソース ログが有効になっている必要がある: Azure Front Door Standard および Premium サービス (WAF を含む) でリソース ログとメトリックの有効化を義務付けます。 このポリシー定義には、AuditIfNotExists と Disable の 2 つの効果があります。 AuditIfNotExists は、Front Door サービスでリソース ログとメトリックが有効になっていない場合に追跡を行い、サービスが準拠していないことをユーザーに通知します。 Disabled の場合、ポリシーの割り当てが無効になります。

  • Azure Application Gateway でリソース ログを有効にする必要がある: すべての Application Gateway (WAF を含む) でリソース ログとメトリックを有効にする必要があります。 このポリシー定義には、AuditIfNotExists と Disable の 2 つの効果があります。 AuditIfNotExists は、Application Gateway でリソース ログとメトリックが有効になっていない場合に追跡を行い、Application Gateway が準拠していないことをユーザーに通知します。 Disabled の場合、ポリシーの割り当てが無効になります。

  • Azure Front Door プロファイルは、マネージド WAF ルールとプライベート リンクをサポートする Premium レベルを使用する必要がある: すべての Azure Front Door プロファイルが Standard レベルではなく Premium レベルにあることを義務付けます。 Azure Front Door Premium はセキュリティ用に最適化されており、ボット保護などの最新の WAF ルールセットと機能にアクセスできます。

  • レート制限ルールを有効にして、Azure Front Door WAF に対する DDoS 攻撃から保護する: レート制限は、DDoS 攻撃からアプリケーションを保護するのに役立つ可能性があります。 Azure Front Door 用の Azure Web Application Firewall (WAF) のレート制限ルールは、レート制限期間の特定のクライアント IP アドレスからアプリケーションへの許可される要求数を制御することで、DDoS に対する防御に役立ちます。

  • Application Gateway で WAF 構成から WAF ポリシーに WAF を移行する: WAF ポリシーの代わりに WAF 構成がある場合、新しい WAF ポリシーに移動したい場合があります。 Web Application Firewall (WAF) ポリシーは、WAF 構成よりも高度な機能セットを提供し、より高いスケールとパフォーマンスを提供します。そして、従来の WAF 構成とは異なり、WAF ポリシーは一度定義すると、複数のゲートウェイ、リスナー、URL パス間で共有できます。 さらに、最新の機能と今後の機能強化は、WAF ポリシーを介してのみ利用できます。

Azure ポリシーを作成する

  1. Azure のホーム ページで、検索バーに「Policy」と入力し、[Azure Policy] アイコンを選択します。

  2. Azure Policy サービスの [作成][割り当て] を選択します。

Azure Policy 内の [割り当て] タブのスクリーンショット。

  1. [割り当て] ページで、上部にある [ポリシーの割り当て] アイコンを選択します。

[ポリシーの割り当て] ページの [Basic] タブのスクリーンショット。

  1. [ポリシーの割り当て] ページの [基本] タブで、次のフィールドを更新します。
    1. スコープ: ポリシーが適用される Azure サブスクリプションとリソース グループを選択します。
    2. 除外:ポリシーの割り当てから除外するリソースをスコープから選択します。
    3. ポリシーの定義:除外対象のスコープに適用するポリシー定義を選択します。 検索バーに「Web アプリケーション ファイアウォール」と入力して、関連する Web アプリケーション ファイアウォール Azure Policy を選択します。

[使用可能な定義] ページの [ポリシー定義] タブのスクリーンショット。

  1. [パラメーター] タブを選択し、ポリシーの割り当てのパラメーターを更新します。 パラメーター名の横にある情報アイコンをポイントすると、パラメーターの機能がさらに明確になります。

  2. [確認と作成] を選択して、ポリシーの割り当てを完了させます。 ポリシーの割り当てが新しいリソースに対してアクティブになるまで、約 15 分かかります。