次の方法で共有


Azure Web アプリケーション ファイアウォールを使用して Microsoft Entra 外部 ID を構成する

この記事では、Microsoft Entra 外部 ID テナントの Azure Web Application Firewall (WAF) サービスを有効にする方法について説明します。 Azure WAF は、クロスサイト スクリプティング、分散型サービス拒否 (DDoS) 攻撃、悪意のあるボット アクティビティなどの一般的な悪用や脆弱性から Web アプリケーションを保護します。

前提 条件

  • Azure サブスクリプション。 お持ちでない場合 、Azure アカウント を無料で入手できます。
  • Microsoft Entra 外部 ID テナント。 テナント内のユーザー フロー (ID プロバイダー (IdP) とも呼ばれます) でユーザー資格情報を検証する承認サーバー。 外部テナントを作成する方法を参照。
  • Azure Front Door Premium。 Azure Front Door では、セキュリティの最適化と WAF マネージド ルール セットへのアクセスを使用して、Microsoft Entra 外部 ID テナントのカスタム ドメインを有効にします。
  • Azure Web Application Firewall (Premium SKU が必要). Azure WAF は、承認サーバーが受信するトラフィックを管理します。
  • カスタムドメイン。 Azure Front Door のカスタム ドメイン機能と共に使用します。 外部テナントでアプリのカスタム URL ドメインを有効にする 方法について説明します。

重要

カスタム ドメインを構成したら、使用する前にカスタム ドメインのテストを行います。

Azure Web アプリケーション ファイアウォールを有効にする

WAF で保護を有効にするには、WAF ポリシーを構成し、それを Azure Front Door Premium に関連付けます。 Microsoft では、セキュリティのために Azure Front Door Premium を最適化し、クロスサイト スクリプティングや Java の悪用などの一般的な脆弱性から保護するために WAF によって提供されるルール セットを管理します。 さらに、Azure WAF には、悪意のあるボット アクティビティから保護し、アプリケーションにレイヤー 7 の DDoS 保護を提供するルール セットが用意されています。

Azure Web アプリケーション ファイアウォール ポリシーを作成する

WAF ポリシーを作成するには、次の手順に従います。

  1. Azure portalにサインインします。
  2. [Azure サービス] で、[リソースの作成] を選択します。
  3. 検索バーに「Azure WAF入力し、Microsoftから Azure Service Web Application Firewall (WAF) 選択します。
  4. [作成]を選択します。
  5. [WAF ポリシーの作成] に移動します。
  6. [基本] を選択します。
    • [次に関するポリシー] で、[グローバル WAF (Front Door)] を選択します。
    • [Front Door SKU] で、[Premium] SKU を選択します。
    • [サブスクリプション] で、Front Door のサブスクリプション名を選択します。
    • リソース グループので、Front Door リソース グループ名を選択します。
    • ポリシー名には、WAF ポリシーの一意の名前を入力します。
    • [ポリシーの状態] で、[有効] を選択します。
    • ポリシーモードを選択し、検出を選びます。
  7. [WAF ポリシーの作成]>[関連付け] の順に移動します。
  8. [+ Front Door プロファイルの関連付け] を選択します。
  9. Front Door: Microsoft Entra 外部 ID カスタム ドメインに関連付けた Front Door 名を選択します。
  10. ドメイン: WAF ポリシーを関連付ける Microsoft Entra 外部 ID カスタム ドメインを選択します。
  11. [を選択しを追加] します。
  12. [確認と作成] を選択します。
  13. [作成]を選択します。

既定の規則セットを構成する

新しい WAF ポリシーを作成すると、Azure Front Door は、Azure で管理される既定の規則セット (DRS) の最新バージョンを使用して自動的にデプロイします。 このルール セットは、Web アプリケーションを一般的な脆弱性や悪用から保護します。 Azure で管理される規則セットは、一般的なセキュリティの脅威から保護します。 Azure は、新しい攻撃シグネチャから保護するために、必要に応じてこれらの規則セットを管理および更新します。 DRS には、対象範囲の拡大、特定の脆弱性の修正プログラム、偽陽性の削減を実現する Microsoft Threat Intelligence Collection ルール が含まれています。

ボット マネージャールールセットを構成する

既定では、Azure Front Door WAF は、最新バージョンの Azure マネージド ボット マネージャー 規則セットデプロイされます。 このルールセットは、ボットトラフィックを良いボット、悪いボット、不明なボットに分類します。 WAF プラットフォームは、このルール セットの背後にあるボット署名を管理し、動的に更新します。

レート制限の構成

Azure Front Door の レート制限を使用すると、ソケット IP アドレスからの異常に高いトラフィックを検出してブロックできます。 Azure Front Door で Azure WAF を使用して、一部の種類のサービス拒否攻撃を軽減します。 レート制限により、クライアントが誤って構成され、短時間で大量の要求が送信されるのを防げます。 WAFでレート制限 を手動で構成するには、カスタム規則を使用する必要があります。

検出モードと防止モードを構成する

WAF ポリシーを作成すると、Azure は 検出モードでポリシーを開始します。 トラフィックの WAF を調整する際は、WAF ポリシーを 検出モード のままにします。 検出モードでは、WAF は要求をブロックしません。 代わりに、ログを有効にした後、WAF により、WAF ルールと一致する要求がログされます。

ログを有効にし、WAF が要求トラフィックを受信したら、ログを調べて、WAF を調整します。

次のクエリは、WAF ポリシーの例が過去 24 時間以内にブロックした要求を示しています。 詳細には、ルール名、要求データ、ポリシーが実行したアクション、ポリシー モードが含まれます。

AzureDiagnostics
| where TimeGenerated >= ago(24h)
| where Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
| project RuleID=ruleName_s, DetailMsg=details_msg_s, Action=action_s, Mode=policyMode_s, DetailData=details_data_s
RuleID 詳細メッセージ アクション モード 詳細データ
DefaultRuleSet-1.0-SQLI-942430 制限付き SQL 文字の異常検出 (引数): 特殊文字の数を超えました (12) ブロック 検出 一致したデータ: CfDJ8KQ8bY6D

WAF ログを確認して、WAF の規則によって誤検知が発生したかどうかを判断します。 次に、除外を使用して、WAF の誤検知を軽減します。 Web アプリケーション ファイアウォールの除外リストを構成します。 Azure Front Door の除外リストを使用して Web アプリケーション ファイアウォールを構成します。

ログ記録を設定し、WAF がトラフィックを受信したら、ボット のトラフィックを処理する際のボット マネージャー ルールの有効性を評価できます。 次のクエリは、ボット マネージャー ルール セットの例で実行されたアクションをボットの種類別に分類して示しています。 検出モードでは、WAF はボットトラフィックアクションのみをログに記録します。 防止モードに切り替えると、WAF は不要なボット トラフィックをアクティブにブロックし始めます。

AzureDiagnostics
| where Category == "FrontDoorWebApplicationFirewallLog"
| where action_s in ("Log", "Allow", "Block", "JSChallenge", "Redirect") and ruleName_s contains "BotManager"
| extend RuleGroup = extract("Microsoft_BotManagerRuleSet-[\\d\\.]+-(.*?)-Bot\\d+", 1, ruleName_s)
| extend RuleGroupAction = strcat(RuleGroup, " - ", action_s)
| summarize Hits = count() by RuleGroupAction, bin(TimeGenerated, 30m)
| project TimeGenerated, RuleGroupAction, Hits
| render columnchart kind=stacked

検出モードから防止モードに切り替える

要求されたトラフィックのアクティビティを監視するには、Azure portal の WAF ポリシーの [の概要] ページから [防止モードに切り替える] を選択します。 この選択により、モードが 検出モード から 防止モードに変更されます。 WAF は、WAF ポリシーの規則に一致する要求をブロックし、WAF ログに記録します。 WAF は、要求が 1 つ以上のルールと一致し、結果をログに記録するときに、所定のアクションを実行します。 既定では、DRS は異常スコアリング モードに設定されます。WAF は、異常スコアのしきい値を満たしていない限り、要求に対してアクションを実行しません。

検出モードに戻すには、[概要] ページから [検出モードに切り替える] を選択します。