Konfigurera en WAF-princip med hjälp av Azure PowerShell
En waf-princip (web application firewall) definierar de inspektioner som krävs när en begäran kommer till Azure Front Door.
Den här artikeln visar hur du konfigurerar en WAF-princip som består av vissa anpassade regler och har azure-hanterad standardregeluppsättning aktiverad.
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Förutsättningar
Innan du börjar konfigurera en hastighetsbegränsningsprincip konfigurerar du Din PowerShell-miljö och skapar en Azure Front Door-profil.
Konfigurera PowerShell-miljön
Azure PowerShell tillhandahåller en uppsättning cmdletar som använder Azure Resource Manager-modellen för att hantera dina Azure-resurser.
Du kan installera Azure PowerShell på en lokal dator och använda det i alla PowerShell-sessioner. Följ anvisningarna på sidan för att logga in med dina Azure-autentiseringsuppgifter. Installera sedan Az PowerShell-modulen.
Logga in på Azure
Connect-AzAccount
Innan du installerar Azure Front Door-modulen kontrollerar du att den aktuella versionen av PowerShellGet är installerad. Kör följande kommando och öppna PowerShell igen.
Install-Module PowerShellGet -Force -AllowClobber
Installera Modulen Az.FrontDoor
Install-Module -Name Az.FrontDoor
Skapa en Azure Front Door-profil
Skapa en Azure Front Door-profil genom att följa anvisningarna i Snabbstart: Skapa en Azure Front Door-profil.
Anpassad regel baserat på HTTP-parametrar
I följande exempel visas hur du konfigurerar en anpassad regel med två matchningsvillkor med hjälp av New-AzFrontDoorWafMatchConditionObject. Begäranden kommer från en angiven webbplats som definierats av referenten och frågesträngen innehåller password
inte .
$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
Anpassad regel baserad på en HTTP-begärandemetod
Skapa en regel som blockerar en PUT-metod med hjälp av New-AzFrontDoorWafCustomRuleObject.
$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2
Skapa en anpassad regel baserat på storleksbegränsning
I följande exempel skapas en regel som blockerar begäranden med en URL som är längre än 100 tecken med hjälp av Azure PowerShell.
$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3
Lägga till en hanterad standardregeluppsättning
I följande exempel skapas en hanterad standardregeluppsättning med hjälp av Azure PowerShell.
$managedRules = New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version 1.0
Konfigurera en säkerhetsprincip
Leta reda på namnet på resursgruppen som innehåller Azure Front Door-profilen med hjälp Get-AzResourceGroup
av . Konfigurera sedan en säkerhetsprincip med skapade regler i föregående steg genom att använda New-AzFrontDoorWafPolicy i den angivna resursgruppen som innehåller Azure Front Door-profilen.
$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention
Länka principen till en Azure Front Door-klientdelsvärd
Länka säkerhetsprincipobjektet till en befintlig Azure Front Door-klientdelsvärd och uppdatera Azure Front Door-egenskaper. Hämta först Azure Front Door-objektet med hjälp av Get-AzFrontDoor.
Ange sedan klientdelsegenskapen WebApplicationFirewallPolicyLink
till den resourceId
$myWAFPolicy$
som skapades i föregående steg med hjälp av Set-AzFrontDoor.
Kommentar
För Azure Front Door Standard och Premium bör du använda Get-AzFrontDoorCdnProfile.
I följande exempel används resursgruppens namn myResourceGroupFD1
med antagandet att du har skapat Azure Front Door-profilen med hjälp av anvisningarna i Snabbstart: Skapa en Azure Front Door. I följande exempel ersätter $frontDoorName
du också med namnet på din Azure Front Door-profil.
$FrontDoorObjectExample = Get-AzFrontDoor `
-ResourceGroupName myResourceGroupFD1 `
-Name $frontDoorName
$FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $myWAFPolicy.Id
Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]
Kommentar
Du behöver bara ange WebApplicationFirewallPolicyLink
egenskapen en gång för att länka en säkerhetsprincip till en Azure Front Door-klientdel. Efterföljande principuppdateringar tillämpas automatiskt på klientdelen.
Nästa steg
- Läs mer om Azure Front Door.
- Läs mer om Azure Web Application Firewall på Azure Front Door.