Categories: 미분류

AWS WAF 설정법 – 웹 공격 차단과 방화벽 관리

AWS WAF 설정법 – 웹 공격 차단과 방화벽 관리

웹 애플리케이션은 지속적으로 SQL 인젝션, XSS, 봇 트래픽, DDoS와 같은 공격 위협에 노출되어 있습니다. 이를 방어하기 위한 대표적인 솔루션이 웹 애플리케이션 방화벽(WAF)입니다. AWS WAF(Amazon Web Application Firewall)는 AWS 환경에 최적화된 관리형 보안 서비스로, 다양한 웹 공격을 자동으로 탐지하고 차단할 수 있습니다. 이번 포스팅에서는 AWS WAF 설정법 – 웹 공격 차단과 방화벽 관리라는 주제로 실전에서 바로 활용 가능한 설정 절차를 자세히 안내드립니다.


✅ AWS WAF란?

AWS WAF는 클라우드 기반 웹 애플리케이션 방화벽으로, 다음과 같은 기능을 제공합니다:

  • SQL Injection, XSS 등 OWASP Top 10 웹 공격 차단
  • IP 필터링, 요청 속도 제한, 봇 차단 등 정책 설정 가능
  • CloudFront, Application Load Balancer(ALB), API Gateway와 통합
  • 실시간 모니터링 및 경보 설정 가능

AWS Shield와 결합하면 DDoS 방어까지 확장 가능하여 종합적인 웹 보안 체계를 구축할 수 있습니다.


✅ 1단계: WAF Web ACL 생성하기

**Web ACL(Web Access Control List)**는 AWS WAF에서 방화벽 역할을 하는 정책 세트입니다.

📍 생성 경로

  • AWS 콘솔 > WAF & Shield > Web ACL > ‘Create web ACL’

📍 설정 항목

  1. Web ACL 이름: 예: my-app-waf
  2. 리전 선택:
    • CloudFront용 WAF는 Global 선택
    • ALB, API Gateway는 배포 리전 선택
  3. 리소스 연결:
    • ALB, API Gateway, CloudFront 중 선택하여 연결
  4. Associated resources에서 웹 리소스 선택

✅ 2단계: 규칙(Rules) 추가

WAF는 다양한 보안 규칙을 Rule 그룹으로 추가해 공격을 차단합니다.

📍 일반적으로 설정하는 룰

룰 유형설명
AWS Managed Rule GroupAWS에서 제공하는 사전 정의 룰 (권장)
IP Set Rule허용 또는 차단할 IP 목록
Rate-based Rule일정 시간 이상 요청한 IP 차단
SQL Injection MatchSQL 삽입 공격 탐지
XSS Match크로스사이트 스크립팅 방지
Custom Rule사용자 정의 패턴 (User-Agent, URL, 쿠키 등) 기반 탐지

📍 추천 룰 설정 예시

  • AWSManagedRulesCommonRuleSet: 기본 보안 패턴 포함
  • AWSManagedRulesKnownBadInputsRuleSet: 악성 입력 탐지
  • Rate-based rule: 5분 동안 1,000회 이상 요청한 IP 차단
  • Custom rule: /admin URL에 접근한 모든 외부 요청 차단
IF request.url == "/admin" AND IP not in whitelist:
    action = BLOCK

✅ 3단계: 규칙 우선순위 설정 및 액션 선택

  • 우선순위: 숫자가 작을수록 먼저 적용됨
  • 액션 종류:
    • Allow: 요청 허용
    • Block: 요청 차단
    • Count: 탐지만 하고 차단은 안 함 (테스트 시 사용)

Tip: 초기에는 Count 모드로 설정해 탐지 결과를 확인하고, 이상이 없을 때 Block으로 전환하는 것을 권장합니다.


✅ 4단계: WAF 동작 확인 및 모니터링

  1. AWS WAF > Web ACL > Metrics 탭 확인
    • 차단 횟수, 룰별 트래픽 로그 확인 가능
  2. CloudWatch 로그 연동
    • WAF 로그를 CloudWatch Logs에 전송하여 실시간 분석
    • IP, User-Agent, Referer 등의 조건으로 로그 필터링 가능
  3. 경고 알림 설정
    • 특정 룰이 작동할 경우 SNS를 통해 보안팀에 자동 알림 발송 가능

✅ 5단계: IP 차단 및 화이트리스트 관리

📍 IP Set 생성

  • AWS WAF > IP sets > Create IP set
  • 예: block-bad-ips 라는 IP Set에 악성 IP 추가

📍 룰에 적용

  • Rule > Add condition > IP set 선택
  • 액션: Block

📍 동적 차단 자동화 (Lambda 연계)

CloudWatch + Lambda 조합으로 특정 조건에 해당하는 IP를 자동으로 IP Set에 추가하여 WAF 룰에 반영할 수 있습니다.


✅ Q&A

Q. ALB와 API Gateway 둘 다 보호하려면 Web ACL을 따로 만들어야 하나요?
네, AWS WAF는 리전별 또는 글로벌 리소스에 따라 Web ACL이 따로 구성됩니다.

  • CloudFront: 글로벌 Web ACL
  • ALB, API Gateway: 리전별 Web ACL
    따라서 둘 다 보호하려면 각각에 WAF를 설정해야 합니다.

Q. 모든 요청에 대해 WAF가 성능에 영향을 주지는 않나요?
AWS WAF는 경량화된 고속 필터링 엔진을 사용하기 때문에, 대부분의 웹 서비스에서 지연 시간은 거의 무시할 수준입니다. WAF로 인해 생기는 오버헤드는 수십 ms 내외이며, Rule 수가 너무 많지만 않으면 큰 영향은 없습니다.


Q. WAF 없이도 ALB 보안 그룹으로 차단 가능한데 왜 써야 하나요?
보안 그룹은 네트워크 계층(L3) 수준의 IP 차단만 가능하고, HTTP 요청 패턴, 경로, 파라미터 분석은 불가능합니다.
반면, WAF는 **애플리케이션 계층(L7)**에서 다양한 조건으로 공격을 탐지하고 정밀하게 방어할 수 있어 필수적으로 병행 사용해야 합니다.


✅ 요약 정리

항목설명
주요 기능웹 공격 차단(SQLi, XSS, 봇, 속도제한 등)
적용 대상CloudFront, ALB, API Gateway
룰 종류AWS 관리형, 사용자 정의, IP Set, Rate-based
추천 설정Count 모드로 테스트 후 Block 전환
로그 관리CloudWatch 연동으로 실시간 분석 가능
자동화Lambda로 IP 차단 자동화 가능

결론

AWS WAF 설정법 – 웹 공격 차단과 방화벽 관리는 안전한 클라우드 환경 운영을 위한 핵심입니다. 단순히 WAF를 켜는 것에 그치지 말고, 상황에 맞는 규칙 설정, Count 기반 테스트, CloudWatch 분석, 자동화까지 연계해야 실질적인 효과를 볼 수 있습니다. 보안은 한 번에 완성되는 것이 아니라, 지속적인 탐지와 조치의 반복이라는 점을 꼭 기억하세요.

huniverse4

Recent Posts

윈드라이브 동기화 용량 초과 시 대처법

윈드라이브(OneDrive)를 사용하다 보면 어느 순간 “동기화 중지됨”, “저장소 가득 참”이라는 메시지를 마주할 수 있습니다. 이는…

1개월 ago

윈드라이브 동기화 폴더 바꾸는 법 (드라이브 변경 포함)

윈드라이브(OneDrive)를 사용하다 보면, 기본으로 설정된 동기화 폴더 위치가 불편하거나 C드라이브 용량 부족 등으로 인해 다른…

1개월 ago

윈드라이브를 수동 동기화로 설정하는 방법

윈드라이브(OneDrive)는 기본적으로 자동으로 파일을 클라우드와 동기화하도록 설정되어 있습니다. 문서를 수정하거나 사진을 추가하면, 몇 초 내로…

1개월 ago

윈드라이브 동기화 안 될 때 체크할 설정 5가지

윈드라이브(OneDrive)는 자동으로 파일을 클라우드에 백업하고 여러 기기와 실시간으로 동기화해주는 매우 유용한 도구입니다. 하지만 간혹 “OneDrive…

1개월 ago

윈드라이브 동기화 상태 확인 및 오류 해결법

윈드라이브(OneDrive)는 실시간으로 파일을 클라우드에 저장하고 여러 기기에서 자동으로 동기화해주는 편리한 서비스지만, 때때로 동기화가 멈추거나 오류가…

1개월 ago

윈드라이브 특정 폴더만 동기화하는 방법

윈드라이브(OneDrive)는 기본적으로 전체 OneDrive 폴더를 PC와 동기화하지만, 모든 데이터를 동기화할 필요는 없습니다. 저장 공간을 절약하거나,…

1개월 ago