Prerequisite
- WAF 설정이 가능한 권한이 필요합니다.
- WAF 설정이 필요한 리소스(CloudFront, ALB 등)가 필요합니다.
- WAF 규칙 세부 설정을 위한 로그 분석이 선행되어야 합니다.
Process
1. ACL 생성 및 Rate Limit Role 설정
※ 5분간 한 클라이언트가 특정 임계값을 초과했을 때 Block 처리
- Web ACL을 생성합니다.
- Name 및 Resource Type을 지정합니다.
- ACL Name 지정
- Resource Type 선택
- CloudFront
- ALB, API Gateway, APPSync
- Add AWS Resources
- 보호할 상세 리소스 선택
- 보호할 상세 리소스 선택
- ACL Name 지정
- Rule을 생성합니다.
- Add my rules and rule groups 선택
- Add my rules and rule groups 선택
- Rule 상세설정을 진행합니다.
- Rule Name 설정
- Type 설정
- Rate-based rule 선택
- Rate-based rule 선택
- Rule Name 설정
-
- Rate limit 값 지정
- IP address to use for rate limiting
- Source IP address
- 소스 기반으로 지정
- IP address in header
- 헤더의 IP주소로 지정
- Source IP address
- Only consider requests that match the criteria in a rule statement
- 지정한 규칙과 일치하는 요청
- 지정한 규칙과 일치하는 요청
- Rate limit 값 지정
-
- Rule에 필터링 되는 동작 선택
- Block(필터링 된 요청 Block)
- Count(필터링 된 요청 Count)
- Rule에 필터링 되는 동작 선택
- Default ACL action을 구성합니다.
- Rule에 필터링 된 요청을 Allow 하거나 Block 처리 가능
- Rule에 필터링 된 요청을 Allow 하거나 Block 처리 가능
- 우선 순위를 선택합니다.
- Rule의 개수가 많을 경우 우선 순위 수정 가능
- Rule의 개수가 많을 경우 우선 순위 수정 가능
- 해당 Rule을 CloudWatch 메트릭으로 확인이 가능합니다.
- WAF - Web ACLs - overview에서 대시보드 및 요청 종류 확인 가능
2. 문자열이 매칭되면 Block 처리 설정
- Rule을 생성합니다.
- Add my own rules and rule groups을 선택합니다.
- Add my own rules and rule groups을 선택합니다.
- Rule 상세 설정을 진행합니다.
- Inspect
- 검사 할 유형을 선택합니다.
- 검사 할 유형을 선택합니다.
- Inspect
-
-
-
- Originates from a country in (리전)
- Originates from an IP address in (IP)
- Has a label (라벨링)
- Header (헤더)
- Single query parameter (단일 쿼리)
- All query parameters (모든 쿼리)
- URI path
- Query string
- Body
- HTTP method
-
- Match Type
- 매칭 될 유형을 선택합니다.
- 문자열 일치 조건 및 SQL, XSS injection 공격 지정
-
-
- String to match
- 매칭 될 문자열 입력
- 매칭 될 문자열 입력
- String to match
3. Bot Control Role 설정
악의적인 활동을 수행하는 자동화 봇으로부터 모니터링 및 보호할 수 있습니다.
- Rule을 생성합니다.
- 생성된 Web ACL 선택 후 Add Managed rule group 선택
- AWS managed rule group 선택
- 생성된 Web ACL 선택 후 Add Managed rule group 선택
- Rule groups를 활성화합니다.
- Bot Control Add to Web ACL 활성화
- Edit 선택
- Bot Control 상세 설정을 진행합니다.
- Bot Control inspection level은 2가지
- Common
- 일반적으로 잘 알려진 Bot 감지 가능
- Targeted
- 일반적으로 잘 알려진 Bot을 감지하는 기능을 우회할 수 있는 bot을 대상
- Common
- 필요한 규칙 작업을 활성화여 수정
- 모든 요청에 대해서 검사를 진행할 것인지
- 아니면 특정 요청에 대한 필터링을 수행할 것인지
- 요청 필터링(선택사항)
- URI 중 login이라는 문자열이 포함인 경우의 요청만 필터링 (예시)
- URI 중 login이라는 문자열이 포함인 경우의 요청만 필터링 (예시)
- 요청 필터링(선택사항)
- Bot Control inspection level은 2가지
- Allow, Block, Count, Captcha, Challenge를 모든 규칙에 적용할것인지, 아니면 bot을 감지하는 action 별 적용할것인지 선택
- Rule을 적용합니다.
규칙별 적용 순위 정한다음 (하나만 적용시 기본설정 유지) - 계속 넘어간 다음 Create web ACL 버튼을 눌러 WEB ACL 생성 완료
Reference
- https://docs.aws.amazon.com/ko_kr/waf/latest/developerguide/getting-started.html
댓글
댓글 0개
댓글을 남기려면 로그인하세요.