Konfigurowanie odpowiedzi niestandardowej dla usługi Azure Web Application Firewall

W tym artykule opisano sposób konfigurowania niestandardowej strony odpowiedzi, gdy usługa Azure Web Application Firewall blokuje żądanie.

Domyślnie gdy usługa Azure Web Application Firewall blokuje żądanie z powodu zgodnej reguły, zwraca kod stanu 403 z komunikatem "Żądanie jest zablokowane". Komunikat domyślny zawiera również ciąg referencyjny śledzenia, który jest używany do łączenia z wpisami dziennika dla żądania. Można skonfigurować niestandardowy kod stanu odpowiedzi i niestandardowy komunikat z ciągiem referencyjnym dla danego przypadku użycia.

Konfigurowanie niestandardowego kodu stanu odpowiedzi i komunikatu przy użyciu portalu

Możesz skonfigurować niestandardowy kod stanu odpowiedzi i treść w obszarze Ustawienia zasad w witrynie Azure Web Application Firewall Portal.

Zrzut ekranu przedstawiający ustawienia usługi Azure Web Application Firewall Policy.

W poprzednim przykładzie zachowaliśmy kod odpowiedzi jako 403 i skonfigurowaliśmy krótki komunikat "Skontaktuj się z nami", jak pokazano na poniższej ilustracji:

Zrzut ekranu przedstawiający przykład odpowiedzi niestandardowej.

Element "{{azure-ref}}" wstawia unikatowy ciąg referencyjny w treści odpowiedzi. Wartość jest zgodna z polem TrackingReference w dziennikach FrontDoorAccessLog i FrontDoorWebApplicationFirewallLog .

Element "{{azure-ref}}" wstawia unikatowy ciąg referencyjny w treści odpowiedzi. Wartość jest zgodna z polem TrackingReference w dziennikach FrontdoorAccessLog i FrontdoorWebApplicationFirewallLog .

Konfigurowanie niestandardowego kodu stanu odpowiedzi i komunikatu przy użyciu programu PowerShell

Wykonaj następujące kroki, aby skonfigurować niestandardowy kod stanu odpowiedzi i komunikat przy użyciu programu PowerShell.

Konfigurowanie środowiska programu PowerShell

Program Azure PowerShell udostępnia zestaw poleceń cmdlet, które pozwalają zarządzać zasobami platformy Azure przy użyciu modelu usługi Azure Resource Manager.

Możesz zainstalować program Azure PowerShell w maszynie lokalnej i używać go w dowolnej sesji programu PowerShell. Postępuj zgodnie z instrukcjami na stronie, aby zalogować się przy użyciu poświadczeń platformy Azure. Następnie zainstaluj moduł Az programu PowerShell.

Nawiązywanie połączenia z platformą Azure za pomocą interaktywnego okna dialogowego logowania

Connect-AzAccount
Install-Module -Name Az

Upewnij się, że zainstalowano bieżącą wersję modułu PowerShellGet. Uruchom następujące polecenie i otwórz ponownie program PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Instalowanie modułu Az.FrontDoor

Install-Module -Name Az.FrontDoor

Tworzenie grupy zasobów

Na platformie Azure możesz przydzielić powiązane zasoby do grupy zasobów. W tym miejscu utworzymy grupę zasobów przy użyciu polecenia New-AzResourceGroup.

New-AzResourceGroup -Name myResourceGroupWAF

Tworzenie nowych zasad zapory aplikacji internetowej z niestandardową odpowiedzią

W poniższym przykładzie pokazano, jak utworzyć nowe zasady zapory aplikacji internetowej (WAF) z niestandardowym kodem stanu odpowiedzi ustawionym na wartość 405 i komunikatem "You are blocked" przy użyciu polecenia 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>"

Zmodyfikuj niestandardowy kod odpowiedzi lub ustawienia treści odpowiedzi istniejących zasad zapory aplikacji internetowej przy użyciu polecenia 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>"

Następne kroki

Dowiedz się więcej o usłudze Azure Web Application Firewall w usłudze Azure Front Door.