Dela via


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 passwordinte .

$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-AzResourceGroupav . 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 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