Amazon Web Services 한국 블로그

AWS WAF Bot Control – 웹 사이트 내 불필요한 트래픽 감소 기능 출시

AWS Shield 위협 조사팀에서 수행한 연구에 따르면 일반적인 웹 애플리케이션으로 이동하는 트래픽의 최대 51%는 시스템에서 실행되는 스크립트(봇이라고도 함)에서 시작됩니다. 다양한 봇(일부는 필요하고 일부는 불필요함)이 엔드포인트에 도달하고 있습니다.

필요한 봇은 사이트를 크롤링하여 인덱싱하고 고객이 검색할 수 있도록 합니다. 다른 봇들은 사이트 가용성이나 성능을 모니터링합니다. 그러나 대부분의 봇 트래픽은 불필요한 봇에 의해 생성됩니다. 즉, 취약점을 조사하거나 콘텐츠를 복사하여 동의 없이 다른 곳에 복제하는 스크립트입니다. 보안 위험 외에도 이러한 트래픽을 처리하면 인프라에 대한 불필요한 압력과 비용이 발생합니다.

이러한 불필요한 트래픽으로부터 웹 사이트를 보호하는 일은 시간이 오래 걸리고 오류가 발생하기 쉽습니다. 일련의 규칙을 관리하는 것은 복잡하며 양호한 트래픽을 차단하거나 차단해야 하는 트래픽에 권한을 부여할 위험이 있습니다.

AWS WAF Bot Control 소개
오늘은 일반적인 봇 트래픽을 식별하고 가시성을 높이며 이에 대한 조치를 할 수 있는 AWS WAF Bot Control을 소개합니다. AWS WAF Bot ControlAWS Web Application Firewall에 통합되며 대규모 엔터프라이즈 사용 사례에 대한 AWS Firewall Manager를 사용하여 중앙에서 관리할 수 있습니다.

Bot Control은 TLS 핸드셰이크, HTTP 속성 및 IP 주소와 같은 요청 메타데이터를 분석하여 봇의 소스와 목적을 식별합니다. 스크래퍼, SEO, 크롤러 또는 사이트 모니터와 같은 봇 유형을 분류합니다.

Bot Control을 인식하면 불필요한 봇에서 오는 트래픽을 차단할 수 있습니다. 기본 동작을 간단히 수락하여 WAF 구성의 일부로 불필요한 봇 트래픽을 차단하거나 구성을 사용자 지정할 수 있습니다. 예를 들어 사용자 지정 응답 기능을 사용하여 봇 식별에 따라 맞춤형 응답을 반환하거나 새 헤더를 삽입하여 요청에 플래그를 지정할 수 있습니다. AWS WAF와 통합하면 애플리케이션에 대한 봇 트래픽 범위를 시각화하고 WAF 규칙을 통해 이 트래픽을 제어할 수 있습니다.

Bot Control은 현재 AWS WAF 관리형 규칙 그룹에 추가되는 두 가지 새로운 기능, 즉 레이블 지정 및 범위 축소 문을 사용합니다. AWS WAF 레이블은 일치하는 규칙 문의 결과로 요청에 추가된 메타데이터입니다. 이러한 레이블은 향후 규칙 문에서 사용할 수 있습니다. WAF 레이블을 규칙 작업의 결과를 임시로 저장하고 후속 규칙에서 사용할 수 있는 변수처럼 생각할 수 있습니다. 또한, AWS WAF 레이블은 CloudWatch 지표를 내보내고 AWS WAF 로그에 표시됩니다. AWS WAF 레이블은 Count 작업으로 여러 문을 평가한 다음 레이블 기반으로 작업을 수행하거나 다른 예시 중 여러 규칙에서 논리를 재사용하는 데 유용할 수 있습니다. AWS WAF Bot Control은 레이블을 사용하여 다양한 봇 관련 신호를 내보내 필요에 맞는 동작을 사용자 지정할 수 있습니다.

일부 애플리케이션 리소스는 봇 트래픽의 영향을 받거나 보호가 필요할 가능성이 작습니다. 이제 범위 축소 문의 개념도 소개합니다. 범위 축소 문을 사용하면 관리형 규칙 그룹이 실행할 조건을 정의할 수 있습니다. 이는 현재 AWS WAF요금 기반 규칙에 대해 제공되는 범위 축소 기능과 유사합니다. ScopeDownStatement를 포함하여 유료 관리형 규칙 그룹의 비용을 절감해 애플리케이션의 특정 부분으로 평가를 제한하거나, 오탐을 방지하거나, 다른 사용 사례 중에서 특정 경로에 대한 지연 시간 영향을 피할 수 있습니다.

관리형 규칙 그룹 구성, 레이블 및 범위 축소 문을 조합하여 봇에서 발생한 요청을 처리하는 방법을 사용자 지정할 수 있습니다.

AWS WAF Bot Control 이점
AWS WAF Bot Control을 사용하면 다음과 같은 세 가지 주요 이점을 얻을 수 있습니다.

  1. Bot Control은 봇 트래픽 활동에 대한 자유로운 가시성을 제공합니다. AWS WAF를 사용하면 샘플링된 데이터를 기반으로 높은 수준의 봇 활동이 있는 애플리케이션을 보여 주는 사전 구축된 대시보드를 얻을 수 있습니다.
  2. Bot Control은 스크래퍼, 스캐너 및 크롤러에서 생성되는 트래픽을 줄여 운영 및 인프라 비용을 절감합니다. Bot Control은 애플리케이션 처리 비용이 증가하거나 애플리케이션 성능에 부정적인 영향을 미치기 전에 엣지에서 원치 않는 봇 트래픽을 차단합니다.
  3. Bot Control은 배포가 쉽습니다. AWS 관리형 규칙 그룹을 웹 액세스 제어 목록(웹 ACL)에 추가하는 것만으로 Amazon CloudFront, Application Load Balancer, Amazon API Gateway 또는 AWS AppSync의 봇 보호를 강화할 수 있습니다.

AWS WAF Bot Control 작동 방식 살펴보기
AWS WAF Bot Control 추가는 AWS WAF Managed Rule 추가와 동일해 단 몇 번의 클릭만으로 시작할 수 있습니다. 예시를 살펴보고 AWS WAF 콘솔에 연결해 보겠습니다.

AWS WAF 콘솔

화면 왼쪽에는 웹 ACL에 표시되는 봇 관련 트래픽에 대한 개요와 Bot Control이 활성화된 웹 ACL에 대한 요약 정보를 제공하는 새로운 Bot Control 메뉴가 있습니다. 모든 AWS 고객은 이러한 봇 활동 지표를 AWS WAF 프리 티어의 일부로 받습니다. 여기에는 봇과 비봇 요청 간 분할, 차단된 봇 요청 수, 봇 범주 등이 포함됩니다.

Bot Control - Free Dashboard

이 시연에서는 엔드포인트 중 하나를 보호해보겠습니다. 왼쪽 메뉴에서 웹 ACL(Web ACL)을 선택하고 웹 ACL 생성(Create web ACL)을 클릭합니다.

웹 ACL의 세부 정보를 입력하고 페이지 하단에서 다음(Next)을 클릭합니다.

웹 ACL 세부 정보

규칙 및 규칙 그룹 추가에서 규칙 추가를 열고 관리형 규칙 그룹 추가를 선택합니다.

웹 ACL 추가 규칙

관리형 규칙 그룹 추가 화면에서 AWS 관리형 규칙 그룹을 확장하고 Bot Control, 웹 ACL 추가를 켭니다. 페이지 하단(아래에 표시되지 않음)에서 Add rules(규칙 추가)를 클릭하겠습니다.

웹 ACL 추가 bot control

마지막으로 규칙과 일치하지 않는 요청에 대한 기본 작업을 선택하고 다음(Next)을 클릭합니다.웹 ACL 기본 작업다음 화면에서 모든 기본값을 유지하고 다음(Next)을 세 번 클릭한 다음 마지막으로 웹 ACL 생성(Create web ACL)을 클릭합니다.

Bot Control은 이미 사용한 웹 ACL과 유사합니다. 일련의 특정한 규칙을 선택할 때 일치하는 요청 수와 샘플 그룹을 볼 수 있습니다.

웹 ACL 대시보드

상단의 Bot Control 탭을 선택하면 이제 봇별 데이터에 액세스할 수 있습니다.

Bot Control Paid 대시보드

요금 및 가용성
AWS WAF Bot ControlAWS WAF Bot Control AWS WAF Bot Control 은 현재 AWS WAF를 사용할 수 있는 모든 AWS 리전에서 사용할 수 있습니다. 다른 AWS WAF 규칙과 마찬가지로, AWS WAF Bot ControlAmazon CloudFront 배포, Application Load Balancer, Amazon API GatewayAWS AppSync에 도달하는 트래픽을 필터링 할 수 있습니다.

Bot Control은 웹 ACL에 추가할 수 있는 유료 AWS 관리형 규칙입니다. Bot Control이 웹 ACL에 추가될 때마다 매월 10 USD(시간당 비례 배분)가 청구됩니다. 또한, Bot Control에서 처리한 요청 백만 건당 1 USD의 요금이 부과됩니다. Bot Control 요금은 AWS WAF 요금에 추가됩니다.

Bot Control 프리 티어에는 매월 Bot Control에서 처리하는 10M 무료 요청이 포함됩니다.

AWS WAF Bot Control에 대해 자세히 알아보고 이를 AWS WAF추가하세요.

– Seb