V tomto článku se dozvíte, jak nakonfigurovat pravidla omezení IP adres ve firewallu webových aplikací (WAF) pro Službu Azure Front Door pomocí webu Azure Portal, Azure CLI, Azure PowerShellu nebo šablony Azure Resource Manageru.
Pravidlo řízení přístupu na základě IP adresy je vlastní pravidlo WAF, které umožňuje řídit přístup k webovým aplikacím. Pravidlo určuje seznam IP adres nebo rozsahů IP adres ve formátu CIDR (Classless Inter-Domain Routing).
Ve výchozím nastavení je vaše webová aplikace přístupná z internetu. Pokud chcete omezit přístup k klientům ze seznamu známých IP adres nebo rozsahů IP adres, můžete vytvořit odpovídající pravidlo IP adresy, které obsahuje seznam IP adres jako odpovídající hodnoty, a nastavit operátor na Not
(negate je true) a akci na Block
. Po použití pravidla omezení PROTOKOLU IP obdrží požadavky pocházející z adres mimo tento seznam povolených adres odpověď 403 Zakázáno.
Pomocí těchto kroků nakonfigurujte zásady WAF pomocí webu Azure Portal.
Požadavky
Vytvořte profil služby Azure Front Door podle pokynů popsaných v rychlém startu: Vytvořte instanci služby Azure Front Door pro vysoce dostupnou globální webovou aplikaci.
Vytvoření zásad WAF
Na webu Azure Portal vyberte Vytvořit prostředek. Do vyhledávacího pole Search a marketplace zadejte firewall webových aplikací a vyberte Enter. Pak vyberte Firewall webových aplikací (WAF).
Vyberte Vytvořit.
Na stránce Vytvořit zásadu WAF použijte k dokončení karty Základy následující hodnoty.
Nastavení |
Hodnota |
Zásady pro |
Global WAF (Front Door). |
Front door tier |
Vyberte Premium nebo Standard, aby odpovídaly vaší úrovni Služby Azure Front Door. |
Předplatné |
Vyberte své předplatné. |
Skupina prostředků |
Vyberte skupinu prostředků, ve které se nachází vaše instance služby Azure Front Door. |
Název zásady |
Zadejte název zásady. |
Stav zásad |
Selected |
Režim zásad |
Prevention (Prevence) |
Vyberte Další: Spravovaná pravidla.
Vyberte Další: Nastavení zásad.
Na kartě Nastavení zásad zadejte, že jste zablokovali. V textu blokované odpovědi uvidíte, že je vaše vlastní pravidlo v platnosti.
Vyberte Další: Vlastní pravidla.
Vyberte Přidat vlastní pravidlo.
Na stránce Přidat vlastní pravidlo vytvořte vlastní pravidlo pomocí následujících testovacích hodnot.
Nastavení |
Hodnota |
Název vlastního pravidla |
FdWafCustRule |
Stav |
Povoleno |
Typ pravidla |
Párování |
Priorita |
100 |
Typ shody |
IP adresa |
Shoda s proměnnou |
SocketAddr |
Operace |
Neobsahuje |
IP adresa nebo rozsah |
10.10.10.0/24 |
Pak... |
Odepřít provoz |
Vyberte Přidat.
Vyberte Další: Přidružení.
Vyberte Přidružit profil služby Front Door.
V případě front-endového profilu vyberte front-endový profil.
V části Domain (Doména) vyberte doménu.
Vyberte Přidat.
Vyberte Zkontrolovat a vytvořit.
Po úspěšném ověření zásad vyberte Vytvořit.
Testování zásad WAF
Po dokončení nasazení zásad WAF přejděte na název hostitele front-endu služby Azure Front Door.
Měla by se zobrazit zpráva o vlastním bloku.
Poznámka:
Privátní IP adresa se záměrně použila ve vlastním pravidle, aby se zajistilo, že se pravidlo aktivuje. Ve skutečném nasazení vytvořte pravidla povolení a zamítnutí pomocí IP adres pro vaši konkrétní situaci.
Pomocí těchto kroků nakonfigurujte zásady WAF pomocí Azure CLI.
Požadavky
Než začnete konfigurovat zásady omezení IP adres, nastavte prostředí rozhraní příkazového řádku a vytvořte profil služby Azure Front Door.
Nastavení prostředí Azure CLI
- Nainstalujte Azure CLI nebo použijte Azure Cloud Shell. Azure Cloud Shell je volně dostupné prostředí Bash, které můžete spustit přímo z webu Azure Portal. Má předinstalované rozhraní Azure CLI, které je nakonfigurované pro použití s vaším účtem. V následujících příkazech rozhraní příkazového řádku vyberte tlačítko Vyzkoušet. Pak se přihlaste ke svému účtu Azure v relaci Cloud Shellu, která se otevře. Po spuštění relace zadejte
az extension add --name front-door
, abyste přidali rozšíření Azure Front Door.
- Pokud používáte rozhraní příkazového řádku místně v Bash, přihlaste se k Azure pomocí
az login
.
Vytvoření profilu služby Azure Front Door
Vytvořte profil služby Azure Front Door podle pokynů popsaných v rychlém startu: Vytvořte instanci služby Azure Front Door pro vysoce dostupnou globální webovou aplikaci.
Vytvoření zásad WAF
Vytvořte zásadu WAF pomocí příkazu az network front-door waf-policy create .
V následujícím příkladu nahraďte název zásady IPAllowPolicyExampleCLI jedinečným názvem zásady.
az network front-door waf-policy create \
--resource-group <resource-group-name> \
--subscription <subscription ID> \
--name IPAllowPolicyExampleCLI
Přidání vlastního pravidla řízení přístupu IP
Pomocí příkazu az network front-door waf-policy custom-rule create přidejte vlastní pravidlo řízení přístupu IP pro zásadu WAF, kterou jste vytvořili.
V následujících příkladech:
- Nahraďte IPAllowPolicyExampleCLI jedinečnými zásadami vytvořenými dříve.
- Nahraďte rozsah IP-address-1, ip-address-range-2 vlastním rozsahem.
Nejprve vytvořte pravidlo povolení PROTOKOLU IP pro zásadu vytvořenou z předchozího kroku.
Poznámka:
--defer
vyžaduje se, protože pravidlo musí mít podmínku shody, která se má přidat v dalším kroku.
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
Dále do pravidla přidejte podmínku shody:
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
Vyhledání ID zásady WAF
Pomocí příkazu az network front-door waf-policy show vyhledejte ID zásady WAF. V následujícím příkladu nahraďte IPAllowPolicyExampleCLI vaší jedinečnou zásadou, kterou jste vytvořili dříve.
az network front-door waf-policy show \
--resource-group <resource-group-name> \
--name IPAllowPolicyExampleCLI
Propojení zásad WAF s front-endovým hostitelem služby Azure Front Door
Pomocí příkazu az network front-door update nastavte ID Zásady WebApplicationFirewallPolicyLink na ID zásady. Nahraďte IPAllowPolicyExampleCLI jedinečnými zásadami, které jste vytvořili dříve.
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>
V tomto příkladu se zásady WAF použijí na FrontendEndpoints[0]
. Zásady WAF můžete propojit s libovolným front-endem.
Poznámka:
Tuto vlastnost musíte nastavit WebApplicationFirewallPolicyLink
jenom jednou, aby se zásady WAF propojily s front-endem služby Azure Front Door. Další aktualizace zásad se automaticky použijí na front-end.
Pomocí těchto kroků nakonfigurujte zásady WAF pomocí Azure PowerShellu.
Požadavky
Než začnete konfigurovat zásady omezení PROTOKOLU IP, nastavte prostředí PowerShellu a vytvořte profil služby Azure Front Door.
Nastavení prostředí PowerShell
Azure PowerShell poskytuje sadu rutin, které používají model Azure Resource Manageru ke správě prostředků Azure.
Azure PowerShell můžete nainstalovat na místní počítač a používat v jakékoli relaci PowerShellu. Podle pokynů na stránce se přihlaste k PowerShellu pomocí přihlašovacích údajů Azure a pak nainstalujte modul Az PowerShell.
Připojte se k Azure pomocí následujícího příkazu a pak se přihlaste pomocí interaktivního dialogového okna.
Connect-AzAccount
Před instalací modulu Azure Front Door se ujistěte, že máte nainstalovanou aktuální verzi modulu PowerShellGet. Spusťte následující příkaz a znovu otevřete PowerShell.
Install-Module PowerShellGet -Force -AllowClobber
Pomocí následujícího příkazu nainstalujte modul Az.FrontDoor:
Install-Module -Name Az.FrontDoor
Vytvoření profilu služby Azure Front Door
Vytvořte profil služby Azure Front Door podle pokynů popsaných v rychlém startu: Vytvoření služby Front Door pro vysoce dostupnou globální webovou aplikaci.
Definování podmínky shody IP adres
Pomocí příkazu New-AzFrontDoorWafMatchConditionObject definujte podmínku shody PROTOKOLU IP.
V následujícím příkladu nahraďte ip-address-range-1, ip-address-range-2 vlastním rozsahem.
$IPMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty IPMatch `
-MatchValue "ip-address-range-1", "ip-address-range-2"
-NegateCondition 1
Vytvoření vlastního pravidla povolení IP adresy
Pomocí příkazu New-AzFrontDoorWafCustomRuleObject definujte akci a nastavte prioritu. V následujícím příkladu nejsou požadavky z IP adres klientů, které odpovídají seznamu, blokované.
$IPAllowRule = New-AzFrontDoorWafCustomRuleObject `
-Name "IPAllowRule" `
-RuleType MatchRule `
-MatchCondition $IPMatchCondition `
-Action Block -Priority 1
Vyhledejte název skupiny prostředků, která obsahuje profil služby Azure Front Door pomocí Get-AzResourceGroup
. Dále nakonfigurujte zásadu WAF s pravidlem IP pomocí Rutiny New-AzFrontDoorWafPolicy.
$IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
-Name "IPRestrictionExamplePS" `
-resourceGroupName <resource-group-name> `
-Customrule $IPAllowRule`
-Mode Prevention `
-EnabledState Enabled
Propojení zásad WAF s front-endovým hostitelem služby Azure Front Door
Propojte objekt zásad WAF s existujícím front-endovým hostitelem a aktualizujte vlastnosti služby Azure Front Door. Nejprve načtěte objekt Služby Azure Front Door pomocí rutiny Get-AzFrontDoor. Dále nastavte WebApplicationFirewallPolicyLink
vlastnost na ID $IPAllowPolicyExamplePS
prostředku vytvořeného v předchozím kroku pomocí příkazu Set-AzFrontDoor .
$FrontDoorObjectExample = Get-AzFrontDoor `
-ResourceGroupName <resource-group-name> `
-Name $frontDoorName
$FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $IPBlockPolicy.Id
Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]
Poznámka:
V tomto příkladu se zásady WAF použijí na FrontendEndpoints[0]
. Zásady WAF můžete propojit s libovolným front-endem. Tuto vlastnost musíte nastavit WebApplicationFirewallPolicyLink
jenom jednou, aby se zásady WAF propojily s front-endem služby Azure Front Door. Další aktualizace zásad se automaticky použijí na front-end.
Pokud chcete zobrazit šablonu Resource Manageru, která vytvoří zásadu Služby Azure Front Door a zásadu WAF s vlastními pravidly omezení IP adres, přejděte na GitHub.