봇 트래픽 관리: 99%가 봇 방문자인 사이트에서 얻은 교훈

현대 봇 트래픽의 규모

많은 독립 웹사이트 운영자들에게 봇 트래픽은 배경 잡음에서 서버 요청의 주요 원천으로 진화했으며, 종종 전체 트래픽의 99%를 초과합니다. 이 변화는 공격적인 AI 스크래퍼, 검색 엔진 인덱서, 분산형 봇넷이 주도하고 있으며, 이는 분석 데이터를 오염시키고 인프라 비용을 부풀리며 실제 인간 사용자의 사용자 경험을 저하시킬 수 있습니다.

재정적 및 운영적 영향

높은 봇 트래픽은 사용 기반 요금제를 사용하는 사이트의 경우 직접적인 재정적 위험을 초래합니다.

  • 인프라 비용 급증: 자동화된 크롤러는 자원 소비량을 급격히 증가시킬 수 있습니다. 한 운영자는 Cloudflare D1 데이터베이스에 봇 활동이 영향을 미쳐 월간 비용이 500% 증가했다고 보고했습니다.
  • 분석 데이터 오염: 봇이 요청의 대부분을 차지할 경우, 실제 인간 사용자의 행동을 가려내는 의미 있는 비즈니스 통찰을 도출하는 것이 거의 불가능해집니다.
  • 자원 고갈: $5/월 VPS 인스턴스나 CGI 기반 호스팅과 같은 소규모 호스팅 환경은 AI 봇에 의해 쉽게 과부하되며, 메모리 고갈과 사이트 불안정을 초래할 수 있습니다.

봇 완화 전략

웹사이트 운영자는 관리형 서비스부터 수동 서버 레벨 블록까지 다양한 기술을 활용해 봇 트래픽을 필터링합니다.

관리형 보안 서비스

Cloudflare는 봇 완화의 주요 도구로, AI 기반 봇 차단 및 챌린지 페이지 기능을 제공합니다. 그러나 이 접근법은 상충되는 요소를 수반합니다:

  • 사용자 불편: "사람임을 확인하세요" 챌린지는 지연 시간을 증가시키고 정상 사용자를 좌절시킬 수 있습니다.
  • 중앙화: 단일 제공자에게 접근 제어를 의존하면 제공자의 알고리즘이 누구나 콘텐츠를 볼 수 있는지 결정하는 종속성 문제가 발생합니다.

기술적 필터링 기법

관리형 서비스를 피하거나 더 세밀한 제어가 필요한 경우, 다음과 같은 기술적 대안이 존재합니다:

  • 작업 증명(PoW): Anubis와 같은 도구는 사용자 에이전트 문자열에 의존하지 않고, 실제 브라우저 소프트웨어와 단순 스크립트를 구분하기 위해 작업 증명 챌린지를 사용합니다.
  • TLS 지문 분석: JA4 해시를 분석하면, 브라우저 사용자 에이전트를 모방하지만 비표준 TLS 지문을 사용하는 주거용 봇넷을 식별할 수 있습니다.
  • 지리적 차단 및 ASN 필터링: 특정 국가나 데이터센터 ASN(예: AWS)에서 오는 트래픽을 차단하면 대규모 자동 트래픽을 제거할 수 있지만, 해외 여행 중인 정상 사용자나 클라우드 워크스테이션을 사용하는 사용자를 오류로 차단할 위험이 있습니다.
  • IP 레이트 제한: iptables를 통해 상위 방문 IP 또는 /24 서브넷을 식별하고 차단하는 스크립트를 구현하면 공격적인 크롤러를 완화할 수 있습니다.

아키텍처 변경

사이트의 제공 방식을 변경하면 봇에 대한 공격 표면을 근본적으로 줄일 수 있습니다:

  • 정적 사이트 생성: 동적 데이터베이스에서 정적 파일(예: GitHub Pages)로 전환하면 데이터베이스 기반 비용 급증의 위험을 제거하고 서버 부담을 줄일 수 있습니다.
  • 인증 벽: 고가치 콘텐츠를 로그인 벽 뒤에 두면 운영자는 IP 수준이 아닌 계정 수준에서 비정상적인 활동을 추적할 수 있습니다.

개방성과 보호의 갈등

공격적인 스크래핑의 증가로 인해 오픈 웹의 이상과 사이트 보호의 필요성 사이에 긴장이 생기고 있습니다.

"사용자 에이전트" 스펙트럼

"봇"과 "사용자" 사이의 경계가 흐려지고 있습니다. 브라우저를 사용하는 인간은 사용자이며, 전용 브라우저(예: Zen 또는 Brave)를 사용하는 인간도 여전히 사용자입니다. 그러나 Python 스크립트(BeautifulSoup)를 사용해 데이터를 수집하는 인간은 봇이지만 여전히 인간이 주도하는 요청입니다. 모든 봇을 차단하면, 합법적인 정보 검색을 위해 자동화를 활용하는 고급 사용자를 간접적으로 처벌할 수 있습니다.

AI 스크래퍼와 가치 추출

AI 봇, 예를 들어 Claude-SearchBot은 낮은 참조 트래픽으로 대량의 스크래핑을 수행하는 것으로 알려져 있습니다. 이는 AI 모델이 원본 콘텐츠 제작자에게 트래픽을 되돌려주지 않고도 사용자에게 답변을 제공함으로써 가치 불균형을 초래합니다.

"Claude-SearchBot 하나만 해도 약 205,000개의 페이지를 가져왔습니다. 참조 트래픽은 정확히 1개였습니다. Claude가 사용자에게 '찾았어요!'라고 말할 때, 제가 전혀 보상이나 크레딧을 받지 못한다는 점에서 기분이 좀 착한 것 같아요."

웹 탐색의 미래

일부 관찰자들은 "봇의 대재앙"이 오픈 웹의 종말을 가져올 수 있으며, 대신 신뢰할 수 있는 인간의 직접적인 참조를 통해만 발견 가능한 "개인용 담장 정원"으로 전환될 것이라고 제안합니다. 이 경우 사이트는 noindex로 설정되며, 공개적으로 검색되지 않습니다.

Sources

관련