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

Gehen Sie zum Erstellen eines Azure Front Door-Profils gemäß den Anweisungen unter Schnellstart: Erstellen eines Azure Front Door-Profils im Azure-Portal vor.

Definieren einer Vergleichsbedingung für die Geofilterung

Erstellen Sie eine beispielhafte Vergleichsbedingung, durch die Anforderungen ausgewählt werden, die nicht aus den USA stammen. Verwenden Sie dazu beim Erstellen einer Vergleichsbedingung für die Parameter New-AzFrontDoorWafMatchConditionObject.

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 anschließend unter Verwendung von New-AzFrontDoorWafCustomRuleObject ein CustomRule-Objekt nonUSBlockRule basierend auf der Vergleichsbedingung, einer Aktion und einer Priorität. Eine benutzerdefinierte Regel kann mehrere Vergleichsbedingung 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