Front Door의 웹 애플리케이션 방화벽
Front Door 프로필에 WAF 정책을 연결하고, OWASP 상위 10개 항목을 보호하는 관리형 규칙 집합을 사용하도록 설정하며, 알려진 악성 IP를 차단하는 사용자 지정 규칙을 만듭니다.
Front Door의 웹 애플리케이션 방화벽은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
Web Application Firewall이란 무엇인가요
Web Application Firewall (WAF)은 계층 7에서 HTTP/HTTPS 요청을 검사하고 알려진 공격 패턴이 애플리케이션에 도달하기 전에 차단합니다. 이를 통해 방지할 수 있는 일반적인 공격에는 SQL 삽입, 사이트 간 스크립팅(XSS), 원격 파일 포함, 프로토콜 이상이 있습니다. WAF가 없으면 네트워크를 올바르게 잠갔더라도 공격자가 애플리케이션 코드의 취약점을 악용할 수 있습니다. Azure WAF는 Azure Front Door와 Azure Application Gateway 모두에 통합됩니다.
WAF 정책 리소스
Azure에서 WAF 정책은 관리형 규칙 집합과 사용자 지정 규칙을 포함하는 독립 실행형 리소스입니다. 정책을 만들고 규칙을 구성한 다음 하나 이상의 Front Door 엔드포인트 또는 Application Gateway 인스턴스에 연결합니다. 이러한 분리된 설계 덕분에 하나의 WAF 정책으로 여러 Front Door 엔드포인트를 보호할 수 있으며, 정책을 한 번 변경하면 연결된 모든 엔드포인트에 자동으로 전파됩니다. WAF 정책은 특정 Azure 지역에 존재하지만 Front Door에 연결하면 모든 PoP에 전 세계적으로 보호 기능이 적용됩니다.
# Create a WAF policy for Front Door
az network front-door waf-policy create \
--name myWAFPolicy \
--resource-group myRG \
--sku Premium_AzureFrontDoor \
--mode Prevention탐지 모드와 방지 모드
WAF 정책은 두 가지 모드로 작동합니다. 탐지 모드는 모든 요청을 검사하고 규칙과 일치하는 항목을 기록하지만 트래픽을 차단하지는 않습니다. 정책이 차단할 트래픽을 실제로 적용하기 전에 파악하려는 초기 배포에 유용합니다. 방지 모드는 규칙 조건과 일치하는 요청을 기록하는 동시에 적극적으로 차단합니다. 권장 방법은 탐지 모드로 시작하여 WAF 로그에서 오탐을 검토하고 규칙을 조정한 다음, 정책이 올바르게 작동한다고 확신할 때 방지 모드로 전환하는 것입니다.
# Switch WAF policy to Prevention mode
az network front-door waf-policy update \
--name myWAFPolicy \
--resource-group myRG \
--mode PreventionMicrosoft Default Rule Set
Microsoft Default Rule Set (DRS)는 Microsoft 보안 팀이 유지 관리하는 관리형 규칙 그룹입니다. 여기에는 OWASP Top 10 취약점을 탐지하는 규칙과 봇 시그니처 및 자격 증명 스터핑 패턴이 포함되어 있습니다. Microsoft는 새롭게 등장하는 위협에 대응하여 DRS를 새로운 규칙으로 지속적으로 업데이트하므로, 직접 규칙을 작성할 필요가 없습니다. DRS 버전은 정기적으로 출시되며(예: DRS 2.1), 유지 관리 기간에 WAF 정책을 최신 버전으로 업그레이드할 수 있습니다.
# Add the Microsoft Default Rule Set to your WAF policy
az network front-door waf-policy managed-rules add \
--policy-name myWAFPolicy \
--resource-group myRG \
--type Microsoft_DefaultRuleSet \
--version '2.1'OWASP Rule Set
OWASP Core Rule Set (CRS)는 Application Gateway WAF와 Verizon 등급 CDN WAF의 일부로 제공됩니다. 이 규칙 세트에는 OWASP Top 10의 인젝션 공격, 손상된 인증, 민감한 데이터 노출, XML 외부 엔터티 공격 등을 다루는 200개 이상의 규칙이 포함되어 있습니다. 각 규칙에는 ID와 그룹이 있습니다(예: REQUEST-942-APPLICATION-ATTACK-SQLI). 전체 규칙 그룹을 비활성화하지 않고도 ID를 기준으로 개별 규칙을 비활성화하여 오탐을 억제할 수 있습니다.
사용자 지정 WAF 규칙
사용자 지정 규칙을 사용하면 관리형 규칙 세트에서 다루지 않는 구체적인 허용 또는 차단 조건을 작성할 수 있습니다. 사용자 지정 규칙은 하나 이상의 일치 조건(예: 원본 IP, 요청 URI, 헤더 값, 쿼리 문자열)과 작업(허용, Block, 기록 또는 Redirect)으로 구성됩니다. 사용자 지정 규칙은 관리형 규칙 세트보다 먼저 평가되며 우선순위 정렬을 지원합니다. 일반적인 사용 사례로는 특정 국가 차단, 공격적인 크롤러의 요청 속도 제한, WAF 규칙을 우회할 수 있는 신뢰할 수 있는 모니터링 IP의 허용 목록 등록 등이 있습니다.
# Create a custom rule to block requests from a specific IP
az network front-door waf-policy rule create \
--name BlockMaliciousIP \
--policy-name myWAFPolicy \
--resource-group myRG \
--priority 100 \
--action Block \
--rule-type MatchRule \
--match-condition remoteAddr IPMatch '1.2.3.4/32'요청 속도 제한
요청 속도 제한 규칙은 일정한 시간 창(1분 또는 5분) 내에 단일 클라이언트 IP 주소에서 전송되는 HTTP 요청 수를 제한합니다. 요청 수가 임계값을 초과하면 WAF는 해당 클라이언트에 HTTP 429(요청 너무 많음)를 반환합니다. 요청 속도 제한은 무차별 대입 로그인 공격, 자격 증명 스터핑, API 악용에 효과적입니다. WAF 정책에서 사용자 지정 규칙을 정의할 때 요청 임계값과 시간 창을 구성합니다.
# Create a rate limit rule — max 100 requests per minute per IP
az network front-door waf-policy rule create \
--name RateLimitLogin \
--policy-name myWAFPolicy \
--resource-group myRG \
--priority 200 \
--action Block \
--rule-type RateLimitRule \
--rate-limit-threshold 100 \
--rate-limit-duration-in-minutes 1 \
--match-condition requestUri Contains '/login'봇 보호 Rule Set
봇 관리자 규칙 세트(Front Door Premium에서 사용 가능)는 수신 트래픽을 정상 봇(확인된 검색 엔진 크롤러), 악성 봇(알려진 스캐너 및 취약점 탐색 도구), 알 수 없는 봇(분류되지 않은 자동화 트래픽)으로 분류합니다. 각 Category에 대한 작업을 구성하여 정상 봇은 허용하고, 악성 봇은 차단하며, 알 수 없는 봇은 기록할 수 있습니다. 봇 보호가 없으면 자동화된 스캐너가 막대한 트래픽 부하를 발생시켜 비용을 증가시키고 분석에서 실제 사용자 트래픽을 가릴 수 있습니다.
WAF 제외
관리형 규칙 세트는 때때로 오탐을 발생시킵니다. 즉, 합법적인 요청이 우연히 보안 규칙 패턴과 일치하여 차단되는 경우입니다. 예를 들어 서식 있는 텍스트 편집 기능이 있는 CMS는 XSS 규칙과 일치하는 HTML을 POST 본문에 포함하여 전송할 수 있습니다. WAF 제외를 사용하면 규칙을 완전히 비활성화하지 않고도 특정 요청 속성(요청 헤더, 쿠키, 쿼리 문자열 매개 변수 또는 요청 본문 필드)을 규칙 평가에서 전역으로 제외하거나 특정 규칙 그룹 또는 규칙 ID에 대해서만 제외할 수 있습니다.
로그를 사용한 WAF 모니터링
WAF는 Azure Monitor에 두 가지 유형의 로그 항목을 생성합니다. WAF 로그는 규칙과 일치한 모든 요청(차단되었거나 기록된 요청)을 포함하고, 액세스 로그는 어떤 규칙과도 일치하지 않고 통과한 요청을 포함한 모든 요청을 기록합니다. 이러한 로그를 Log Analytics 작업 영역으로 보내고 KQL을 사용하여 차단된 요청 추세를 조회하거나, 공격을 가장 많이 받은 엔드포인트를 식별하거나, 특정 클라이언트 IP를 조사할 수 있습니다. 포털의 WAF Insights 통합 문서는 이러한 로그를 시각화하는 미리 작성된 대시보드를 제공합니다.
// KQL — top 10 WAF rule hits in the last 24h
AzureDiagnostics
| where Category == 'FrontDoorWebApplicationFirewallLog'
| where TimeGenerated > ago(24h)
| where action_s == 'Block'
| summarize HitCount = count() by ruleName_s
| top 10 by HitCount descWAF 정책을 Front Door에 연결
WAF 보호를 활성화하려면 WAF 정책을 Front Door 보안 프로필에 연결해야 합니다. 포털에서 Front Door 프로필로 이동하여 보안 정책을 선택하고 WAF 정책을 추가한 다음, 해당 정책을 적용할 도메인을 지정합니다. 또는 CLI를 사용하여 정책을 연결할 수도 있습니다. 연결이 완료되면 WAF는 해당 Front Door 도메인으로 들어오는 모든 HTTP/HTTPS 요청을 원본으로 라우팅하기 전에 검사합니다. 도메인마다 하나의 WAF 정책을 연결할 수 있습니다.
# Associate WAF policy with a Front Door security policy
az afd security-policy create \
--profile-name myFrontDoor \
--resource-group myRG \
--security-policy-name mySecurityPolicy \
--domains /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Cdn/profiles/myFrontDoor/customDomains/myDomain \
--waf-policy /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/myWAFPolicy빠른 확인
이 단원에서 다룬 Microsoft Azure Fundamentals (AZ-900) 개념에 대한 이해도를 확인해 보십시오.
단원 요약
이 단원에서는 다음을 배웠습니다. WAF 정책에는 원본에 도달하기 전에 HTTP 트래픽을 검사하는 관리형 규칙 세트(Microsoft DRS, OWASP)와 사용자 지정 규칙이 포함됩니다. 탐지 모드를 사용하면 방지 모드로 전환하기 전에 규칙을 조정할 수 있으며, 요청 속도 제한 규칙은 무차별 대입 공격과 악용으로부터 보호합니다. 다음 단원에서는 Front Door의 규칙 엔진을 사용하여 Redirect와 보안 헤더로 성능을 최적화하는 방법을 알아보겠습니다.
자주 묻는 질문
“Front Door의 웹 애플리케이션 방화벽” 강의는 무료인가요?
네 — “Front Door의 웹 애플리케이션 방화벽” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“Front Door의 웹 애플리케이션 방화벽”에서 뭘 배우나요?
Front Door 프로필에 WAF 정책을 연결하고, OWASP 상위 10개 항목을 보호하는 관리형 규칙 집합을 사용하도록 설정하며, 알려진 악성 IP를 차단하는 사용자 지정 규칙을 만듭니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“Front Door의 웹 애플리케이션 방화벽” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Azure CDN 프로필 및 엔드포인트
- Azure Front Door: 글로벌 부하 분산
- Front Door의 웹 애플리케이션 방화벽
- CDN 규칙으로 성능 최적화