1 AWS WAF – Web Application Firewall
- AWS WAF(Web Application Firewall)는 웹 애플리케이션을 보호하기 위한 서비스로, 주로 SQL 인젝션 및 XSS(교차 사이트 스크립팅)와 같은 일반적인 웹 공격을 방어합니다.
- HTTP 레벨에서 작동하는 Layer 7 방화벽으로, TCP/UDP 레벨의 Layer 4 방화벽과는 다릅니다.
- NLB는 Layer 4에서 작동하므로, AWS WAF와는 호환되지 않습니다.
- 네트워크 로드 밸런서(Layer 4)는 지원하지 않으며, 고정 IP를 사용하기 위해서는 Global Accelerator를 사용하고 ALB에 WAF를 적용할 수 있습니다.
- AWS WAF는 Layer 7에서 작동하는 웹 애플리케이션 방화벽입니다.
2 주요 기능
2.1 웹 ACL (Web Access Control List) 정의
- 웹 애플리케이션에 적용할 규칙을 정의합니다.
- IP Set: 최대 10,000개의 IP 주소를 설정할 수 있으며, 더 많은 IP를 설정하려면 여러 규칙을 사용할 수 있습니다.
- HTTP 헤더, HTTP 본문, URI 문자열: 특정 패턴을 기반으로 필터링할 수 있습니다.
- 공격 보호: SQL 인젝션, XSS와 같은 일반적인 공격을 방어합니다.
- 크기 제한 및 지리적 매칭: 특정 크기 이상의 요청을 차단하거나 특정 국가에서의 접근을 차단할 수 있습니다.
- Rate-based 규칙: 이벤트 발생 빈도를 기준으로 규칙을 설정하여 DDoS 공격을 방어할 수 있습니다.
- 웹 ACL의 범위: CloudFront를 제외하고는 지역별로 적용됩니다.
2.2 다양한 배포 옵션
- AWS WAF는 여러 AWS 서비스에 배포할 수 있습니다.
- Application Load Balancer(ALB): ALB에 WAF를 적용하여 웹 애플리케이션을 보호합니다.
- API Gateway: API 트래픽을 보호할 수 있습니다.
- CloudFront: 글로벌 콘텐츠 배포 네트워크와 통합하여 보안을 강화합니다.
- AppSync GraphQL API: GraphQL API를 보호합니다.
- Cognito User Pool: 사용자 풀을 보호합니다.
2.3 고정 IP 지원
- 네트워크 로드 밸런서(Layer 4)는 AWS WAF를 지원하지 않으므로, 고정 IP를 사용하려면 Global Accelerator를 통해 고정 IP를 설정하고 Application Load Balancer에 WAF를 적용할 수 있습니다.
3 사용 사례
3.1 웹 애플리케이션 보호
- AWS WAF를 사용하여 SQL 인젝션 및 XSS 공격으로부터 웹 애플리케이션을 보호할 수 있습니다.
- 웹 ACL을 사용하여 특정 IP 주소나 지리적 위치에서의 접근을 차단할 수 있습니다.
3.2 DDoS 방어
- HTTP Flood 공격은 많은 양의 HTTP 요청을 보내 웹 서버의 자원을 소모시켜 서비스를 방해하는 DDoS(Distributed Denial of Service) 공격 유형입니다.
- AWS WAF를 사용하여 HTTP Flood 공격을 효과적으로 방지할 수 있습니다.
- Rate-based 규칙
- 특정 시간 동안의 요청 수를 기 반으로 비정상적인 트래픽을 탐지하고 차단합니다.
- 예를 들어, 특정 IP 주소가 초당 일정 횟수 이상의 요청을 보내면 해당 IP를 차단할 수 있습니다.
- 위협 인텔리전스 피드: 실시간으로 제공되는 위협 인텔리전스 데이터를 사용하여 알려진 악성 IP 주소를 차단할 수 있습니다.
- 자동화된 대응: CloudWatch와 통합하여 실시간 로그와 지표를 통해 비정상적인 트래픽 패턴을 탐지하고 자동으로 대응합니다.
3.3 규정 준수
- AWS WAF는 웹 애플리케이션 보안 규정을 준수하는 데 도움이 됩니다.
- 금융 서비스, 헬스케어, 정부 기관 등 다양한 산업의 보안 요구 사항을 충족할 수 있습니다.
4 지리적 접근 제한
- AWS WAF는 지리적 위치를 기반으로 특정 국가나 지역에서의 접근을 차단할 수 있습니다.
- Geolocation 조건: 웹 ACL 규칙에 지리적 위치를 추가하여 특정 국가에서의 트래픽을 허용하거나 차단할 수 있습니다.
- 사용 사례: 특정 국가의 법적 규정을 준수하거나, 특정 국가에서 발생하는 의심스러운 트래픽을 차단하는 데 유용합니다.
5 주요 AWS 보안 서비스와 비교