Web アプリケーション ファイアウォールのボット保護を構成する

Front Door 用の Azure Web Application Firewall (WAF) には、適切なボットを識別し、悪いボットから保護するためのボット規則が用意されています。 ボット保護規則セットの詳細については、「ボット保護規則セット」を参照してください。

このアーティクルでは、Azure Front Door の Premium の各レベルでボット保護規則を有効にする方法について説明します。

前提条件

Azure portal を使用して Azure Front Door 用の WAF ポリシーを作成する」に記載されている手順に従って、Front Door 用の基本 WAF ポリシーを作成します。

ボット保護規則セットを有効にする

  1. Azure portal で、お使いの WAF ポリシーに移動します。

  2. [マネージド ルール] を選択し、[割り当て] を選択します。

    WAF ポリシーのマネージド ルールの構成を示す Azure portal のスクリーンショット。[割り当て] ボタンが強調表示されています。

  3. [追加の規則セット] ドロップダウン リストで、使用するボット保護規則セットのバージョンを選択します。 通常は、最新バージョンの規則セットを使用することをお勧めします。

    マネージド ルールの割り当てページを示す Azure portal のスクリーンショット。[追加の規則セット] ドロップダウン フィールドが強調表示されています。

  4. [保存] を選択します。

WAF ポリシーの現在の構成を取得する

WAF ポリシーの現在の構成を取得するには、Get-AzFrontDoorWafPolicy コマンドレットを使用します。 ご使用の環境の正しいリソース グループ名と WAF ポリシー名を使用していることを確認します。

$frontDoorWafPolicy = Get-AzFrontDoorWafPolicy `
  -ResourceGroupName 'FrontDoorWafPolicy' `
  -Name 'WafPolicy'

ボット保護ルール セットの追加

New-AzFrontDoorWafManagedRuleObject コマンドレットを使用して、規則セットのバージョンを含むボット保護規則セットを選択します。 次に、WAF の構成に規則セットを追加します。

次の例では、ボット保護規則セットのバージョン 1.0 を WAF の構成に追加しています。

$botProtectionRuleSet = New-AzFrontDoorWafManagedRuleObject `
  -Type 'Microsoft_BotManagerRuleSet' `
  -Version '1.0'

$frontDoorWafPolicy.ManagedRules.Add($botProtectionRuleSet)

構成を適用する

上記で作成した構成を含むように WAF ポリシーを更新するには、Update-AzFrontDoorWafPolicy コマンドレットを使用します。

$frontDoorWafPolicy | Update-AzFrontDoorWafPolicy

ボット保護規則セットを有効にする

WAF ポリシーを更新し、ボット保護規則セットを追加するには、az network front-door waf-policy managed-rules add コマンドを使用します。

次の例では、ボット保護規則セットのバージョン 1.0 を WAF に追加しています。 ご使用の環境の正しいリソース グループ名と WAF ポリシー名を使用していることを確認します。

az network front-door waf-policy managed-rules add \
  --resource-group FrontDoorWafPolicy \
  --policy-name WafPolicy \
  --type Microsoft_BotManagerRuleSet \
  --version 1.0

次の Bicep ファイルの例は、次の手順を実行する方法を示しています。

  • Front Door WAF ポリシーを作成します。
  • ボット保護規則セットのバージョン 1.0 を有効にします。
param wafPolicyName string = 'WafPolicy'

@description('The mode that the WAF should be deployed using. In "Prevention" mode, the WAF will block requests it detects as malicious. In "Detection" mode, the WAF will not block requests and will simply log the request.')
@allowed([
  'Detection'
  'Prevention'
])
param wafMode string = 'Prevention'

resource wafPolicy 'Microsoft.Network/frontDoorWebApplicationFirewallPolicies@2022-05-01' = {
  name: wafPolicyName
  location: 'Global'
  sku: {
    name: 'Premium_AzureFrontDoor'
  }
  properties: {
    policySettings: {
      enabledState: 'Enabled'
      mode: wafMode
    }
    managedRules: {
      managedRuleSets: [
        {
          ruleSetType: 'Microsoft_BotManagerRuleSet'
          ruleSetVersion: '1.0'
        }
      ]
    }
  }
}

次のステップ