Configurer une stratégie WAF de géofiltrage pour Azure Front Door

Ce didacticiel montre comment utiliser Azure PowerShell pour créer un exemple de stratégie de filtrage géographique et associer la stratégie à votre hôte frontal Azure Front Door existant. Cet exemple de politique de filtrage géographique bloque les demandes provenant de tous les autres pays ou régions, à l'exception des États-Unis.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit maintenant.

Prérequis

Avant de commencer à configurer une stratégie de géofiltre, configurez votre environnement PowerShell et créez un profil Azure Front Door.

Configurer votre environnement PowerShell

Azure PowerShell fournit un ensemble d’applets de commande qui utilisent le modèle Azure Resource Manager pour gérer vos ressources Azure.

Vous pouvez installer Azure PowerShell sur votre ordinateur local et l’utiliser sur n’importe quelle session PowerShell. Suivez les instructions de la page pour vous connecter avec vos identifiants Azure. Installez ensuite le module Az PowerShell.

Se connecter à Azure avec une boîte de dialogue interactive

Install-Module -Name Az
Connect-AzAccount

Vérifiez que la version actuelle de PowerShellGet est installée. Exécutez la commande suivante et rouvrez PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Installer le module Az.FrontDoor

Install-Module -Name Az.FrontDoor

Créer un profil Azure Front Door

Créez un profil Azure Front Door en suivant les instructions décrites dans Démarrage rapide : créer un profil Azure Front Door.

Définir une condition de correspondance de géofiltrage

Créez un exemple de condition de correspondance qui sélectionne les demandes ne provenant pas des « États-Unis » en utilisant New-AzFrontDoorWafMatchConditionObject sur les paramètres lorsque vous créez une condition de correspondance.

Les codes de pays ou de région à deux lettres vers le mappage de pays ou de région sont fournis dans Qu'est-ce que le géofiltrage sur un domaine pour Azure Front Door ?.

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

Ajouter une condition de correspondance de géofiltrage à une règle avec une action et une priorité

Créez un CustomRule objet nonUSBlockRule basé sur la condition de correspondance, une action et une priorité à l'aide de New-AzFrontDoorWafCustomRuleObject. Une règle personnalisée peut avoir plusieurs conditions de correspondance. Dans cet exemple, Action est défini sur Block. Priority est défini sur 1, qui est la priorité la plus élevée.

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

Ajouter des règles à une stratégie

Recherchez le nom du groupe de ressources qui contient le profil Azure Front Doorà l’aide de Get-AzResourceGroup. Ensuite, créez un objet geoPolicy qui contient nonUSBlockRule en utilisant New-AzFrontDoorWafPolicy dans le groupe de ressources spécifié qui contient le profil Azure Front Door. Vous devez fournir un nom unique pour la stratégie géographique.

L'exemple suivant utilise le nom du groupe de ressources myResourceGroupFD1 en supposant que vous avez créé le profil Azure Front Door à l'aide des instructions fournies dans Démarrage rapide : Create an Azure Front Door. Dans l'exemple suivant, remplacez le nom de la stratégie geoPolicyAllowUSOnly par un nom de stratégie unique.

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

Liez l'objet de stratégie WAF à l'hôte frontal Azure Front Door existant. Mettez à jour les propriétés Azure Front Door.

Pour ce faire, récupérez d'abord votre objet Azure Front Door à l'aide de Get-AzFrontDoor.

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

Ensuite, définissez la propriété frontale WebApplicationFirewallPolicyLink sur l'ID de ressource de la stratégie géographique à l'aide de Set-AzFrontDoor.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

Notes

Il vous suffit de définir la propriété WebApplicationFirewallPolicyLink une seule fois pour lier une stratégie WAF à un hôte frontal Azure Front Door. Les mises à jour de stratégie ultérieures sont automatiquement appliquées à l'hôte frontal.

Étapes suivantes