본문 바로가기

Security

[이론] AWS WAF 기본 개념

반응형

안녕하세요 서후아빠입니다. ^_^

이번 세션은 AWS WAF에 대해서 업무적으로 필요한 최소한의 개념에 대해서 간단히 정리해 보았습니다.

이외 내용은 업무적으로 필요할때마다 찾아보시는 것이 효율적이라고 생각합니다.


AWS WAF

Layer 7의 Web Application에 대한 공격 탐지 및 차단

Nginx WAF 유료 모델을 이용하여 만든 서비스

사용 가능한 AWS services : CloudFront, Application LoadBalancer, API Gateway, AWS AppSync

AWS WAF 기능

웹 트래픽 필터링 : IP 주소, HTTP 헤더 및 본문 또는 사용자 정의 URI와 같은 조건을 기준으로 웹 트래픽 필터링 

AWS WAF Bot Control (옵션, 유료) : 일반적인 봇 트래픽을 제어하고 가시성을 확보

AWS WAF Fraud Control (옵션, 유료) : 애플리케이션의 로그인 페이지에서 손상된 자격 증명을 사용하여 사용자 계정에 대한 무단 액세스 모니터링

AWS Firewall Manager와 통합 : 여러 AWS 게정에 배포된 WAF를 중앙에서 구성 및 관리 가능

실시간 가시성 : IP 주소, 지리적 위치, URI, 사용자 에이전트 및 참조자에 관한 세부 정보를 포함하는 원시 요청을 캡처하고 실시간 지표를 제공

AWS WAF 구조

하나의 Web ACL를 여러개의 Target에 적용 가능

rule groups의 Max Capacity가 1500 초과할 경우 : Web ACL를 2개 이상으로 분리 생성 혹은 AWS에 요청하여 상향 신청

AWS Managed rule groups

  - 11개 제공 (2022년 8월 기준)

  - group에 포함된 rule에 대해서 범위 축소 기능만 존재 : 오탐지 발생 시 세부적인 rule 조정 불가능

  - 세부적인 조정은 My own rules에서 생성하여 사용

3rd Party Managed rule groups : MarketPlace에서 3rd Party 제품 구해한 경우에 사용 가능

Target 

  - Region 기준으로 동작 : ALB, API Gateway, AWS AppSync

  - Global 동작 : CloudFront 

AWS WAF 비용

Web ACL 1개당 : $ 5/Month 

Rule 1개당 : $ 1/Month

요청 1백만 건당 : $ 0.6

AWS WAF Bot Control (옵션)

  - 구독 : $ 10/Month

  - 요청 1백만 건당 : $ 1

  - 분석된 챌린지(Captcha) 시도 1천개당 : $ 0.4

AWS WAF Fraud Control (옵션)

  - 구독 : $ 10/Month

  - 분석된 로그인 시도 1천개당 : $ 1

AWS WAF 구성 

구성 방안
CloudFront(CF) 뒤에 ALB 구성하고, CF에 연결된 WAF에 제한(Restricting) 적용 대규모 전송 특성상 CF에 적용하는 WAF는 간단한 BlackList 형태로 적용
- IP, HTTP referer, user-agent bot 차단 
- Rate-Based Rule

CF 원본(Origin)은 반드시 Public 통신되어야 하므로 인터넷에 노출된 ALB에 대해 CF만 접근할 수 있도록 접근 제한 설정
- ALB의 SG에 CF 관리용 접두사를 적용
Firewall Manager 이용한 WAF ACLs 중앙 관리 전제 조건 : Firewall Manager가 위치한 계정(일명 보안계정)과 WAF가 위치한 계정(일명 일반계정)이 하나의 AWS Organizations로 묶여 있어야 함
개념 : 보안계정의 WAF ACL을 일반계정에서 공유받아 사용
WAF 로그를 중앙 관리 전제 조건 : Firewall Manager 사용여부 관계없이 구성이 가능하나, 모든 WAF ACLs의 로깅 활성화
HTTP referer : 쉽게 말해 A사이트의 링크를 클릭했을 때, B사이트로 이동하는 것으로 B사이트는 A사이트로부터 방문한 사실 확인할 수 있습니다. 조작이 가능하기 때문에 보안상 주의 필요하므로 차단합니다.
user-agent bot : robots.txt와 같은 크롤러를 차단하기 위함이며, 크롤러는 한 웹페이지에서 다른 웹페이지로 연결되는 링크를 따라가며 웹사이트를 자동으로 검색하는데 사용되는 프로그램을 가리키는 일반적인 용어입니다.

참고 URL

WCL(Web ACL Capacity Units) 상향 신청 : https://docs.aws.amazon.com/ko_kr/waf/latest/developerguide/limits.html

WAF 로그 중앙 관리(S3 이용) 방안 : https://aws.amazon.com/ko/premiumsupport/knowledge-center/waf-send-logs-centralized-account/

 

반응형