Настройка настраиваемого ответа для Azure Брандмауэр веб-приложений

В этой статье описывается, как настроить настраиваемую страницу ответа, когда azure Брандмауэр веб-приложений блокирует запрос.

По умолчанию, когда azure Брандмауэр веб-приложений блокирует запрос из-за соответствующего правила, возвращается код состояния 403 с сообщением "Запрос заблокирован". Сообщение по умолчанию также содержит строку ссылки на отслеживание, которая используется для связывания с записями журнала для запроса. Вы можете настроить пользовательский код состояния ответа и пользовательское сообщение со строкой ссылки для вашего варианта использования.

Настройка пользовательского кода состояния ответа и сообщения с помощью портала

Вы можете настроить пользовательский код состояния ответа и текст в разделе Параметры политики на портале Azure Брандмауэр веб-приложений.

Снимок экрана: параметры Политики Брандмауэр веб-приложений Azure.

В предыдущем примере мы сохранили код ответа как 403 и настроили короткое сообщение "Свяжитесь с нами", как показано на следующем рисунке:

Снимок экрана: пример пользовательского ответа.

"{{azure-ref}}" вставляет уникальную строку ссылки в текст ответа. Это значение соответствует полю отслеживаемой ссылки (TrackingReference) в журналах FrontDoorAccessLog и FrontDoorWebApplicationFirewallLog.

"{{azure-ref}}" вставляет уникальную строку ссылки в текст ответа. Это значение соответствует полю отслеживаемой ссылки (TrackingReference) в журналах FrontdoorAccessLog и FrontdoorWebApplicationFirewallLog.

Настройка пользовательского кода состояния ответа и сообщения с помощью PowerShell

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

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

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

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

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

Connect-AzAccount
Install-Module -Name Az

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

Install-Module PowerShellGet -Force -AllowClobber

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

Install-Module -Name Az.FrontDoor

Создание группы ресурсов

В Azure выделите связанные ресурсы группе ресурсов. Здесь мы создадим группу ресурсов с помощью командлета New-AzResourceGroup.

New-AzResourceGroup -Name myResourceGroupWAF

Создание политики WAF с пользовательским ответом

В следующем примере показано, как создать политику брандмауэра веб-приложения (WAF) с пользовательским кодом состояния ответа 405 и сообщением "Вы заблокированы" с помощью командлета New-AzFrontDoorWafPolicy.

# WAF policy setting
New-AzFrontDoorWafPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-EnabledState enabled `
-Mode Detection `
-CustomBlockResponseStatusCode 405 `
-CustomBlockResponseBody "<html><head><title>You are blocked.</title></head><body></body></html>"

Измените пользовательский код ответа или параметры текста ответа существующей политики WAF с помощью командлета Update-AzFrontDoorFireWallPolicy.

# modify WAF response code
Update-AzFrontDoorFireWallPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-EnabledState enabled `
-Mode Detection `
-CustomBlockResponseStatusCode 403
# modify WAF response body
Update-AzFrontDoorFireWallPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-CustomBlockResponseBody "<html><head><title>Forbidden</title></head><body>{{azure-ref}}</body></html>"

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

Узнайте больше о Брандмауэр веб-приложений Azure в Azure Front Door.