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 password
niet .
$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
Beleid koppelen aan een Azure Front Door-front-endhost
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
- Meer informatie over Azure Front Door.
- Meer informatie over Azure Web Application Firewall vindt u in Azure Front Door.