공세적 인터넷 태세
요약
웹 크롤러와 봇의 무분별한 접근에 대응하기 위한 다양한 기술적 전략을 다룹니다. 가짜 데이터 제공, 압축 폭탄 활용, Gopher 프로토콜 전환 등 공격적인 방어 기법의 효과와 한계를 분석합니다.
핵심 포인트
- xAI, Claude, GPTbot 등 AI 봇마다 크롤링 속도 제한 방식이 다름
- 압축 폭탄이나 리디렉션 등 공격적인 대응은 실제 크롤러에 큰 영향이 없을 수 있음
- 무례한 스크레이퍼를 막는 가장 효과적인 방법은 최소한의 정보만 제공하는 것
- 대규모 패킷 필터링 및 특정 프로토콜(Gopher)로의 자료 이동이 유효한 전략임
일부 사용자 에이전트는 항상 HTTP 403을 받고, xAI·Claude·GPTbot 등은 무한히 이어지는 가짜 웹사이트로 보내지는데 왜 전략을 달리했는지 궁금함
연락처 페이지는 스팸 발송자의 시간과 노력을 낭비시키고 무작위 이름의 쿠키를 0~25개 설정하는데, 사이트 탐색 메뉴에 직접 연결된 페이지치고는 조금 과해 보임
내가 이 사이트를 만들었음. Meta와 ByteDance의 크롤러로 보이는 Bytespider는 요청 속도 제한을 제대로 하지 않아 요청량이 계속 증가했고, 월 6.47달러짜리 VPS로는 둘을 모두 감당할 수 없었음
반면 Claude와 GPTbot은 같은 가짜 데이터를 대상으로 어느 정도 속도를 제한하는 듯함. 연락처 양식으로 정상적인 답변을 받은 적은 한 번도 없고, 실제 사람들은 이를 쓰지 않는 듯하지만 게시물에 관한 이메일은 여러 번 직접 받았음
내 사이트에서는 PHP 파일이나 .git 디렉터리를 탐색하는 명백한 봇의 모든 요청에 초당 1바이트 속도로 Cloudflare의 악성 봇 정리 글로 리디렉션을 전송함
더 나아가 무한 압축 폭탄을 보내거나, 최소한 연결 상태만 유지하는 것보다 상대 자원을 더 많이 소모시키는 방법을 써보고 싶음
gzread의 원형은 int gzread (gzFile file, voidp buf, unsigned int len);이므로 인터넷 크롤러가 압축 폭탄에 실질적인 피해를 입게 하려면 일부러 취약하게 구현해야 함
이런 대응책은 설치할 때 통쾌할 수 있지만 대부분 크롤러에는 별 영향이 없음. 웹은 이미 적대적인 환경이라 이런 수법은 일상적으로 마주치고 처리됨. 무례한 스크레이퍼를 쫓는 가장 효과적인 방법은 기본 nginx index.html 같은 페이지만 제공하는 것임. 서버는 작동하지만 찾을 것이 없어 보여 대부분 떠나게 됨
이런 대응책의 이유는 이해하지만, 호스트에서 rwhod(8)를 실행하던 시절과 비교하면 인터넷이 정말 달라졌음 nugget.info에서는 일종의 telnet 타핏을 운영하고 있음
타핏은 도움보다 피해가 커서 포기했음. 제공을 중단할 때까지 봇이 타핏을 계속 탐색하기 때문임
가장 효과가 컸던 방법은 대규모 패킷 필터링을 적용하고 파일 아카이브 같은 일부 자료를 Gopher 전용으로 옮기는 것이었음. 그 뒤로 잡음이 감당할 만한 수준으로 줄었고, 해당 자료가 필요한 사람들은 어차피 Gopher 사용법을 알고 있음
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기