Konfigurowanie ochrony bota dla Web Application Firewall

Usługa Azure Web Application Firewall (WAF) dla usługi Front Door udostępnia reguły botów umożliwiające identyfikowanie dobrych botów i ochronę przed złymi botami. Aby uzyskać więcej informacji na temat zestawu reguł ochrony botów, zobacz Zestaw reguł ochrony botów.

W tym artykule pokazano, jak włączyć reguły ochrony botów w warstwie Premium usługi Azure Front Door.

Wymagania wstępne

Utwórz podstawowe zasady zapory aplikacji internetowej dla usługi Front Door, postępując zgodnie z instrukcjami opisanymi w temacie Tworzenie zasad zapory aplikacji internetowej dla usługi Azure Front Door przy użyciu Azure Portal.

Włączanie zestawu reguł ochrony bota

  1. W Azure Portal przejdź do zasad zapory aplikacji internetowej.

  2. Wybierz pozycję Reguły zarządzane, a następnie wybierz pozycję Przypisz.

    Zrzut ekranu przedstawiający Azure Portal przedstawiający konfigurację reguł zarządzanych przez zasady zapory aplikacji internetowej i wyróżniony przycisk Przypisz.

  3. Z listy rozwijanej Dodatkowy zestaw reguł wybierz wersję zestawu reguł ochrony bota, którego chcesz użyć. Zazwyczaj dobrym rozwiązaniem jest użycie najnowszej wersji zestawu reguł.

    Zrzut ekranu przedstawiający Azure Portal stronę przypisywania reguł zarządzanych z wyróżnionym polem rozwijanym

  4. Wybierz pozycję Zapisz.

Pobieranie bieżącej konfiguracji zasad zapory aplikacji internetowej

Użyj polecenia cmdlet Get-AzFrontDoorWafPolicy , aby pobrać bieżącą konfigurację zasad zapory aplikacji internetowej. Upewnij się, że używasz poprawnej nazwy grupy zasobów i nazwy zasad zapory aplikacji internetowej dla własnego środowiska.

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

Dodawanie zestawu reguł ochrony bota

Użyj polecenia cmdlet New-AzFrontDoorWafManagedRuleObject , aby wybrać zestaw reguł ochrony bota, w tym wersję zestawu reguł. Następnie dodaj regułę ustawioną do konfiguracji zapory aplikacji internetowej.

W poniższym przykładzie dodano wersję 1.0 reguły ochrony bota ustawioną na konfigurację zapory aplikacji internetowej.

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

$frontDoorWafPolicy.ManagedRules.Add($botProtectionRuleSet)

Stosowanie konfiguracji

Użyj polecenia cmdlet Update-AzFrontDoorWafPolicy , aby zaktualizować zasady zapory aplikacji internetowej, aby uwzględnić utworzoną powyżej konfigurację.

$frontDoorWafPolicy | Update-AzFrontDoorWafPolicy

Włączanie zestawu reguł ochrony bota

Użyj polecenia az network front-door waf-policy managed-rules add , aby zaktualizować zasady zapory aplikacji internetowej w celu dodania zestawu reguł ochrony bota.

Poniższy przykład dodaje wersję 1.0 reguły ochrony bota ustawioną na zaporę aplikacji internetowej. Upewnij się, że używasz poprawnej nazwy grupy zasobów i nazwy zasad zapory aplikacji internetowej dla własnego środowiska.

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

Poniższy przykładowy plik Bicep pokazuje, jak wykonać następujące kroki:

  • Utwórz zasady zapory aplikacji internetowej usługi Front Door.
  • Włącz wersję 1.0 zestawu reguł ochrony bota.
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'
        }
      ]
    }
  }
}

Następne kroki