Konfigurera en WAF-princip med hjälp av Azure PowerShell
En brandväggsprincip för webbaserade program (WAF) 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 kan du skapa ett kostnadsfritt konto innan du börjar.
Förutsättningar
Innan du börjar konfigurera en princip för hastighetsbegränsning konfigurerar du PowerShell-miljön 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 du har den aktuella versionen av PowerShellGet 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 baserad 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 enligt definitionen 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 baserat 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 med hjälp av 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-egenskaperna. Hämta först Azure Front Door-objektet med hjälp av Get-AzFrontDoor.
Ange sedan klientdelsegenskapen WebApplicationFirewallPolicyLink
resourceId
till för som $myWAFPolicy$
skapades i föregående steg med hjälp av Set-AzFrontDoor.
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 även 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]
Anteckning
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.