Konfigurieren einer WAF-Richtlinie mithilfe von Azure PowerShell
Eine WAF-Richtlinie (Web Application Firewall) definiert die Überprüfungen, die erforderlich sind, wenn eine Anforderung bei Azure Front Door eingeht.
In diesem Artikel wird erläutert, wie Sie eine WAF-Richtlinie konfigurieren, die einige benutzerdefinierte Regeln umfasst und für die der ein per Azure verwalteter Standardregelsatz aktiviert ist.
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Voraussetzungen
Bevor Sie mit der Einrichtung einer Ratenbegrenzungsrichtlinie beginnen, müssen Sie zunächst Ihre PowerShell-Umgebung einrichten und ein Azure Front Door-Profil erstellen.
Einrichten Ihrer PowerShell-Umgebung
Azure PowerShell bietet eine Reihe von Cmdlets, die das Azure Resource Manager-Modell für die Verwaltung von Azure-Ressourcen verwenden.
Sie können Azure PowerShell auf Ihrem lokalen Computer installieren und in einer beliebigen PowerShell-Sitzung nutzen. Befolgen Sie die Anweisungen auf der Seite, um sich mit Ihren Azure-Anmeldeinformationen anzumelden. Installieren Sie dann das Az-Modul von PowerShell.
Anmelden bei Azure
Connect-AzAccount
Stellen Sie vor dem Installieren des Azure Front Door-Moduls sicher, dass die aktuelle Version von PowerShellGet installiert ist. Führen Sie den folgenden Befehl aus, und öffnen Sie PowerShell erneut.
Install-Module PowerShellGet -Force -AllowClobber
Installieren des Moduls „Az.FrontDoor“
Install-Module -Name Az.FrontDoor
Erstellen eines Azure Front Door-Profils
Gehen Sie zum Erstellen eines Azure Front Door-Profils gemäß den Anweisungen unter Schnellstart: Erstellen eines Azure Front Door-Profils im Azure-Portal vor.
Benutzerdefinierte Regel basierend auf HTTP-Parametern
Im folgenden Beispiel wird veranschaulicht, wie eine benutzerdefinierte Regel mit zwei Vergleichsbedingungen mithilfe von New-AzFrontDoorWafMatchConditionObject konfiguriert wird. Die Anforderungen stammen von einer angegebenen Website, die vom Referrer definiert wird. Die Abfragezeichenfolge enthält nicht password
.
$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
Benutzerdefinierte Regel basierend auf einer HTTP-Anforderungsmethode
Erstellen Sie mithilfe von New-AzFrontDoorWafCustomRuleObject eine Regel, mit der die PUT-Methode blockiert wird.
$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2
Erstellen einer benutzerdefinierten Regel basierend auf Größenbeschränkung
Im folgenden Beispiel wird mithilfe von Azure PowerShell eine Regel erstellt, die Anforderungen mit einer URL mit mehr als 100 Zeichen blockiert:
$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3
Hinzufügen eines verwalteten Standardregelsatzes
Im folgenden Beispiel wird mithilfe von Azure PowerShell ein verwalteter Standardregelsatz erstellt:
$managedRules = New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version 1.0
Konfigurieren einer Sicherheitsrichtlinie
Suchen Sie mithilfe von Get-AzResourceGroup
nach dem Namen der Ressourcengruppe, die das Azure Front Door-Profil enthält. Konfigurieren Sie als Nächstes mithilfe von New-AzFrontDoorWafPolicy eine Sicherheitsrichtlinie mit den in den vorherigen Schritten erstellten Regeln in der angegebenen Ressourcengruppe, die das Azure Front Door-Profil enthält.
$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention
Verknüpfen einer Richtlinie mit einem Azure Front Door-Front-End-Host
Verknüpfen Sie das Sicherheitsrichtlinienobjekt mit einem vorhandenen Azure Front Door-Front-End-Host, und aktualisieren Sie die Azure Front Door-Eigenschaften. Rufen Sie zunächst mithilfe von Get-AzFrontDoor das Azure Front Door-Objekt ab.
Legen Sie dann mithilfe von Set-AzFrontDoor die Eigenschaft WebApplicationFirewallPolicyLink
des Front-Ends auf die resourceId
des im vorherigen Schritt erstellten $myWAFPolicy$
-Objekts fest.
Hinweis
Für Azure Front Door Standard und Premium sollten Sie das Get-AzFrontDoorCdnProfile verwenden.
Im folgenden Beispiel wird der Ressourcengruppenname myResourceGroupFD1
verwendet. Hierbei wird davon ausgegangen, dass Sie das Azure Front Door-Profil anhand der Anweisungen unter Schnellstart: Erstellen einer Azure Front Door-Instanz erstellt haben. Ersetzen Sie im folgenden Beispiel außerdem $frontDoorName
durch den Namen Ihres Azure Front Door-Profils.
$FrontDoorObjectExample = Get-AzFrontDoor `
-ResourceGroupName myResourceGroupFD1 `
-Name $frontDoorName
$FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $myWAFPolicy.Id
Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]
Hinweis
Sie müssen die Eigenschaft WebApplicationFirewallPolicyLink
nur einmal festlegen, um eine Sicherheitsrichtlinie mit einem Azure Front Door-Front-End zu verknüpfen. Nachfolgende Richtlinienaktualisierungen werden automatisch auf das Front-End angewandt.
Nächste Schritte
- Erfahren Sie mehr zu Azure Front Door.
- Erfahren Sie mehr über Azure Web Application Firewall für Azure Front Door.