Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zasady zapory aplikacji internetowej (WAF) definiują inspekcje wymagane po nadejściu żądania do usługi Azure Front Door.
Ten artykuł pokazuje, jak skonfigurować politykę WAF dla Azure Front Door Standard lub Premium, która składa się z niestandardowych reguł i ma włączony domyślny zestaw reguł zarządzany przez Azure. Zasady niestandardowe obowiązują zarówno w poziomach Standard, jak i Premium. Zarządzane zestawy reguł, takie jak Domyślny Zestaw Reguł, wymagają poziomu Premium.
Niestandardowe reguły oraz domyślny zestaw reguł są opcjonalne; uwzględnij jedne z nich lub oba, w zależności od potrzeb. Ustawiasz tryb polityki WAF (Wykrywanie lub Zapobieganie) podczas tworzenia polityki w kolejnym etapie.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz bezpłatne konto.
Profil usługi Azure Front Door w warstwie Standardowa lub Premium. Jeśli chcesz utworzyć taki profil, zobacz Szybki start: tworzenie profilu Azure Front Door Standard/Premium przy użyciu programu PowerShell. Przykłady w tym artykule korzystają z profilu Premium, ponieważ zarządzane zestawy reguł wymagają poziomu Premium.
Azure Cloud Shell lub Azure PowerShell.
Kroki opisane w tym artykule umożliwiają interaktywne uruchamianie poleceń cmdlet Azure PowerShell w Azure Cloud Shell. Aby uruchomić polecenia cmdlet w usłudze Cloud Shell, wybierz pozycję Otwórz usługę Cloud Shell w prawym górnym rogu bloku kodu. Wybierz pozycję Copy aby skopiować kod, a następnie wklej go do Cloud Shell, aby go uruchomić. Możesz również uruchomić Cloud Shell z poziomu portalu Azure.
Możesz również zainstalować program Azure PowerShell lokalnie , aby uruchomić polecenia cmdlet. Jeśli uruchomisz program PowerShell lokalnie, zaloguj się do Azure przy użyciu polecenia cmdlet Connect-AzAccount.
Moduły
Az.CdniAz.FrontDoorprogramu PowerShell. Używaj modułuAz.Cdndo pracy z zasobami Azure Front Door Standard i Premium, a modułuAz.FrontDoordo pracy z zasobami WAF. Zainstaluj oba moduły, wykonując następujące polecenia:Install-Module -Name Az.Cdn Install-Module -Name Az.FrontDoor
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 passwordelementu .
$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
Utwórz regułę niestandardową w oparciu o ograniczenie rozmiaru
Poniższy przykład tworzy regułę blokującą żądania o URL dłuższym niż 100 znaków, korzystając z 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ł
Zarządzane zestawy reguł są dostępne na Azure Front Door Premium. Poniższy przykład tworzy zarządzany obiekt Domyślnego Zestawu Reguł za pomocą Azure PowerShell.
$managedRules = New-AzFrontDoorWafManagedRuleObject -Type Microsoft_DefaultRuleSet -Version 2.2
Uwaga
Zestawy zarządzanych reguł wymagają wersji Premium usługi Azure Front Door. Azure Front Door Standard obsługuje wyłącznie reguły niestandardowe. Ten przykład używa wersji Microsoft_DefaultRuleSet 2.2. Aby zobaczyć wszystkie dostępne wersje, zobacz Web Application Firewall DRS: grupy reguł i reguły.
Tworzenie polityki WAF
Stwórz politykę WAF, która zawiera niestandardowe reguły oraz zarządzany Zestaw Domyślnych Reguł z poprzednich kroków, używając New-AzFrontDoorWafPolicy. Ustaw -Sku tak, aby Premium_AzureFrontDoor zawierał reguły zarządzane lub tylko Standard_AzureFrontDoor dla reguł niestandardowych.
$myWAFPolicy = New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Sku Premium_AzureFrontDoor -CustomRule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention
Połącz politykę WAF z Twoim punktem końcowym
W przypadku Azure Front Door Standard i Premium łączysz politykę WAF z punktem końcowym, tworząc politykę bezpieczeństwa na profilu Azure Front Door. Polityka bezpieczeństwa kojarzy Twoją politykę WAF z domenami, które chcesz, aby WAF chronił.
Odzyskaj swój punkt końcowy, korzystając z Get-AzFrontDoorCdnEndpoint, a następnie zamień nazwy grup zasobów, profilu i punktów końcowych własnymi. Następnie użyj New-AzFrontDoorCdnSecurityPolicy , aby powiązać domyślną nazwę hosta endpointu z polityką WAF.
$frontDoorEndpoint = Get-AzFrontDoorCdnEndpoint -ResourceGroupName $resourceGroupName -ProfileName $frontDoorProfileName -EndpointName $frontDoorEndpointName
$securityPolicyAssociation = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallAssociationObject `
-PatternsToMatch @("/*") `
-Domain @(@{"Id"=$($frontDoorEndpoint.Id)})
$securityPolicyParameters = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallParametersObject `
-Association $securityPolicyAssociation `
-WafPolicyId $myWAFPolicy.Id
New-AzFrontDoorCdnSecurityPolicy `
-Name 'MySecurityPolicy' `
-ProfileName $frontDoorProfileName `
-ResourceGroupName $resourceGroupName `
-Parameter $securityPolicyParameters
Uwaga
Do domen objętych jej powiązaniem obowiązuje polityka bezpieczeństwa. Aby chronić więcej domen, dodaj je do stowarzyszenia lub stwórz dodatkowe polityki bezpieczeństwa.