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 지원