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