기본적으로 Azure Front Door WAF(웹 애플리케이션 방화벽)가 일치하는 규칙으로 인해 요청을 차단하면 "요청이 차단됨"이라는 메시지와 함께 403 상태 코드를 반환합니다. 기본 메시지에는 요청에 대한 로그 항목 에 연결하는 데 사용되는 추적 참조 문자열도 포함됩니다.
이 문서에서는 Azure Portal, PowerShell 또는 Azure CLI를 사용하여 사용 사례에 대한 참조 문자열을 사용하여 사용자 지정 응답 상태 코드 및 사용자 지정 메시지를 구성하는 방법에 대해 알아봅니다.
필수 조건
활성 구독이 있는 Azure 계정.
무료로 계정을 만듭니다.
Azure Cloud Shell 또는 Azure PowerShell.
이 문서의 단계에서는 Azure Cloud Shell에서 Azure PowerShell cmdlet을 대화형으로 실행합니다. Cloud Shell에서 cmdlet을 실행하려면 코드 블록의 오른쪽 상단 모서리에 있는 Cloud Shell 열기를 선택합니다.
복사를 선택하여 코드를 복사한 다음, 복사한 코드를 Cloud Shell에 붙여넣어 실행합니다. Cloud Shell은 Azure Portal 내에서도 실행할 수 있습니다.
Azure PowerShell을 로컬로 설치하여 cmdlet을 실행할 수도 있습니다. 이 문서에는 Azure PowerShell 모듈이 필요합니다. PowerShell을 로컬로 실행하는 경우 Connect-AzAccount cmdlet을 사용하여 Azure에 로그인합니다.
활성 구독이 있는 Azure 계정.
무료로 계정을 만듭니다.
Azure Cloud Shell 또는 Azure CLI.
이 문서의 단계에서는 Azure Cloud Shell에서 대화형으로 Azure CLI 명령을 실행합니다. Cloud Shell에서 명령을 실행하려면 코드 블록의 오른쪽 위 모서리에서 Cloud Shell을 엽니다.
복사를 선택하여 코드를 복사하고 Cloud Shell에 붙여넣어 실행합니다. Cloud Shell은 Azure Portal 내에서도 실행할 수 있습니다.
Azure CLI를 로컬로 설치하여 명령을 실행할 수도 있습니다. 이 문서에는 Azure CLI 버전 2.67.0 이상 및 프런트 도어 확장이 필요합니다.
az --version 명령을 실행하여 설치된 버전을 찾습니다. Azure CLI를 로컬로 실행하는 경우 az login 명령을 사용하여 Azure에 로그인합니다.
응답 상태 코드 및 본문을 사용자 지정하려면 다음 단계를 수행합니다.
Azure Portal에서 Front Door WAF 정책으로 이동합니다.
설정에서 정책 설정을 선택합니다.
응답 상태 차단 코드와 응답 본문 차단 상자에 각각 사용자 지정 응답 상태 코드 와 응답 본문을 입력합니다.
저장을 선택합니다.
응답 상태 코드 및 본문을 사용자 지정하려면 Update-AzFrontDoorWafPolicy cmdlet을 사용합니다.
# 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>'
응답 상태 코드 및 본문을 사용자 지정하려면 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+'
비고
매개 변수 값 --custom-block-response-body
은 base64 로 인코딩된 문자열이어야 합니다.
이전 예제에서 응답 코드는 사용자 지정 메시지와 함께 403으로 유지되었습니다. "이 정보로 문의하세요.".
비고
{{azure-ref}}
는 응답 본문에 고유 참조 문자열을 삽입합니다. 값은 FrontDoorAccessLog
및 FrontDoorWebApplicationFirewallLog
로그의 TrackingReference 필드와 일치합니다.
중요합니다
블록 응답 본문을 비워 두면 WAF는 일반 WAF 블록 에 대해 403 금지된 응답과 속도 제한 블록에 대한 429 너무 많은 요청을 반환합니다 .
다음 단계