AWS WAF & Shield: 웹 애플리케이션과 DDoS 방어 완벽 가이드
AWS WAF로 웹 공격을 차단하고 Shield로 DDoS를 방어하는 방법과 아키텍처 설계를 알아봅니다.
관련 시험 도메인
- Domain 1: Design Secure Architectures
핵심 요약 (BLUF)
AWS Shield Standard는 무료로 L3/L4 DDoS를 방어하고, WAF는 L7 웹 공격(SQL 인젝션, XSS 등)을 차단합니다. Shield Advanced는 유료로 고급 DDoS 보호, SRT 지원, 비용 보호를 제공합니다. CloudFront + WAF 조합이 엣지 방어의 모범 사례입니다.
시험 팁
시험 핵심: "L3/L4 DDoS = Shield", "L7 웹 공격 = WAF", "고급 DDoS + SRT + 비용 보호 = Shield Advanced"
AWS Shield
Shield Standard vs Advanced
| 항목 | Shield Standard | Shield Advanced |
|---|---|---|
| 비용 | 무료 (자동 적용) | 월 $3,000 + 데이터 전송 |
| 보호 계층 | L3/L4 | L3/L4 + L7 |
| 적용 대상 | 모든 AWS 리소스 | CloudFront, ALB, NLB, EC2, Global Accelerator, Route 53 |
| DDoS 탐지 | 기본 | 고급 (실시간 가시성) |
| SRT 지원 | ❌ | ✅ 24/7 |
| 비용 보호 | ❌ | ✅ DDoS로 인한 스케일링 비용 크레딧 |
| WAF 통합 | ❌ | ✅ WAF 비용 포함 |
| 상태 기반 탐지 | ❌ | ✅ 리소스별 트래픽 베이스라인 |
| 약정 | 없음 | 1년 |
Shield Standard
모든 AWS 고객에게 자동으로 적용됩니다.
보호 범위:
- SYN/UDP Flood
- Reflection 공격
- 기타 L3/L4 DDoS 공격
자동 탐지 + 자동 완화 (사용자 설정 불필요)
Shield Advanced
대규모, 정교한 DDoS 공격에 대한 고급 보호입니다.
추가 기능:
1. 실시간 공격 가시성 (CloudWatch 지표)
2. Shield Response Team (SRT) 24/7 지원
3. DDoS 비용 보호 (스케일링 비용 크레딧)
4. WAF 규칙 자동 생성 (L7 DDoS 완화)
5. 상태 기반 탐지 (정상 트래픽 베이스라인)
시험 팁
Shield Advanced 키워드: "24/7 전문가 지원", "DDoS 비용 보호", "실시간 가시성" → Shield Advanced 선택
AWS WAF
WAF란?
웹 애플리케이션 방화벽으로, HTTP/HTTPS 요청을 검사하여 악성 트래픽을 차단합니다.
WAF 적용 가능한 서비스
| 서비스 | 보호 대상 |
|---|---|
| CloudFront | 글로벌 엣지에서 차단 (권장) |
| ALB | 리전별 웹 앱 보호 |
| API Gateway | API 엔드포인트 보호 |
| AppSync | GraphQL API 보호 |
| Cognito User Pool | 인증 엔드포인트 보호 |
시험 팁
WAF 미지원: NLB, EC2 직접 연결에는 WAF를 적용할 수 없습니다. CloudFront나 ALB를 앞에 두어야 합니다.
WAF 규칙 유형
1. 일반 규칙 (Regular Rule)
특정 조건을 검사하여 허용/차단합니다.
| 조건 | 설명 |
|---|---|
| IP 세트 | 특정 IP 허용/차단 |
| 지역 일치 | 국가별 차단 |
| 문자열 일치 | URI, 헤더, 본문 검사 |
| 정규식 | 패턴 매칭 |
| 크기 제약 | 요청 크기 제한 |
| SQL 인젝션 | SQL 삽입 공격 탐지 |
| XSS | 크로스 사이트 스크립팅 탐지 |
2. 속도 기반 규칙 (Rate-Based Rule)
5분간 동일 IP에서 임계치 초과 요청 시 자동 차단
예시: 5분간 2,000건 초과 → IP 차단
→ HTTP Flood DDoS 방어에 효과적
3. 관리형 규칙 그룹 (Managed Rule Groups)
AWS 및 AWS Marketplace 파트너가 제공하는 사전 구성된 규칙입니다.
| 규칙 그룹 | 보호 대상 |
|---|---|
| Core Rule Set | 일반 웹 취약점 (OWASP Top 10) |
| SQL Injection | SQL 삽입 공격 |
| Known Bad Inputs | 알려진 악성 패턴 |
| IP Reputation | 악성 IP 차단 |
| Bot Control | 봇 트래픽 관리 |
| Account Takeover Prevention | 계정 탈취 방지 |
WAF Web ACL 구조
Web ACL (웹 접근 제어 목록)
│
├── Rule 1: AWS 관리형 규칙 (Core Rule Set) [Priority: 0]
│ → Action: Block
│
├── Rule 2: 속도 기반 규칙 (2000건/5분) [Priority: 1]
│ → Action: Block
│
├── Rule 3: 지역 차단 (특정 국가) [Priority: 2]
│ → Action: Block
│
├── Rule 4: IP 화이트리스트 [Priority: 3]
│ → Action: Allow
│
└── Default Action: Allow
시험 팁
WAF 규칙 평가 순서: 우선순위(Priority) 번호가 낮은 규칙부터 평가합니다. 매칭되면 해당 액션 실행 후 평가 종료.
다층 방어 아키텍처
모범 사례: CloudFront + WAF + Shield
[인터넷]
│
▼
[CloudFront] ← WAF Web ACL 연결
│ ├── 관리형 규칙 (OWASP)
│ ├── 속도 기반 규칙
│ └── 지역 차단
│
│ Shield Standard (자동, 무료)
│ Shield Advanced (선택, 유료)
│
▼
[ALB] ← 추가 WAF 가능
│
▼
[EC2 / ECS / Lambda]
방어 계층별 역할
| 계층 | 서비스 | 방어 대상 |
|---|---|---|
| 엣지 (L3/L4) | Shield Standard | SYN Flood, UDP Flood |
| 엣지 (L7) | WAF on CloudFront | SQL 인젝션, XSS, 봇 |
| 리전 (L7) | WAF on ALB | 추가 규칙 적용 |
| 고급 DDoS | Shield Advanced | 대규모 정교한 공격 |
WAF 비용 구조
| 항목 | 비용 |
|---|---|
| Web ACL | $5/월 |
| 규칙 | $1/규칙/월 |
| 요청 | $0.60/백만 건 |
| 관리형 규칙 그룹 | 그룹별 상이 |
예시: Web ACL 1개, 규칙 5개, 월 1000만 건
- Web ACL: $5
- 규칙: $5 (5 × $1)
- 요청: $6 (10 × $0.60)
- 합계: $16/월
AWS Firewall Manager
여러 계정의 WAF, Shield Advanced, Security Group을 중앙 관리합니다.
Organizations + Firewall Manager:
Management Account
└── Firewall Manager
├── WAF 정책 → 모든 계정의 CloudFront/ALB에 적용
├── Shield Advanced 정책 → 지정 계정에 적용
└── Security Group 정책 → VPC 리소스에 적용
시험 팁
Firewall Manager 전제 조건: AWS Organizations + WAF 활성화가 필요합니다.
SAA-C03 시험 출제 포인트
- ✅ Shield Standard: "무료, 자동, L3/L4 DDoS 방어"
- ✅ Shield Advanced: "유료, SRT 24/7, DDoS 비용 보호"
- ✅ WAF 적용 대상: "CloudFront, ALB, API Gateway (NLB 불가)"
- ✅ 모범 사례: "CloudFront + WAF = 엣지 방어"
- ✅ 속도 기반 규칙: "HTTP Flood 방어"
시험 팁
시험 문제 예시: "웹 애플리케이션이 SQL 인젝션 공격을 받고 있습니다. 어떻게 방어할까요?" → 정답: AWS WAF에 SQL 인젝션 관리형 규칙 적용 (CloudFront 또는 ALB에 연결)
자주 묻는 질문 (FAQ)
Q: Shield Standard만으로 충분한가요?
대부분의 일반적인 DDoS 공격에 대해 Shield Standard로 충분합니다. 대규모 공격, SRT 전문가 지원, 비용 보호가 필요한 경우에만 Shield Advanced를 고려하세요.
Q: WAF를 NLB에 직접 적용할 수 있나요?
아니요. WAF는 L7(HTTP/HTTPS) 서비스에만 적용 가능합니다. NLB는 L4이므로 직접 적용할 수 없습니다. NLB 앞에 CloudFront를 두거나, ALB로 전환을 고려하세요.
Q: Shield Advanced를 활성화하면 WAF도 포함되나요?
네. Shield Advanced에는 WAF 사용 비용이 포함됩니다. WAF Web ACL, 규칙, 요청 비용이 Shield Advanced 구독에 포함됩니다.
Q: WAF 규칙을 테스트하려면 어떻게 하나요?
규칙 액션을 Count(카운트) 모드로 설정하면 실제 차단 없이 매칭 건수만 기록합니다. 충분히 테스트한 후 Block으로 변경하세요.
Q: Firewall Manager는 언제 사용해야 하나요?
여러 AWS 계정에 걸쳐 WAF 규칙이나 Shield Advanced를 일관되게 적용해야 할 때 사용합니다. 단일 계정이면 Firewall Manager 없이 WAF를 직접 설정하는 것이 간단합니다.