728x90
반응형
AWS WAF (Web Application Firewall) 정리 및 활용 가이드
AWS WAF(Web Application Firewall)는 HTTP 레이어(레이어 7)에서 웹 애플리케이션을 일반적인 웹 공격으로부터 보호하는 서비스입니다. SQL 인젝션, 크로스사이트 스크립팅(XSS) 등과 같은 취약점을 방어하며, 애플리케이션을 안전하게 운영할 수 있도록 돕습니다.
WAF 배포 위치와 사용 사례
AWS WAF는 다양한 AWS 서비스와 통합되어 사용됩니다.
- Application Load Balancer(ALB): 로컬 규칙 적용
- API Gateway: 리전 또는 엣지 레벨에서 규칙 실행
- CloudFront: 글로벌 엣지 로케이션에서 규칙 실행
- ALB, EC2 인스턴스, 사용자 정의 오리진, S3 웹사이트를 보호 가능
- AppSync: GraphQL API 보호
WAF 주요 기능
1. Web ACL(Web Access Control List) 설정
Web ACL을 통해 트래픽 필터링이 가능하며, 다음과 같은 규칙을 정의할 수 있습니다:
- IP 주소 필터링: 특정 IP 주소 차단/허용
- HTTP 헤더, 바디, URL 문자열 검사: 요청의 세부 정보 분석
- 공통 공격 방어: SQL 인젝션, XSS 등 방어
- 요청 크기 제한: 20MB 이상의 요청 차단
- 지오매치(Geo Match): 특정 국가 요청 차단 또는 허용
- 속도 기반 규칙: 초당 일정 횟수 이상 발생하는 요청을 차단
2. 규칙 액션
- Allow/Block: 트래픽을 허용하거나 차단
- Count: 규칙의 적용 가능성을 테스트 (트래픽은 허용)
- CAPTCHA: 클라이언트 검증을 위한 CAPTCHA 적용
WAF 관리형 규칙(Managed Rules)
AWS WAF는 빠르게 배포 가능한 관리형 규칙을 제공합니다.
관리형 규칙의 분류:
- Baseline Rule Groups:
- 일반적인 위협 방어 (예: Common Rule Sets, Admin Protection Rule Set)
- Use-case Specific Rule Groups:
- SQL, Windows, PHP, WordPress 등의 애플리케이션 보호
- IP Reputation Rule Groups:
- 신뢰할 수 없는 소스 IP 차단
- Amazon IP Reputation List: AWS에서 신뢰할 수 없는 IP 차단
- Bot Control Managed Rule Groups:
- 봇 트래픽 관리 및 차단
로그 관리
WAF는 다음과 같은 방식으로 로그를 저장하고 분석할 수 있습니다:
- CloudWatch Logs:
- 초당 최대 5MB의 로그 데이터 기록
- Amazon S3:
- 로그를 5분 간격으로 저장
- Amazon Kinesis Data Firehose(KDF):
- 대규모 트래픽 및 로그 처리에 적합
- S3, Redshift, OpenSearch 등으로 로그 전달 가능
CloudFront와 WAF를 활용한 오리진 보안 강화
WAF를 통해 CloudFront와 ALB를 통합하여 보안을 강화할 수 있습니다.
단계별 구성:
- CloudFront에 커스텀 HTTP 헤더 추가
- 요청 시 X-Origin-Verify와 같은 커스텀 헤더 및 비밀 값을 추가.
- ALB의 WAF 규칙
- WAF에서 해당 커스텀 헤더와 값을 필터링하여 허용.
- 비밀 값을 모르는 사용자는 ALB에 직접 접근 불가.
- 비밀 값 자동 회전
- AWS Secrets Manager와 Lambda를 사용해 커스텀 헤더 값을 주기적으로 갱신.
- CloudFront와 WAF 규칙에 동기화하여 최대 보안 유지.
결론
AWS WAF는 웹 애플리케이션을 보호하기 위한 강력한 도구로, 다양한 배포 시나리오에서 유용하게 활용됩니다. WAF의 Web ACL 및 관리형 규칙을 적절히 활용하면, 간편하고 효율적으로 보안을 강화할 수 있습니다.
728x90
반응형
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] AWS Firewall Manager (0) | 2024.12.16 |
---|---|
[AWS SCS] AWS Shield (0) | 2024.12.16 |
[AWS SCS] CloudFront 인증 헤더 (0) | 2024.12.16 |
[AWS SCS] CloudFront - Origin Access Control and Origin Access Identity (OAC & OAI) (0) | 2024.12.16 |
[AWS SCS] CloudFront - 필드 레벨 암호화 (0) | 2024.12.16 |