Freigeben über


Einrichten einer WAF-Geofilterungsrichtlinie für Azure Front Door

In diesem Tutorial wird gezeigt, wie Sie mit Azure PowerShell eine Beispielrichtlinie für die Geofilterung erstellen und diese Ihrem vorhandenen Azure Front Door-Front-End-Host zuordnen. Diese Beispielrichtlinie für die Geofilterung blockiert Anforderungen aus allen Ländern/Regionen, mit Ausnahme der USA.

Wenn Sie kein Azure-Abonnement besitzen, können Sie jetzt ein kostenloses Konto erstellen.

Voraussetzungen

Bevor Sie mit der Einrichtung einer Geofilterungsrichtlinie 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.

Herstellen einer Verbindung mit Azure über einen interaktiven Anmeldedialog

Install-Module -Name Az
Connect-AzAccount

Vergewissern Sie sich, 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

Erstellen Sie ein Azure Front Door-Profil gemäß den Anweisungen unter Schnellstart: Erstellen eines Azure Front Door-Profils.

Definieren Sie eine Geofilter-Vergleichsbedingung

Erstellen Sie eine Beispielvergleichsbedingung, die Anforderungen auswählt, die nicht aus den "USA" stammen, indem Sie beim Erstellen der Vergleichsbedingung für die Parameter New-AzFrontDoorWafMatchConditionObject verwenden.

Zweistellige Länder-/Regionscodes zur Zuordnung von Ländern/Regionen werden in Was ist Geofilterung in einer Domäne für Azure Front Door? bereitgestellt.

$nonUSGeoMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty GeoMatch `
-NegateCondition $true `
-MatchValue "US"

Hinzufügen einer Vergleichsbedingung für die Geofilterung zu einer Regel mit Aktion und Priorität

Erstellen Sie ein CustomRule-Objekt nonUSBlockRule basierend auf der Vergleichsbedingung, einer Aktion und einer Priorität, indem Sie New-AzFrontDoorWafCustomRuleObject verwenden. Eine benutzerdefinierte Regel kann mehrere Vergleichsbedingungen aufweisen. In diesem Beispiel wird Action auf Block festgelegt. Priority wird auf 1 festgelegt, was der höchsten Priorität entspricht.

$nonUSBlockRule = New-AzFrontDoorWafCustomRuleObject `
-Name "geoFilterRule" `
-RuleType MatchRule `
-MatchCondition $nonUSGeoMatchCondition `
-Action Block `
-Priority 1

Hinzufügen von Regeln zu einer Richtlinie

Suchen Sie mithilfe von Get-AzResourceGroup nach dem Namen der Ressourcengruppe, die das Azure Front Door-Profil enthält. Erstellen Sie dann ein geoPolicy-Objekt, das nonUSBlockRule enthält, indem Sie New-AzFrontDoorWafPolicy in der angegebenen Ressourcengruppe verwenden, die das Azure Front Door-Profil enthält. Geben Sie einen eindeutigen Namen für die Georichtlinie an.

Im folgenden Beispiel wird der Ressourcengruppenname myResourceGroupFD1 verwendet. Hierbei wird davon ausgegangen, dass Sie das Azure Front Door-Profil anhand der Anweisungen in Schnellstart: Erstellen einer Azure Front Door-Instanz erstellt haben. Im folgenden Beispiel ersetzen Sie den Richtliniennamen geoPolicyAllowUSOnly durch einen eindeutigen Richtliniennamen.

$geoPolicy = New-AzFrontDoorWafPolicy `
-Name "geoPolicyAllowUSOnly" `
-resourceGroupName myResourceGroupFD1 `
-Customrule $nonUSBlockRule  `
-Mode Prevention `
-EnabledState Enabled

Verknüpfen Sie das WAF-Richtlinienobjekt mit dem vorhandenen Azure Front Door-Front-End-Host. Aktualisieren Sie die Azure Front Door-Eigenschaften.

Rufen Sie dazu zunächst mit Get-AzFrontDoor Ihr Azure Front Door-Objekt ab.

$geoFrontDoorObjectExample = Get-AzFrontDoor -ResourceGroupName myResourceGroupFD1
$geoFrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $geoPolicy.Id

Legen Sie als Nächstes die Front-End-Eigenschaft WebApplicationFirewallPolicyLink mithilfe von Set-AzFrontDoor auf die Ressourcen-ID der Georichtlinie fest.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

Hinweis

Sie müssen die Eigenschaft WebApplicationFirewallPolicyLink nur einmal festlegen, um eine WAF-Richtlinie mit einem Azure Front Door-Front-End-Host zu verknüpfen. Nachfolgende Richtlinienaktualisierungen werden automatisch auf den Front-End-Host angewendet.

Nächste Schritte