Když Azure Front Door Web Application Firewall (WAF) ve výchozím nastavení blokuje požadavek kvůli odpovídajícímu pravidlu, vrátí stavový kód 403 se zprávou "Požadavek je zablokovaný". Výchozí zpráva obsahuje také sledovací referenční řetězec, který slouží k propojení s položkami protokolu pro požadavek.
V tomto článku se dozvíte, jak nakonfigurovat vlastní stavový kód odpovědi a vlastní zprávu s referenčním řetězcem pro váš případ použití pomocí webu Azure Portal, PowerShellu nebo Azure CLI.
Požadavky
Účet Azure s aktivním předplatným.
Vytvořte si bezplatný účet.
Azure Cloud Shell nebo Azure PowerShell.
Kroky v tomto článku spouští rutiny Azure PowerShellu interaktivně ve službě Azure Cloud Shell. Pokud chcete spustit rutiny v Cloud Shellu, vyberte Otevřít Cloud Shell v pravém horním rohu bloku kódu. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z webu Azure Portal.
Ke spuštění rutin můžete také nainstalovat Azure PowerShell místně . Tento článek vyžaduje modul Azure PowerShellu. Pokud powershell spouštíte místně, přihlaste se k Azure pomocí rutiny Connect-AzAccount .
Účet Azure s aktivním předplatným.
Vytvořte si bezplatný účet.
Azure Cloud Shell nebo Azure CLI.
Kroky v tomto článku spouští příkazy Azure CLI interaktivně v Azure Cloud Shellu. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít Cloud Shell v pravém horním rohu bloku kódu. Vyberte Kopírovat pro zkopírování kódu, vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z webu Azure Portal.
Ke spuštění příkazů můžete také nainstalovat Azure CLI místně . Tento článek vyžaduje Azure CLI ve verzi 2.67.0 nebo vyšší a rozšíření front-door. Spuštěním příkazu az --version vyhledejte nainstalovanou verzi. Pokud azure CLI spustíte místně, přihlaste se k Azure pomocí příkazu az login .
Pokud chcete přizpůsobit stavový kód a text odpovědi, postupujte takto:
Na webu Azure Portal přejděte k zásadám WAF služby Front Door.
V části Nastavení vyberte Nastavení zásad.
Zadejte vlastní stavový kód odpovědi a tělo odpovědi do boxů Blokovat stavový kód odpovědi a Blokovat tělo odpovědi.
Vyberte Uložit.
K přizpůsobení stavového kódu a textu odpovědi použijte rutinu Update-AzFrontDoorWafPolicy .
# Update WAF policy settings to customize response body and status code
Update-AzFrontDoorWafPolicy `
-Name 'myWAFPolicy' `
-ResourceGroupName 'myResourceGroup' `
-RequestBodyCheck 'Enabled' `
-RedirectUrl 'https://learn.microsoft.com/en-us/azure/web-application-firewall/' `
-CustomBlockResponseStatusCode '403' `
-CustomBlockResponseBody '<html><head><title>WAF Demo</title></head><body><p><h1><strong>WAF Custom Response Page</strong></h1></p><p>Please contact us with this information:<br>{{azure-ref}}</p></body></html>'
Pokud chcete přizpůsobit stavový kód a text odpovědi, použijte příkaz az network front-door waf-policy update .
# Update WAF policy settings to customize response body and status code
az network front-door waf-policy update \
--name 'myWAFPolicy' \
--resource-group 'myResourceGroup' \
--request-body-check 'Enabled' \
--redirect-url 'https://learn.microsoft.com/en-us/azure/web-application-firewall/' \
--custom-block-response-status-code '403' \
--custom-block-response-body 'PGh0bWw+PGhlYWQ+PHRpdGxlPldBRiBEZW1vPC90aXRsZT48L2hlYWQ+PGJvZHk+PHA+PGgxPjxzdHJvbmc+V0FGIEN1c3RvbSBSZXNwb25zZSBQYWdlPC9zdHJvbmc+PC9oMT48L3A+PHA+UGxlYXNlIGNvbnRhY3QgdXMgd2l0aCB0aGlzIGluZm9ybWF0aW9uOjxicj57e2F6dXJlLXJlZn19PC9wPjwvYm9keT48L2h0bWw+'
Poznámka:
Hodnota parametru --custom-block-response-body
musí být řetězec s kódováním base64 .
V předchozím příkladu byl kód odpovědi zachován jako 403 s vlastní zprávou: "Kontaktujte nás s touto informací:".
Poznámka:
{{azure-ref}}
vloží jedinečný referenční řetězec do textu odpovědi. Hodnota odpovídá poli TrackingReference v FrontDoorAccessLog
protokolech.FrontDoorWebApplicationFirewallLog
Důležité
Pokud necháte tělo blokové odpovědi prázdné, WAF vrátí odpověď 403 Zakázáno pro běžné bloky WAF a 429 Příliš mnoho požadavků pro bloky omezení počtu požadavků.
Další krok