02. 클라우드 보안 공부/자격증 준비

✅[AWS Security] 웹 애플리케이션 방화벽(WAF) 완벽 가이드 🛡️

taegi- 2025. 6. 4. 08:33

전통적인 방화벽 vs WAF: 왜 WAF가 필요한가?

전통적인 네트워크 방화벽의 한계
기존 방화벽은 Layer 3/4에서 작동하며, IP 주소와 포트 번호 등의 기본 정보를 토대로 트래픽을 허용하거나 차단합니다. 하지만 이 방식은 실제 HTTP 요청의 **내부 페이로드(콘텐츠)**를 검사하지 못하기 때문에, SQL Injection, XSS 등 웹 애플리케이션 계층의 공격을 탐지할 수 없습니다.

  • 예시:
     
    text
    [전통적 방화벽] - Source IP: 1.2.3.4 - Destination Port: 80 - Protocol: TCP → 허용/차단 결정 (HTTP 내부 내용은 모름)

WAF의 필요성
이러한 한계를 극복하기 위해 등장한 것이 바로 **Web Application Firewall(WAF)**입니다.
WAF는 Layer 7(애플리케이션 계층)에서 동작하며, HTTP/HTTPS 요청의 페이로드(본문/쿼리/헤더 등)를 심층 분석하여 악성 콘텐츠, 공격 패턴, 자동화된 봇 트래픽 등을 실시간으로 탐지하고 차단합니다.

  • WAF가 탐지하는 공격 예시:
    • SQL Injection
    • Cross-Site Scripting(XSS)
    • DDoS
    • 취약점 익스플로잇
    • 크리덴셜 스터핑 등
 
text
[네트워크 방화벽] → [WAF] → [웹 서버] (기본 보호) (애플리케이션 계층 보호)

AWS WAF의 핵심 기능 ⚙️

1. 관리형 규칙 세트 (Managed Rules)

AWS에서 제공하는 사전 정의 규칙 그룹을 바로 적용할 수 있어, OWASP Top 10 등 주요 위협에 대한 즉각적인 방어가 가능합니다.

  • 예시 규칙 그룹:
    • AWSManagedRulesCommonRuleSet: SQLi, XSS 등 일반 공격 차단
    • AWSManagedRulesKnownBadInputsRuleSet: 알려진 악성 입력 차단
    • AWSManagedRulesLinuxRuleSet: Linux 대상 공격 방어
    • AWSManagedRulesWordPressRuleSet: WordPress 취약점 보호 등

2. 사용자 정의 규칙 (Custom Rules)

조직의 요구에 맞는 맞춤형 룰셋을 직접 만들 수 있습니다.

  • 조건 예시:
    • IP 세트(특정 IP 허용/차단)
    • Geo(국가별 접근 제한)
    • HTTP 헤더/쿠키 값 필터링
    • Rate-based(초당 요청 수 제한, DDoS 방어)
 
json
// 예시: 5분간 100회 이상 요청 시 차단 { "Name": "RateLimitRule", "Priority": 1, "Action": { "Block": {} }, "Statement": { "RateBasedStatement": { "Limit": 100, "AggregateKeyType": "IP" } } }

3. 실시간 모니터링 & 로깅

  • Amazon CloudWatch: 실시간 메트릭, 대시보드 시각화
  • AWS WAF 로그: 차단된 요청 상세 정보 저장(S3 연동)
  • EventBridge + Lambda: 자동화된 대응 워크플로우(예: 자동 알림, 자동 차단)

AWS WAF의 통합성과 배포 옵션 🔗

AWS WAF의 가장 큰 강점은 AWS 서비스와의 통합성입니다.
별도의 인스턴스에 직접 설치하지 않아도, 다양한 AWS 서비스에 손쉽게 적용할 수 있습니다.

통합 서비스설명
Amazon CloudFront 글로벌 CDN 엣지에서 WAF 적용, 전 세계 트래픽 보호
Application Load Balancer ALB 앞단에서 웹 트래픽 검사, 웹 서버 보호
Amazon API Gateway REST API 호출에 대한 악성 요청 차단
AWS AppSync GraphQL API 보호
Amazon Cognito 인증/인가 API 보호
 
  • 장점:
    • 고가용성, 확장성 자동 보장
    • 관리형 콘솔 제공(시각화, 손쉬운 설정)
    • 다양한 기성 규칙과 사용자 정의 규칙 세트 동시 사용 가능

타사 WAF 솔루션과의 비교 📊

1. ModSecurity (오픈소스)

  • 장점: 무료, 커스텀 규칙 유연성, 다양한 웹서버(Apache, Nginx 등) 지원
  • 단점: 규칙 적용에 시간 소요, 실시간 모니터링/관리 기능 제한, 직접 운영 필요

2. Cloudflare WAF

  • 장점: CDN 통합, AI 기반 위협 탐지, Zero-day 대응, 글로벌 엣지 보호
  • 단점: AWS와의 통합성은 제한적, 프리미엄 기능은 유료

3. Akamai WAF

  • 장점: 엣지 네트워크 기반 초저지연, DDoS 방어, API 보안
  • 단점: 복잡한 가격 정책, 초기 설정 시간 소요

AWS WAF의 차별점

  • AWS 서비스와의 완벽한 통합
  • 관리형 콘솔 및 자동 확장
  • 기성 규칙 + 커스텀 규칙의 조합
  • 사용량 기반 과금, 손쉬운 배포

AWS WAF 실무 적용 및 모범 사례 ✅

1. 다층 보안 아키텍처

  • 네트워크 방화벽 + WAF 조합으로 L3~L7 계층 모두 보호
  • WAF는 웹 익스플로잇, 취약점 공격, 봇 트래픽 등 애플리케이션 계층 위협에 특화

2. 규칙 적용 전략

  • 기성 규칙(Managed Rules): 바로 적용해도 안전한 보호
  • 사용자 정의 규칙: 조직 환경/애플리케이션 특성에 맞게 커스터마이즈
  • Count 모드: 차단 전 탐지 및 오탐율 파악

3. 자동화와 확장성

  • CloudFormation, Terraform 등 IaC로 WAF 정책 자동화
  • EventBridge + Lambda로 자동 알림/자동 차단 워크플로우 구현
  • CloudWatch로 실시간 모니터링 및 알림

4. 비용 최적화

  • 규칙 그룹 통합: 중복 규칙 최소화
  • 수명주기 정책: 오래된 로그 자동 삭제
  • Free Tier 활용: 월 1,000만 요청 무료

AWS WAF의 실제 활용 예시와 보안 효과

  • 개발자가 취약점 패치 중일 때: WAF 규칙으로 임시 방어 가능
  • 취약점 탐지: WAF 로그에서 비정상 요청 패턴 확인 → 보안팀에 알림
  • 다양한 규칙 그룹: Linux, PHP, SQL, Windows, WordPress 등 다양한 환경에 맞는 룰셋 무료/유료로 사용 가능
  • 유연한 정책: 여러 개의 사용자 지정 규칙 세트 생성 및 적용

AWS Security 자격증 시험 출제 포인트 📝

핵심 개념

  • WAF와 전통적인 방화벽의 차이
  • Managed Rule과 Custom Rule의 적용 시나리오
  • AWS 서비스와의 통합 아키텍처(CloudFront, ALB, API Gateway 등)
  • Rate-based 규칙과 Geo-blocking 활용법

실무 시나리오

  • DDoS 대응: Rate Limiting 규칙 설계
  • SQLi/XSS 방어: Managed Rule 적용
  • 멀티 리전 글로벌 배포: CloudFront + WAF 조합

시험 팁

  • JSON 기반 규칙 문법(AND/OR/NOT Statement)
  • WAF 과금 구조(Web ACL, Rule Group별)
  • CloudFormation/Terraform을 통한 자동화 배포

결론: AWS WAF가 보안 전략의 핵심인 이유

AWS WAF는 완전 관리형 웹 애플리케이션 방화벽으로,

  • 고가용성/확장성/자동화/통합성 등 클라우드 환경에서 필요한 모든 요소를 갖추고 있습니다.
  • 올바른 규칙만 마련하면, 애플리케이션에 취약점이 있더라도 실질적인 방어가 가능합니다.
  • 개발자가 취약점을 패치하는 동안 WAF가 1차 방어선을 제공해줍니다.

AWS Security 자격증 준비 시

  • WAF의 작동 원리, 규칙 생성 및 적용, AWS 서비스와의 통합 방식, 실무 시나리오에서의 활용법을 반드시 숙지하세요!