Udostępnij za pośrednictwem


Konfigurowanie zasad zapory aplikacji internetowej przy użyciu Azure PowerShell

Zasady zapory aplikacji internetowej definiują inspekcje wymagane po nadejściu żądania do usługi Azure Front Door.

W tym artykule pokazano, jak skonfigurować zasady zapory aplikacji internetowej, które składają się z niektórych reguł niestandardowych i ma włączony domyślny zestaw reguł zarządzany przez platformę Azure.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Przed rozpoczęciem konfigurowania zasad limitu szybkości skonfiguruj środowisko programu PowerShell i utwórz profil usługi Azure Front Door.

Konfigurowanie środowiska programu PowerShell

Program Azure PowerShell udostępnia zestaw poleceń cmdlet, które pozwalają zarządzać zasobami platformy Azure przy użyciu modelu usługi Azure Resource Manager.

Możesz zainstalować program Azure PowerShell w maszynie lokalnej i używać go w dowolnej sesji programu PowerShell. Postępuj zgodnie z instrukcjami na stronie, aby zalogować się przy użyciu poświadczeń platformy Azure. Następnie zainstaluj moduł Az programu PowerShell.

Logowanie do platformy Azure

Connect-AzAccount

Przed zainstalowaniem modułu usługi Azure Front Door upewnij się, że zainstalowano bieżącą wersję modułu PowerShellGet. Uruchom następujące polecenie i otwórz ponownie program PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Instalowanie modułu Az.FrontDoor

Install-Module -Name Az.FrontDoor

Tworzenie profilu usługi Azure Front Door

Utwórz profil usługi Azure Front Door, postępując zgodnie z instrukcjami opisanymi w przewodniku Szybki start: tworzenie profilu usługi Azure Front Door.

Reguła niestandardowa oparta na parametrach HTTP

W poniższym przykładzie pokazano, jak skonfigurować regułę niestandardową z dwoma warunkami dopasowania przy użyciu polecenia New-AzFrontDoorWafMatchConditionObject. Żądania pochodzą z określonej witryny zdefiniowanej przez odwołanie, a ciąg zapytania nie zawiera password.

$referer = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Equal -Selector "Referer" -MatchValue "www.mytrustedsites.com/referpage.html"
$password = New-AzFrontDoorWafMatchConditionObject -MatchVariable QueryString -OperatorProperty Contains -MatchValue "password"
$AllowFromTrustedSites = New-AzFrontDoorWafCustomRuleObject -Name "AllowFromTrustedSites" -RuleType MatchRule -MatchCondition $referer,$password -Action Allow -Priority 1

Reguła niestandardowa oparta na metodzie żądania HTTP

Utwórz regułę blokującą metodę PUT przy użyciu polecenia New-AzFrontDoorWafCustomRuleObject.

$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2

Tworzenie reguły niestandardowej na podstawie ograniczenia rozmiaru

Poniższy przykład tworzy regułę blokującą żądania z adresem URL, który jest dłuższy niż 100 znaków przy użyciu Azure PowerShell.

$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3

Dodawanie zarządzanego domyślnego zestawu reguł

Poniższy przykład tworzy zarządzany domyślny zestaw reguł przy użyciu Azure PowerShell.

$managedRules =  New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version 1.0

Konfigurowanie zasad zabezpieczeń

Znajdź nazwę grupy zasobów zawierającej profil usługi Azure Front Door przy użyciu polecenia Get-AzResourceGroup. Następnie skonfiguruj zasady zabezpieczeń z utworzonymi regułami w poprzednich krokach przy użyciu polecenia New-AzFrontDoorWafPolicy w określonej grupie zasobów zawierającej profil usługi Azure Front Door.

$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention

Połącz obiekt zasad zabezpieczeń z istniejącym hostem frontonu usługi Azure Front Door i zaktualizuj właściwości usługi Azure Front Door. Najpierw pobierz obiekt usługi Azure Front Door przy użyciu polecenia Get-AzFrontDoor. Następnie ustaw właściwość frontonu WebApplicationFirewallPolicyLink na resourceId$myWAFPolicy$ wartość utworzoną w poprzednim kroku przy użyciu polecenia Set-AzFrontDoor.

W poniższym przykładzie użyto nazwy myResourceGroupFD1 grupy zasobów z założeniem, że profil usługi Azure Front Door został utworzony, korzystając z instrukcji podanych w przewodniku Szybki start: Tworzenie usługi Azure Front Door. Ponadto w poniższym przykładzie zastąp ciąg $frontDoorName nazwą profilu usługi Azure Front Door.

   $FrontDoorObjectExample = Get-AzFrontDoor `
     -ResourceGroupName myResourceGroupFD1 `
     -Name $frontDoorName
   $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $myWAFPolicy.Id
   Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Uwaga

Wystarczy ustawić WebApplicationFirewallPolicyLink właściwość raz, aby połączyć zasady zabezpieczeń z frontonem usługi Azure Front Door. Kolejne aktualizacje zasad są automatycznie stosowane do frontonu.

Następne kroki