Настройка политики геофильтрации для брандмауэра веб-приложения (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
Свяжите объект политики 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. Последующие обновления политики автоматически применяются к интерфейсным узлу.
Следующие шаги
- Узнайте больше о брандмауэре веб-приложения Azure.
- Узнайте, как создать экземпляр Azure Front Door.