Konfigurowanie zasad zapory aplikacji internetowej przy użyciu programu Azure PowerShell
Zasady zapory aplikacji internetowej (WAF) definiują inspekcje wymagane po nadejściu żądania do usługi Azure Front Door.
W tym artykule pokazano, jak skonfigurować zasady zapory aplikacji internetowej składające się z niektórych reguł niestandardowych i ma włączony domyślny zestaw reguł zarządzanych 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 się do platformy Azure
Connect-AzAccount
Przed zainstalowaniem modułu 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
elementu .
$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 programu 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 programu 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
Łączenie zasad z hostem frontonu usługi Azure Front Door
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
wartość utworzonego $myWAFPolicy$
w poprzednim kroku za pomocą polecenia Set-AzFrontDoor.
Uwaga
W przypadku usług Azure Front Door Standard i Premium należy użyć polecenia Get-AzFrontDoorCdnProfile.
W poniższym przykładzie użyto nazwy myResourceGroupFD1
grupy zasobów z założeniem, że utworzono profil usługi Azure Front Door, korzystając z instrukcji podanych w przewodniku Szybki start: tworzenie usługi Azure Front Door. Ponadto w poniższym przykładzie zastąp $frontDoorName
ciąg 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
Musisz ustawić WebApplicationFirewallPolicyLink
właściwość tylko raz, aby połączyć zasady zabezpieczeń z frontonem usługi Azure Front Door. Kolejne aktualizacje zasad są automatycznie stosowane do frontonu.
Następne kroki
- Dowiedz się więcej o usłudze Azure Front Door.
- Dowiedz się więcej o usłudze Azure Web Application Firewall w usłudze Azure Front Door.