重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
カスタム ドメインを使用して Azure Active Directory B2C (Azure AD B2C) テナントの Azure Web アプリケーション ファイアウォール (WAF) サービスを有効にする方法について説明します。 WAF は、クロスサイト スクリプティング、DDoS 攻撃、悪意のあるボット アクティビティなどの一般的な悪用や脆弱性から Web アプリケーションを保護します。
[前提条件]
開始するには、次のものが必要です。
- Azure サブスクリプション
- お持ちでない場合は、Azure 無料アカウントを取得してください。
-
Azure AD B2C テナント – テナント で定義されたカスタム ポリシーを使用してユーザー資格情報を検証する承認サーバー
- ID プロバイダー (IdP) とも呼ばれます。
- 「チュートリアル: Azure Active Directory B2C テナントを作成する」を参照してください
- Azure Front Door Premium – Azure AD B2C テナントのカスタム ドメインを有効にし、WAF マネージド ルールセットへのアクセスを使用してセキュリティを最適化します
-
WAF – 承認サーバーに送信されるトラフィックを管理します
- Azure Web アプリケーション ファイアウォール (Premium SKU が必要)
Azure AD B2C のカスタム ドメイン
Azure AD B2C でカスタム ドメインを使用するには、Azure Front Door のカスタム ドメイン機能を使用します。 「Azure AD B2C のカスタム ドメインを有効にする」を参照してください。
重要
カスタム ドメインを構成したら、「カスタム ドメインをテストする」を参照してください。
WAF を有効にする
WAF を有効にするには、WAF ポリシーを構成し、保護のために Azure Front Door Premium に関連付けます。 Azure Front Door Premium はセキュリティ用に最適化されており、クロスサイト スクリプティングや Java の悪用など、一般的な脆弱性や悪用から保護する Azure によって管理されるルールセットにアクセスできます。 WAF には、悪意のあるボット アクティビティからユーザーを保護するのに役立つルールセットが用意されています。 WAF では、アプリケーションのレイヤー 7 DDoS 保護が提供されます。
WAF ポリシーを作成する
Azure で管理される既定の規則セット (DRS) を使用して WAF ポリシーを作成します。 Web アプリケーション ファイアウォールの DRS 規則グループと規則を参照してください。
- Azure portal にサインインします。
- [リソースの作成] を選択します。
- Azure WAF を検索します。
- Microsoft から Azure Service Web Application Firewall (WAF) を選択します。
- を選択してを作成します。
- [WAF ポリシーの作成] ページに移動します。
- [基本] タブを選択します。
- [次に関するポリシー] で、[グローバル WAF (Front Door)] を選択します。
- Front Door SKU の場合は、Premium SKU を選択します。
- [サブスクリプション] で、Front Door のサブスクリプション名を選択します。
- リソース グループので、Front Door リソース グループ名を選択します。
- ポリシー名には、WAF ポリシーの一意の名前を入力します。
- [ポリシーの状態] で、[有効] を選択します。
- ポリシーモードを選択し、検出を選びます。
- [WAF ポリシーの作成] ページの [ 関連付け ] タブに移動します。
- [+ Front Door プロファイルの関連付け] を選択します。
- Front Door の場合は、Azure AD B2C カスタム ドメインに関連付けられている Front Door 名を選択します。
- ドメインの場合は、WAF ポリシーを関連付ける Azure AD B2C カスタム ドメインを選択します。
- [] を選択し、[] を追加します。
- [Review + create](レビュー + 作成) を選択します。
- を選択してを作成します。
既定のルールセット
Azure Front Door 用の新しい WAF ポリシーを作成すると、最新バージョンの Azure で管理される既定のルールセット (DRS) を使用して自動的にデプロイされます。 このルールセットは、一般的な脆弱性や悪用から Web アプリケーションを保護します。 Azure で管理される規則セットでは、一般的なセキュリティ脅威のセットに対する保護をデプロイする簡単な方法が提供されます。 Azure がこれらのルール セットを管理するので、ルールは、新しい攻撃シグネチャから保護するために必要に応じて更新されます。 DRS には、Microsoft Intelligence チームと協力して作成された Microsoft 脅威インテリジェンス コレクションルールが含まれており、カバレッジの拡大、特定の脆弱性の修正プログラム、および誤検知の削減の向上を実現します。
詳細情報: Azure Web アプリケーション ファイアウォールの DRS 規則グループと規則
Bot Manager ルールセット
既定では、Azure Front Door WAF は最新バージョンの Azure マネージド Bot Manager ルールセットを使用してデプロイされます。 このルールセットは、ボットトラフィックを良いボット、悪いボット、不明なボットに分類します。 このルールセットの背後にあるボット署名は、WAF プラットフォームによって管理され、動的に更新されます。
詳細情報: Azure Front Door の Azure Web アプリケーション ファイアウォールとは
レート制限
レート制限を使用すると、ソケット IP アドレスから異常に高いレベルのトラフィックを検出してブロックできます。 Azure Front Door で Azure WAF を使用することで、一部の種類のサービス拒否攻撃を軽減できます。 レート制限は、短期間に大量の要求を送信するように誤って構成されたクライアントから保護します。 レート制限は、カスタム規則を使用して WAF で手動で構成する必要があります。
詳細情報:
検出モードと防止モード
WAF ポリシーを作成すると、ポリシーは 検出モードで開始されます。 トラフィックの WAF を調整するときは、WAF ポリシーを 検出モード のままにしておくことをお勧めします。 このモードでは、WAF は要求をブロックしません。 代わりに、WAF ルールに一致する要求は、ログ記録が有効になると WAF によってログに記録されます。
ログ記録を有効にする: Azure Web Application Firewall の監視とログ記録
ログ記録が有効になり、WAF が要求トラフィックの受信を開始したら、ログを調べることで WAF のチューニングを開始できます。
詳細情報: Azure Front Door 用の Azure Web アプリケーション ファイアウォールを調整する
次のクエリは、過去 24 時間以内に WAF ポリシーによってブロックされた要求を示しています。 詳細には、ルール名、要求データ、ポリシーによって実行されたアクション、ポリシー モードが含まれます。
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
ルールID | 詳細メッセージ | アクション | モード | 詳細データ |
---|---|---|---|---|
DefaultRuleSet-1.0-SQLI-942430 | 制限付き SQL 文字の異常検出 (引数): 特殊文字の数を超えました (12) | ブロック | 検出 | 一致したデータ: CfDJ8KQ8bY6D |
WAF ログを確認して、ポリシー ルールが誤検知を引き起こすかどうかを判断します。 次に、WAF ログに基づいて WAF 規則を除外します。
詳細情報
ログ記録が設定され、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
切り替えモード
要求トラフィックに対して WAF がアクションを実行することを確認するには、[概要] ページで [ 防止モードに切り替える ] を選択します。この場合、モードが検出から防止に変更されます。 DRS のルールに一致する要求はブロックされ、WAF ログに記録されます。 WAF は、要求が DRS 内の 1 つ以上のルールに一致すると、所定のアクションを実行し、結果をログに記録します。 既定では、DRS は異常スコアリング モードに設定されます。これは、異常スコアのしきい値が満たされない限り、WAF は要求に対して何もアクションを実行しないことを意味します。
詳細情報: 異常スコアリング (「Web Application Firewall の DRS ルール グループとルール」)
検出モードに戻すには、[概要] ページから [検出モードに切り替える] を選択します。
次のステップ
- Azure Front Door での Azure Web アプリケーション ファイアウォールのベスト プラクティス
- Web アプリケーション ファイアウォール ポリシーの管理
- Azure Front Door の Azure Web アプリケーション ファイアウォールを調整する