In diesem Artikel wird erläutert, wie Sie IP-Einschränkungsregeln in einer Web Application Firewall (WAF) für Azure Front Door über das Azure-Portal, die Azure CLI, Azure PowerShell oder eine Azure Resource Manager-Vorlage konfigurieren.
Eine auf IP-Adressen basierende Zugriffssteuerungsregel ist eine benutzerdefinierte WAF-Regel, mit der Sie den Zugriff auf Ihre Webanwendungen steuern können. Die Regel gibt eine Liste mit IP-Adressen oder IP-Adressbereichen im CIDR-Format (Classless Inter-Domain Routing) an.
Standardmäßig kann auf Ihre Webanwendungen über das Internet zugegriffen werden. Wenn Sie den Zugriff auf Clients entsprechend einer Liste bekannter IP-Adressen oder IP-Adressbereiche einschränken möchten, können Sie eine IP-Vergleichsregel erstellen, die die Liste der IP-Adressen als abzugleichende Werte enthält und in der der Operator auf Not
(Negation ist wahr) und die Aktion auf Block
festgelegt wird. Nachdem eine IP-Einschränkungsregel angewandt wurde, erhalten Anforderungen von Adressen, die nicht in dieser Zulassungsliste enthalten sind, die Antwort „403 (Nicht zulässig)“.
Befolgen Sie diese Schritte, um eine WAF-Richtlinie mithilfe des Azure-Portals zu konfigurieren.
Voraussetzungen
Erstellen Sie ein Azure Front Door-Profil gemäß den Anweisungen unter Schnellstart: Erstellen einer Azure Front Door-Instanz für eine hochverfügbare globale Webanwendung.
Erstellen einer WAF-Richtlinie
Klicken Sie im Azure-Portal auf Ressource erstellen. Geben Sie Web Application Firewall in das Suchfeld Dienste und Marketplace suchen ein, und drücken Sie die EINGABETASTE. Wählen Sie dann Web Application Firewall (WAF) aus.
Klicken Sie auf Erstellen.
Auf der Seite WAF-Richtlinie erstellen verwenden Sie die folgenden Werte, um die Registerkarte Grundlagen auszufüllen.
Einstellung |
Wert |
Richtlinie für |
Globale WAF (Front Door) |
Front Door-Tarif |
Wählen Sie „Premium“ oder „Standard“ entsprechend Ihrem Azure Front Door-Tarif aus. |
Subscription |
Wählen Sie Ihr Abonnement aus. |
Resource group |
Wählen Sie die Ressourcengruppe aus, in der sich Ihre Azure Front Door-Instanz befindet. |
Richtlinienname |
Geben Sie einen Namen für die Richtlinie ein. |
Richtlinienstatus |
Aktiviert |
Richtlinienmodus |
Prävention |
Wählen Sie Weiter: Verwaltete Regeln aus.
Wählen Sie Weiter: Richtlinieneinstellungen aus.
Geben Sie auf der Registerkarte Richtlinieneinstellungen für den Antworttext für blockierte Anforderungen den Text Sie wurden blockiert! ein, damit Sie testen können, ob Ihre benutzerdefinierte Regel in Kraft ist.
Klicken Sie auf Weiter: Benutzerdefinierte Regeln.
Wählen Sie Benutzerdefinierte Regel hinzufügen aus.
Verwenden Sie auf der Seite Benutzerdefinierte Regel hinzufügen die folgenden Testwerte, um eine benutzerdefinierte Regel zu erstellen.
Einstellung |
Wert |
Name der benutzerdefinierten Regel |
FdWafCustRule |
Status |
Aktiviert |
Regeltyp |
Match |
Priorität |
100 |
Übereinstimmungstyp |
IP-Adresse |
Übereinstimmungsvariable |
SocketAddr |
Vorgang |
Enthält nicht |
IP-Adresse oder Adressbereich |
10.10.10.0/24 |
Then |
Datenverkehr ablehnen |
Wählen Sie Hinzufügen.
Klicken Sie auf Weiter: Zuordnung.
Wählen Sie Ein Front Door-Profil zuordnen aus.
Wählen Sie für Front-End-Profil Ihr Front-End-Profil aus.
Wählen Sie unter Domäne die Domäne aus.
Wählen Sie Hinzufügen.
Klicken Sie auf Überprüfen + erstellen.
Nachdem Ihre Richtlinienüberprüfung bestanden ist, wählen Sie Erstellen aus.
Testen Ihrer WAF-Richtlinie
Nachdem die Bereitstellung der WAF-Richtlinien abgeschlossen ist, navigieren Sie in Azure Front Door zu Ihrem Front-End-Hostnamen.
Es sollte Ihre benutzerdefinierte Blockierungsmeldung angezeigt werden.
Hinweis
In der benutzerdefinierten Regel wurde absichtlich eine private IP-Adresse verwendet, um die Auslösung der Regel sicherzustellen. Erstellen Sie bei einer tatsächlichen Bereitstellung Regeln für das Zulassen und Ablehnen mit IP-Adressen für die jeweilige Situation.
Befolgen Sie diese Schritte, um eine WAF-Richtlinie mithilfe der Azure CLI zu konfigurieren.
Voraussetzungen
Vor dem Konfigurieren einer Richtlinie für IP-Einschränkung müssen Sie zunächst die CLI-Umgebung einrichten und ein Azure Front Door-Profil erstellen.
Einrichten der Azure CLI-Umgebung
- Installieren Sie die Azure CLI, oder verwenden Sie Azure Cloud Shell. Azure Cloud Shell ist eine kostenlose Bash-Shell, die Sie direkt im Azure-Portal ausführen können. Die Azure CLI ist vorinstalliert und für die Verwendung mit Ihrem Konto konfiguriert. Klicken Sie in den folgenden CLI-Beispielen auf die Schaltfläche Jetzt testen. Melden Sie sich in der Cloud Shell-Sitzung, die geöffnet wird, bei Ihrem Azure-Konto an. Nachdem die Sitzung gestartet wurde, geben Sie
az extension add --name front-door
ein, um die Azure Front Door-Erweiterung hinzuzufügen.
- Wenn Sie die CLI lokal in Bash verwenden, melden Sie sich mit
az login
bei Azure an.
Erstellen eines Azure Front Door-Profils
Erstellen Sie ein Azure Front Door-Profil gemäß den Anweisungen unter Schnellstart: Erstellen einer Azure Front Door-Instanz für eine hochverfügbare globale Webanwendung.
Erstellen einer WAF-Richtlinie
Erstellen Sie mit dem Befehl az network front-door waf-policy create eine WAF-Richtlinie.
Ersetzen Sie im folgenden Beispiel den Richtliniennamen IPAllowPolicyExampleCLI durch einen eindeutigen Richtliniennamen.
az network front-door waf-policy create \
--resource-group <resource-group-name> \
--subscription <subscription ID> \
--name IPAllowPolicyExampleCLI
Hinzufügen einer benutzerdefinierten Regel für die IP-Zugriffssteuerung
Fügen Sie mit dem Befehl az network front-door waf-policy custom-rule create der erstellten WAF-Richtlinie eine benutzerdefinierte Regel für die IP-Zugriffssteuerung hinzu.
In den folgenden Beispielen:
- Ersetzen Sie IPAllowPolicyExampleCLI durch die zuvor erstellte eindeutige Richtlinie.
- Ersetzen Sie ip-address-range-1 und ip-address-range-2 durch Ihren gewünschten Bereich.
Erstellen Sie zunächst eine IP-Zulassungsregel für die Richtlinie, die Sie im vorherigen Schritt erstellt haben.
Hinweis
--defer
ist erforderlich, da eine Regel eine Vergleichsbedingung aufweisen muss, die im nächsten Schritt hinzugefügt wird.
az network front-door waf-policy rule create \
--name IPAllowListRule \
--priority 1 \
--rule-type MatchRule \
--action Block \
--resource-group <resource-group-name> \
--policy-name IPAllowPolicyExampleCLI --defer
Fügen Sie der Regel nun eine Vergleichsbedingung hinzu:
az network front-door waf-policy rule match-condition add \
--match-variable SocketAddr \
--operator IPMatch \
--values "ip-address-range-1" "ip-address-range-2" \
--negate true \
--name IPAllowListRule \
--resource-group <resource-group-name> \
--policy-name IPAllowPolicyExampleCLI
Suchen der ID einer WAF-Richtlinie
Mit dem Befehl az network front-door waf-policy show können Sie die ID einer WAF-Richtlinie suchen. Ersetzen Sie IPAllowPolicyExampleCLI im folgenden Beispiel durch die eindeutige Richtlinie, die Sie zuvor erstellt haben.
az network front-door waf-policy show \
--resource-group <resource-group-name> \
--name IPAllowPolicyExampleCLI
Verknüpfen einer WAF-Richtlinie mit einem Azure Front Door-Front-End-Host
Legen Sie mit dem Befehl az network front-door update die Azure Front Door-ID WebApplicationFirewallPolicyLink auf die Richtlinien-ID fest. Ersetzen Sie IPAllowPolicyExampleCLI durch die zuvor erstellte eindeutige Richtlinie.
az network front-door update \
--set FrontendEndpoints[0].WebApplicationFirewallPolicyLink.id=/subscriptions/<subscription ID>/resourcegroups/resource-group-name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/IPAllowPolicyExampleCLI \
--name <frontdoor-name> \
--resource-group <resource-group-name>
In diesem Beispiel wird die WAF-Richtlinie auf FrontendEndpoints[0]
angewandt. Sie können die WAF-Richtlinie mit jedem der Front-Ends verknüpfen.
Hinweis
Sie müssen die Eigenschaft WebApplicationFirewallPolicyLink
nur einmal festlegen, um eine WAF-Richtlinie mit einem Azure Front Door-Front-End zu verknüpfen. Nachfolgende Richtlinienaktualisierungen werden automatisch auf das Front-End angewandt.
Befolgen Sie diese Schritte, um eine WAF-Richtlinie mithilfe von Azure PowerShell zu konfigurieren.
Voraussetzungen
Vor dem Konfigurieren einer Richtlinie für IP-Einschränkung müssen Sie zunächst die 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 bei PowerShell anzumelden und das Az PowerShell-Modul zu installieren.
Stellen Sie mit dem folgenden Befehl eine Verbindung zu Azure her, und verwenden Sie dann ein interaktives Dialogfeld für die Anmeldung.
Connect-AzAccount
Stellen Sie vor dem Installieren eines Azure Front Door-Moduls sicher, dass die aktuelle Version des PowerShellGet-Moduls installiert ist. Führen Sie den folgenden Befehl aus, und öffnen Sie dann erneut PowerShell.
Install-Module PowerShellGet -Force -AllowClobber
Installieren Sie das Az.FrontDoor-Modul mit dem folgendem Befehl:
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 Sie eine „Front Door“ für eine hoch verfügbare globale Webanwendung.
Definieren einer IP-Übereinstimmungsbedingung
Definieren Sie mit dem Befehl New-AzFrontDoorWafMatchConditionObject eine IP-Übereinstimmungsbedingung.
Ersetzen Sie im folgenden Beispiel ip-address-range-1 und ip-address-range-2 durch Ihren gewünschten Bereich.
$IPMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty IPMatch `
-MatchValue "ip-address-range-1", "ip-address-range-2"
-NegateCondition 1
Erstellen einer benutzerdefinierten IP-Zulassungsregel
Verwenden Sie den Befehl New-AzFrontDoorWafCustomRuleObject, um eine Aktion zu definieren und eine Priorität festzulegen. Im folgenden Beispiel werden Anforderungen blockiert, die von Client-IP-Adressen stammen und nicht mit der Liste übereinstimmen.
$IPAllowRule = New-AzFrontDoorWafCustomRuleObject `
-Name "IPAllowRule" `
-RuleType MatchRule `
-MatchCondition $IPMatchCondition `
-Action Block -Priority 1
Suchen Sie mithilfe von Get-AzResourceGroup
nach dem Namen der Ressourcengruppe, die das Azure Front Door-Profil enthält. Konfigurieren Sie dann mit dem Befehl New-AzFrontDoorWafPolicy eine WAF-Richtlinie mit der IP-Regel.
$IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
-Name "IPRestrictionExamplePS" `
-resourceGroupName <resource-group-name> `
-Customrule $IPAllowRule`
-Mode Prevention `
-EnabledState Enabled
Verknüpfen einer WAF-Richtlinie mit einem Azure Front Door-Front-End-Host
Verknüpfen Sie ein WAF-Richtlinienobjekt mit einem vorhandenen 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 des Befehls Set-AzFrontDoor die Eigenschaft WebApplicationFirewallPolicyLink
auf die im vorherigen Schritt erstellte Ressourcen-ID von $IPAllowPolicyExamplePS
fest.
$FrontDoorObjectExample = Get-AzFrontDoor `
-ResourceGroupName <resource-group-name> `
-Name $frontDoorName
$FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $IPBlockPolicy.Id
Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]
Hinweis
In diesem Beispiel wird die WAF-Richtlinie auf FrontendEndpoints[0]
angewandt. Sie können eine WAF-Richtlinie mit jedem der Front-Ends verknüpfen. Sie müssen die Eigenschaft WebApplicationFirewallPolicyLink
nur einmal festlegen, um eine WAF-Richtlinie mit einem Azure Front Door-Front-End zu verknüpfen. Nachfolgende Richtlinienaktualisierungen werden automatisch auf das Front-End angewandt.
Zum Anzeigen der Resource Manager-Vorlage, über die eine Azure Front Door- und eine WAF-Richtlinie mit benutzerdefinierten IP-Einschränkungsregeln erstellt werden, navigieren Sie zu GitHub.