Een WAF-beleid configureren met behulp van Azure PowerShell
Een WAF-beleid (Web Application Firewall) definieert de controles 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 geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Vereisten
Voordat u begint met het instellen van een frequentielimietbeleid, 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 de huidige versie van PowerShellGet is 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 referrer en de queryreeks bevat password
geen .
$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 een regel gemaakt die aanvragen blokkeert met een URL die langer is dan 100 tekens met behulp van Azure PowerShell.
$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 Front Door-front-endhost van Azure
Koppel het beveiligingsbeleidsobject aan een bestaande Front Door front-endhost van Azure Front Door en werk azure Front Door-eigenschappen bij. Haal eerst het Azure Front Door-object op met behulp van Get-AzFrontDoor.
Stel vervolgens de front-endeigenschap WebApplicationFirewallPolicyLink
in op de $myWAFPolicy$
resourceId
eigenschap die u in de vorige stap hebt gemaakt met behulp van Set-AzFrontDoor.
Notitie
Voor Azure Front Door Standard en Premium moet u Get-AzFrontDoorCdnProfile gebruiken.
In het volgende voorbeeld wordt de naam myResourceGroupFD1
van de resourcegroep gebruikt met de aanname dat u het Azure Front Door-profiel hebt gemaakt met behulp van 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 in Azure Front Door.