웹 ACL을 생성할 때 또는 기존에 생성된 웹 ACL에서 규칙을 생성합니다.
타입을 Rate-based rule(비율 기반 규칙)
으로 선택합니다.
Rate limit
를 입력합니다. Rate limit
는 5분 동안 하나의 IP 주소에 대한 요청의 최대값을 의미합니다. 요청 수가 Rate limit
를 넘어서면 자동으로 Block
됩니다.
Criteria to count request towards rate limit
에서 Consider all requests
를 선택하면 모든 요청에 대해 rate limit
을 적용하고, Only consider requests that match the criteria in a rule statement
를 선택하면, 특정 조건에 맞는 요청만 rate limit
를 적용합니다.
(Only consider requests that match the criteria in a rule statement
를 선택했다면) 저희는 이전 과정에서 생성한 IP set
을 통해서 해당 IP에 대해서만 규칙을 적용합니다.
규칙에 걸리면 모두 Block
처리됩니다.
AWS 모범 사례에 따르면 이렇게 비율 기반 규칙으로 트래픽 속도를 제어할 때, 합법적인 사용자를 차단하지 않도록 속도 제한을 상대적으로 높게 유지하는 경우 차단 규칙 앞에 낮은 rate limit
와 action으로 CAPTCHA
를 이용하는 두 번째 속도 기반 규칙
을 추가하는 것이 좋다고 합니다.
CAPTCHA
는 allow
, block
과 같이 규칙에 걸릴 때 취하는 action
중 하나입니다. 아래와 같은 문제 퍼즐을 제출하고 퍼즐을 풀면 토큰을 클라이언트의 쿠키에 발급하는 형식입니다. 면역 시간 동안 토큰은 만료되지 않고 요청에 대한 응답을 즉각적으로 받을 수 있습니다.
CAPTCHA
문제는 사람이 요청을 보내고 있는지 확인하고 웹 스크래핑, 자격 증명 스터핑 및 스팸과 같은 활동을 방지하기 위해 고안되었습니다.
지정 방법은 규칙을 생성할 때 Action
설정에서 CAPTCHA
를 선택하는 것입니다.