Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine WAF-Richtlinie (Web Application Firewall) definiert die Überprüfungen, die erforderlich sind, wenn eine Anforderung bei Azure Front Door eingeht.
Dieser Artikel zeigt, wie man eine WAF-Richtlinie für Azure Front Door Standard oder Premium konfiguriert, die aus einigen benutzerdefinierten Regeln besteht und das von Azure verwaltete Standardregelwerk aktiviert hat. Benutzerdefinierte Regeln gelten sowohl für die Standard- als auch für die Premium-Stufen. Verwaltete Regelsätze, wie das Default Rule Set, benötigen die Premium-Stufe.
Benutzerdefinierte Regeln und das Standard-Regelwerk sind optional; fügen Sie entweder eine oder beide ein, um Ihren Bedürfnissen zu entsprechen. Du stellst den WAF-Richtlinienmodus (Erkennung oder Prävention) ein, wenn du die Richtlinie in einem späteren Schritt erstellst.
Voraussetzungen
Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
Ein Azure Front Door Standard- oder Premium-Profil. Wenn Sie ein Profil erstellen müssen, lesen Sie Schnellstart: Erstellen eines Azure Front Door Standard/Premium-Profils mit PowerShell. Die Beispiele in diesem Artikel verwenden ein Premium-Profil, da verwaltete Regelsätze die Premium-Stufe erfordern.
Azure Cloud Shell oder Azure PowerShell.
Die Schritte in diesem Artikel führen die Azure PowerShell-Cmdlets interaktiv in Azure Cloud Shell aus. Um die Cmdlets in der Cloud Shell auszuführen, wählen Sie in der oberen rechten Ecke eines Codeblocks "Cloud Shell öffnen " aus. Wählen Sie Kopieren aus, um den Code zu kopieren und fügen Sie ihn in Cloud Shell ein, um ihn auszuführen. Sie können die Cloud Shell auch innerhalb des Azure-Portals ausführen.
Sie können Azure PowerShell auch lokal installieren, um die Cmdlets auszuführen. Wenn Sie PowerShell lokal ausführen, melden Sie sich mit dem Cmdlet Connect-AzAccount bei Azure an.
Die
Az.CdnundAz.FrontDoorPowerShell-Module. Nutze dasAz.CdnModul, um mit Azure Front Door Standard- und Premium-Ressourcen zu arbeiten, und das ModulAz.FrontDoor, um mit WAF-Ressourcen zu arbeiten. Installieren Sie beide Module, indem Sie folgende Befehle ausführen:Install-Module -Name Az.Cdn Install-Module -Name Az.FrontDoor
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
Das folgende Beispiel erstellt eine Regel, die Anfragen mit einer URL länger als 100 Zeichen durch Azure PowerShell 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
Verwaltete Regelsätze sind auf Azure Front Door Premium verfügbar. Das folgende Beispiel erstellt ein verwaltetes Default Rule Set-Objekt mithilfe von Azure PowerShell.
$managedRules = New-AzFrontDoorWafManagedRuleObject -Type Microsoft_DefaultRuleSet -Version 2.2
Hinweis
Verwaltete Regelsätze erfordern Azure Front Door Premium. Azure Front Door Standard unterstützt nur benutzerdefinierte Regeln. Dieses Beispiel verwendet Microsoft_DefaultRuleSet Version 2.2. Für alle verfügbaren Versionen siehe Web Application Firewall DRS-Regelgruppen und -regeln.
Erstellen einer WAF-Richtlinie
Erstellen Sie eine WAF-Richtlinie, die die benutzerdefinierten Regeln und das verwaltete Standardregelwerk aus den vorherigen Schritten enthält, indem Sie New-AzFrontDoorWafPolicy verwenden. Setze -Sku auf Premium_AzureFrontDoor, um verwaltete Regeln einzuschließen, oder auf Standard_AzureFrontDoor nur für benutzerdefinierte Regeln.
$myWAFPolicy = New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Sku Premium_AzureFrontDoor -CustomRule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention
Verknüpfe die WAF-Richtlinie mit deinem Endpunkt
Für Azure Front Door Standard und Premium verknüpfen Sie eine WAF-Policy mit Ihrem Endpunkt, indem Sie eine Sicherheitsrichtlinie im Azure Front Door-Profil erstellen. Eine Sicherheitsrichtlinie verknüpft deine WAF-Richtlinie mit den Domänen, die du vom WAF schützen möchtest.
Rufen Sie Ihren Endpunkt ab, indem Sie Get-AzFrontDoorCdnEndpoint verwenden, und ersetzen Sie die Namen der Ressourcengruppen, des Profils und des Endpunkts durch Ihre eigenen. Dann verwenden Sie New-AzFrontDoorCdnSecurityPolicy , um den Standard-Hostnamen des Endpunkts mit Ihrer WAF-Richtlinie zu verknüpfen.
$frontDoorEndpoint = Get-AzFrontDoorCdnEndpoint -ResourceGroupName $resourceGroupName -ProfileName $frontDoorProfileName -EndpointName $frontDoorEndpointName
$securityPolicyAssociation = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallAssociationObject `
-PatternsToMatch @("/*") `
-Domain @(@{"Id"=$($frontDoorEndpoint.Id)})
$securityPolicyParameters = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallParametersObject `
-Association $securityPolicyAssociation `
-WafPolicyId $myWAFPolicy.Id
New-AzFrontDoorCdnSecurityPolicy `
-Name 'MySecurityPolicy' `
-ProfileName $frontDoorProfileName `
-ResourceGroupName $resourceGroupName `
-Parameter $securityPolicyParameters
Hinweis
Eine Sicherheitsrichtlinie gilt für die Domänen, die ihr zugeordnet sind. Um mehr Domains zu schützen, fügen Sie sie der Assoziation hinzu oder erstellen Sie zusätzliche Sicherheitsrichtlinien.