Настройка политики WAF геофильтрации для Azure Front Door

В этом руководстве показано, как использовать Azure PowerShell для создания примера политики геофильтрации и связывания политики с существующим интерфейсным узлом Azure Front Door. Этот пример политики геофильтрации блокирует запросы из всех других стран или регионов, кроме США.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.

Предварительные требования

Прежде чем приступить к настройке политики геофильтрации, настройте среду PowerShell и создайте профиль Azure Front Door.

Настройка среды PowerShell

В Azure PowerShell доступен набор командлетов, которые используют модель Azure Resource Manager для управления ресурсами Azure.

Вы можете установить Azure PowerShell на локальном компьютере и использовать его в любом сеансе PowerShell. Следуйте инструкциям на странице, чтобы войти с помощью учетных данных Azure. Затем установите модуль Az PowerShell.

Подключение к Azure с помощью интерактивного диалогового окна для входа

Install-Module -Name Az
Connect-AzAccount

Убедитесь, что у вас установлена текущая версия PowerShellGet. Выполните указанную ниже команду, а затем снова откройте PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Установка модуля Az.FrontDoor

Install-Module -Name Az.FrontDoor

Создание профиля Azure Front Door

Создайте профиль Azure Front Door, следуя инструкциям из статьи Краткое руководство. Создание профиля Azure Front Door.

Определение условия соответствия геофильтрации

Создайте пример условия соответствия, который выбирает запросы, не поступающие из "США", с помощью командлета New-AzFrontDoorWafMatchConditionObject в параметрах при создании условия соответствия.

Двухбуквенные коды стран или регионов с сопоставлением стран или регионов приведены в статье Что такое геофильтрация в домене для Azure Front Door?.

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

Добавление условия соответствия геофильтрации в правило с действием и приоритетом

Создайте CustomRule объект nonUSBlockRule на основе условия соответствия, действия и приоритета с помощью командлета New-AzFrontDoorWafCustomRuleObject. Пользовательское правило может иметь несколько условий соответствия. В этом примере Action для задано значение Block. Priority Параметр имеет значение 1, что является наивысшим приоритетом.

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

Добавление правил в политику

С помощью команды Get-AzResourceGroup найдите имя группы ресурсов, содержащей профиль Azure Front Door. Затем создайте geoPolicy объект , содержащий , с помощью командлета New-AzFrontDoorWafPolicy в указанной группе ресурсов, содержащей профиль Azure Front nonUSBlockRule Door. Укажите уникальное имя для политики геофильтрации.

В следующем примере используется имя myResourceGroupFD1 группы ресурсов с предположением, что вы создали профиль Azure Front Door с помощью инструкций, приведенных в кратком руководстве по созданию Azure Front Door. В следующем примере замените имя geoPolicyAllowUSOnly политики уникальным именем политики.

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

Свяжите объект политики WAF с существующим интерфейсным узлом Azure Front Door. Обновление свойств Azure Front Door.

Для этого сначала получите объект Azure Front Door с помощью командлета Get-AzFrontDoor.

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

Затем задайте для внешнего WebApplicationFirewallPolicyLink свойства идентификатор ресурса геополитики с помощью командлета Set-AzFrontDoor.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

Примечание

Чтобы связать политику WAF с интерфейсным узлом Azure Front Door, необходимо задать WebApplicationFirewallPolicyLink свойство только один раз. Последующие обновления политики автоматически применяются к интерфейсным узлу.

Дальнейшие действия