Een WAF-beleid configureren met behulp van Azure PowerShell

Een WAF-beleid (Web Application Firewall) definieert de inspecties die vereist zijn wanneer een aanvraag binnenkomt bij Azure Front Door.

In dit artikel wordt beschreven hoe u een WAF-beleid configureert dat bestaat uit een aantal aangepaste regels en waarvoor de door Azure beheerde standaardregelset is ingeschakeld.

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.

Vereisten

Voordat u begint met het instellen van beleid voor frequentielimieten, stelt u uw PowerShell-omgeving in en maakt u een Azure Front Door-profiel.

Uw PowerShell-omgeving instellen

Azure PowerShell voorziet in een set van cmdlets die gebruikmaken van het Azure Resource Manager-model om uw Azure-resources te beheren.

U kunt Azure PowerShell op uw lokale computer installeren en in elke PowerShell-sessie gebruiken. Volg de instructies op de pagina om u aan te melden met uw Azure-referenties. Installeer vervolgens de Az PowerShell-module.

Aanmelden bij Azure

Connect-AzAccount

Voordat u de Azure Front Door-module installeert, moet u ervoor zorgen dat u de huidige versie van PowerShellGet hebt geïnstalleerd. Voer de volgende opdracht uit en open PowerShell opnieuw.

Install-Module PowerShellGet -Force -AllowClobber

De Az.FrontDoor-module installeren

Install-Module -Name Az.FrontDoor

Een Azure Front Door-profiel maken

Maak een Azure Front Door-profiel door de instructies te volgen die worden beschreven in Quickstart: Een Azure Front Door-profiel maken.

Aangepaste regel op basis van HTTP-parameters

In het volgende voorbeeld ziet u hoe u een aangepaste regel met twee overeenkomstvoorwaarden configureert met behulp van New-AzFrontDoorWafMatchConditionObject. Aanvragen zijn afkomstig van een opgegeven site zoals gedefinieerd door verwijzer en de queryreeks bevat passwordniet .

$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

Aangepaste regel op basis van een HTTP-aanvraagmethode

Maak een regel die een PUT-methode blokkeert met behulp van New-AzFrontDoorWafCustomRuleObject.

$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2

Een aangepaste regel maken op basis van groottebeperking

In het volgende voorbeeld wordt met behulp van Azure PowerShell een regel gemaakt die aanvragen blokkeert met een URL die langer is dan 100 tekens.

$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3

Een beheerde standaardregelset toevoegen

In het volgende voorbeeld wordt een beheerde standaardregelset gemaakt met behulp van Azure PowerShell.

$managedRules =  New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version 1.0

Een beveiligingsbeleid configureren

Zoek de naam van de resourcegroep die het Azure Front Door-profiel bevat met behulp van Get-AzResourceGroup. Configureer vervolgens een beveiligingsbeleid met gemaakte regels in de vorige stappen met behulp van New-AzFrontDoorWafPolicy in de opgegeven resourcegroep die het Azure Front Door-profiel bevat.

$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention

Koppel het beveiligingsbeleidsobject aan een bestaande Azure Front Door front-endhost en werk de eigenschappen van Azure Front Door bij. Haal eerst het Azure Front Door-object op met behulp van Get-AzFrontDoor. Stel vervolgens de eigenschap front-end WebApplicationFirewallPolicyLink in op de resourceId van de $myWAFPolicy$ die u in de vorige stap hebt gemaakt met behulp van Set-AzFrontDoor.

In het volgende voorbeeld wordt de naam myResourceGroupFD1 van de resourcegroep gebruikt met de veronderstelling dat u het Azure Front Door-profiel hebt gemaakt met behulp van de instructies in Quickstart: Een Azure Front Door maken. Vervang in het volgende voorbeeld ook door $frontDoorName de naam van uw Azure Front Door-profiel.

   $FrontDoorObjectExample = Get-AzFrontDoor `
     -ResourceGroupName myResourceGroupFD1 `
     -Name $frontDoorName
   $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $myWAFPolicy.Id
   Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Notitie

U hoeft de WebApplicationFirewallPolicyLink eigenschap slechts eenmaal in te stellen om een beveiligingsbeleid te koppelen aan een Front Door-front-end van Azure. Volgende beleidsupdates worden automatisch toegepast op de front-end.

Volgende stappen