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

연료첨가제는 정말 엔진 세정에 좋은지 실제 연구결과가 있는지 알아보자

자동차를 사랑하는 많은 운전자들이 한 번쯤 고민해본 문제가 바로 연료첨가제입니다. 주유소에서, 온라인 쇼핑몰에서, 자동차용품점에서 "엔진을…

2개월 ago

남자 옷핏이 예뻐보이는 몸무게를 알아보자

"옷이 날개"라고 하지만, 정작 그 날개가 제대로 펼쳐지려면 적절한 몸무게가 필요합니다. 남자들의 영원한 고민 중…

2개월 ago

제로 탄산음료는 많이 마셔도 될까? 몸무게별 섭취 상한선 알아보자

다이어트 열풍과 함께 '제로 칼로리'를 내세운 탄산음료가 폭발적으로 인기를 끌고 있습니다. 하지만 "제로 탄산음료는 많이…

2개월 ago

달을 보기 위한 망원경의 최소 성능 및 스펙은?

달 관측은 천체 관측의 첫걸음이자 가장 매력적인 경험 중 하나입니다. 하지만 달을 보기 위한 망원경의…

2개월 ago

아이폰 14 프로맥스 배터리 오래사용하는 방법 총정리

최신 아이폰 14 프로맥스는 강력한 성능과 함께 뛰어난 배터리 용량을 자랑하지만, 올바른 사용법을 모르면 배터리…

2개월 ago

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

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

6개월 ago