AWS WAF
WAF는 공개 웹 엔드포인트로 들어오는 HTTP 요청을 규칙으로 검사해 악성 패턴을 먼저 걸러내는 방어 계층입니다. 애플리케이션 코드에 도달하기 전 단계에서 공통 웹 공격을 차단합니다.
▶아키텍처 다이어그램
🔗 관계 다이어그램점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
공개 웹 서비스는 애플리케이션에 도달하기 전부터 봇, 스캔, SQL 인젝션, 과도한 요청을 맞습니다. 이 트래픽을 가장 앞단에서 걸러내지 못하면 백엔드가 정상 요청과 악성 요청을 함께 감당해야 합니다.
초기 웹 애플리케이션은 방어 로직을 앱 코드 안에 많이 넣었지만, 그 전에 이미 인프라와 원본이 부담을 받는 문제가 있었습니다. 그래서 엣지와 인그레스 앞단에서 요청을 필터링하는 WAF 계층이 중요해졌습니다.
WAF는 규칙 세트를 CloudFront, ALB, API Gateway 앞단에 붙여 요청을 검사하고 차단하거나 허용합니다. SQL 인젝션, XSS, 봇 트래픽 같은 공통 공격 패턴을 Managed Rules로 빠르게 막을 수 있고, 필요하면 CAPTCHA와 사용자 정의 규칙까지 더해 메트릭과 로그를 CloudWatch, S3로 보냅니다.
WAF와 IAM은 둘 다 보안 서비스지만 막는 지점이 다릅니다. IAM은 자격증명 기반 권한을 제어하고, WAF는 공개 엔드포인트로 들어오는 HTTP 요청 자체를 필터링합니다. 누가 AWS 리소스에 접근할 수 있는지가 문제면 IAM을 보고, 공개 웹 트래픽에서 악성 요청을 걸러야 하면 WAF를 보면 됩니다.
웹 사이트, 공개 API, CDN 배포, 봇 방어, 레이트 리밋, 공통 웹 공격 차단에 적합합니다. OWASP Top 10 성격의 공격을 앞단에서 공통 정책으로 막고 싶을 때 특히 유용합니다. 사용자 인증이나 AWS 리소스 간 권한 제어는 WAF의 역할이 아닙니다.