피드로 돌아가기
Blocking AI Crawlers vs. Letting Them In: A Practical Defense Guide
Dev.toDev.to
Infrastructure

790만 건의 AI 크롤러 공격, 서버 레벨 차단으로 해결한 인프라 방어 전략

Blocking AI Crawlers vs. Letting Them In: A Practical Defense Guide

Alan West2026년 4월 7일6beginner

Context

AI 학습용 Crawler의 무분별한 접근으로 인한 과도한 Bandwidth 소모 발생. Client-side JavaScript 기반 분석 도구의 한계로 Bot Traffic 식별 불가. 서버 성능 저하 및 비용 상승을 초래하는 인프라 가용성 위기 상황.

Technical Solution

  • Server-side 분석을 위해 GoAccess를 도입하고 Raw Log를 직접 분석하여 Bot Traffic 비율 정밀 측정
  • 실제 사용자 트래픽의 Baseline 확보를 위해 Cookie-less 분석 도구인 Umami 및 Plausible 도입
  • robots.txt 설정을 통해 Meta-ExternalAgent, GPTBot 등 주요 AI Crawler에 대한 접근 거부 의사 표명
  • Nginx의 map 모듈을 활용하여 User-Agent 기반의 AI Crawler 식별 및 403 Forbidden 응답 처리 구조 설계
  • Apache의 .htaccess RewriteCond를 통한 정규표현식 기반의 Bot Traffic 강제 차단 전략 적용
  • Cloudflare WAF Rule을 활용하여 서버 진입 전 단계에서 악성 User-Agent를 필터링하는 계층적 방어 체계 구축

Impact

  • 단일 Crawler가 30일간 7.9 million requests 발생
  • 약 900 GB 이상의 Bandwidth 소모 확인
  • Bot Traffic이 실제 사용자 트래픽 대비 40배 수준으로 측정

Key Takeaway

애플리케이션 계층의 Polite Ask(robots.txt)보다 인프라 계층의 강제적 차단(Firewall/WAF)이 실질적인 자원 보호에 유효함. 정확한 트래픽 분석을 위해서는 Client-side 도구가 아닌 Server-side 로그 기반의 Observability 확보가 필수적임.


접근 로그에서 Meta-ExternalAgent, GPTBot 확인 시 즉시 Nginx/WAF 레벨의 User-Agent 차단 룰을 적용할 것

원문 읽기