Поделиться через


Настройка политики геофильтрации для брандмауэра веб-приложения (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 объект, содержащийся nonUSBlockRule с помощью New-AzFrontDoorWafPolicy в указанной группе ресурсов, содержащей профиль Azure Front 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]

Примечание.

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

Следующие шаги