관리해야 할 것은 나쁜 봇만이 아닙니다. 봇 관리 전략은 좋은 봇은 차단하지 않고 나쁜 봇을 완화해야 합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
봇은 인터넷을 통해 웹 자산과의 상호 작용을 자동화하는 컴퓨터 프로그램입니다. '좋은' 봇이라는 용어는 웹 사이트에 의도적으로 해를 끼치거나 악의적인 작업을 수행하지 않는 모든 봇을 의미합니다. 좋은 봇이 나쁜 봇과 특성을 공유할 수 있기 때문에, 나쁜 봇만 차단하고 좋은 봇은 차단하지 않는 것이 어려울 수 있습니다.
각기 다른 작업을 위해 설계된 많은 종류의 좋은 봇이 있습니다. 몇 가지 예를 들어보겠습니다.
웹 사이트 관리자는 나쁜 봇 트래픽을 걸러내려다가 의도치 않게 '좋은' 봇을 차단하지 않도록 주의해야 합니다. 예를 들어, 많은 웹 사이트에서 검색 엔진 웹 크롤러 봇을 허용하는 것이 일반적입니다. 웹 크롤러 봇이 없으면 웹 사이트가 검색 결과에 표시될 수 없기 때문입니다.
나쁜 봇은 데이터를 훔치고, 사용자 계정에 침입하며, 온라인 양식을 통해 정크 데이터를 제출하고, 기타 악의적인 활동을 수행할 수 있습니다.불량 봇의 유형에는 자격 증명 스터핑 봇, 콘텐츠 스크래핑 봇, 스팸 봇, 클릭 사기 봇 등이 있습니다.
좋은 봇 관리는 웹 사이트의 robots.txt 파일에 규칙을 올바르게 설정하는 것부터 시작됩니다. robots.txt 파일은 웹 서버에 있는 텍스트 파일이며 호스팅된 웹 사이트 또는 애플리케이션에 액세스하는 모든 봇에 대한 규칙을 지정합니다. 이러한 규칙은 봇이 크롤링할 수 있는 페이지와 크롤링할 수 없는 페이지, 따라야 하는 링크와 따르지 말아야 하는 링크, 봇 동작에 대한 기타 지침을 정의합니다. Cloudflare에서는 이러한 규칙을 구성하는 프로세스를 단순화하기 위해 관리형 robots.txt 서비스를 제공합니다.
일부(그러나 모두가 좋은 봇은 아닌) 봇은 robots.txt 파일에 선언된 선호 사항을 따릅니다. 예를 들어 Google에서는 웹 사이트 소유자가 사이트의 특정 페이지가 Google 검색 결과에 표시되는 것을 원하지 않는 경우 robots.txt 파일에 규칙을 작성하여 Googlebot이 해당 페이지의 색인을 생성하지 못하도록 할 수 있다고 밝혔습니다. 마찬가지로, 어느 웹 사이트에서 콘텐츠가 LLM 학습에 사용되는 것을 원하지 않는다면, robots.txt 파일을 통해 그 선호 사항을 표현할 수 있습니다. 명확히 하자면, robots.txt 파일은 실제로 봇이 웹 사이트에 접근하는 것을 막지 않으며, 일부 봇 운영자는 이들 봇을 단순히 무시합니다.
허용 목록은 이벤트 참석자 목록과 같다고 생각하면 됩니다. 참석자 명단에 없는 사람이 이벤트에 입장하려고 하면 보안 요원이 입장을 저지합니다. 목록에 있는 사람은 누구나 이벤트에 자유롭게 참여할 수 있습니다. 초대받지 않은 손님이 나쁜 행동을 하고 다른 모든 사람들의 파티를 망칠 수 있기 때문에 그러한 접근 방식이 필요합니다.
봇 관리의 경우 기본적으로 허용 목록이 작동하는 방식입니다.허용 목록은 웹 자산에 액세스할 수 있는 봇 목록입니다.일반적으로 이것은 "사용자 에이전트"나 봇의 IP 주소나 이 둘의 조합을 통해 작동합니다.사용자 에이전트는 웹 서버에 접속하려는 사용자(또는 봇) 유형을 식별하는 텍스트 문자열입니다.
검색 엔진에 속한 봇과 같은 허용된 좋은 봇 사용자 에이전트 목록을 유지하고 목록에 없는 봇을 차단하여, 웹 서버는 좋은 봇이 액세스하는 것을 보장할 수 있습니다.
웹 서버에는 알려진 나쁜 봇의 차단 목록도 있을 수 있습니다.
네트워킹과 관련하여, 차단 목록은 서버, 네트워크, 웹 자산에 액세스할 수 없는 IP 주소, 사용자 에이전트, 기타 온라인 ID 표시기의 목록입니다. 이는 허용 목록을 사용하는 것과는 약간 다른 접근 방식입니다. 차단 목록을 기반으로 하는 봇 관리 전략은 해당 특정 봇을 차단하고 다른 모든 봇은 통과하도록 허용하는 반면, 허용 목록 전략은 지정된 봇만 통과시키고 나머지는 모두 차단합니다.
도둑이 게스트 목록에 있는 척하면서 이벤트에 잠입하기 위해 가짜 ID 카드를 사용하는 것처럼, 나쁜 봇도 사용자 에이전트 문자열을 가짜로 만들어 적어도 처음에는 좋은 봇처럼 보이게 할 수 있습니다.
따라서 좋은 봇을 허용하는 목록은 행동 분석이나 머신 러닝과 같은 스푸핑을 감지하는 다른 접근 방식과 결합해야 합니다. 이는 단순히 알려진 좋은 봇을 허용하는 것 외에도 나쁜 봇과 알려지지 않은 좋은 봇을 모두 사전에 식별하는 데 도움이 됩니다.
대부분의 AI 도구는 웹 콘텐츠를 통해 스스로 학습합니다. AI 크롤러 봇은 웹에서 새로운 콘텐츠를 검색합니다. 이는 특정 웹 사이트의 비즈니스 모델에 따라 긍정적일 수도 부정적일 수도 있습니다.
일부 웹사이트 운영자는 AI 봇이 계속해서 크롤링하면 백엔드가 고갈되거나 대역폭 비용이 너무 높아진다는 것을 알게 될 수 있습니다. 일부 기업은 원본 콘텐츠에 의존해 수익을 올리는 경우(예: 광고 기반 수익 모델) 사업 모델에 부정적인 영향을 받을 수 있습니다. AI 도구가 사용자가 웹사이트에 접속하지 않고도 콘텐츠를 활용해 사용자 쿼리에 답할 수 있기 때문입니다.
봇 관리자 제품은 좋은 봇이 웹 자산에 접근할 수 있도록 허용하고, 나쁜 봇을 차단하며, 웹 사이트 관리자가 AI 크롤러 및 도구와의 관계를 관리하는 데 도움이 됩니다. Cloudflare Bot Management는 머신 러닝 및 전체 네트워크의 트래픽에 대한 행동을 분석하여 나쁜 봇을 탐지하는 한편, 자동으로 좋은 봇을 허용 목록에 지속해서 추가합니다. 관리형 robots.txt 사용 시, Cloudflare에서는 robots.txt 파일을 자동으로 수정하여 웹 사이트 관리자의 선호도를 반영할 수 있습니다. 그리고 웹 사이트 관리자는 Cloudflare의 크롤링당 결제 기능을 통해 특정 AI 크롤러를 허용하거나 차단할 수 있으며, 해당 크롤러 운영자에게 크롤링당 요금을 부과할 수도 있습니다.
유익한 봇은 의도적으로 악의적이거나 웹사이트에 유해하지 않으면서 인터넷 상에서 작업을 자동화하는 컴퓨터 프로그램입니다. 예를 들어 웹 페이지를 인덱싱하고 웹사이트 트래픽을 늘리는 검색 엔진 크롤러, 불법 콘텐츠를 찾는 저작권 봇, 작동 중단을 확인하는 사이트 모니터링 봇 등이 있습니다.
웹사이트의 봇 관리 전략은 악성 봇과 유익한 봇을 구별해야 합니다. 사이트가 검색 결과에 표시되도록 하려면 검색 엔진 크롤러와 같은 유익한 봇이 사이트에 액세스할 수 있게 허용하는 것이 중요합니다. 동시에, AI 크롤러 같은 일부 유익한 봇도 많은 요청을 보내 사이트의 대역폭 비용을 증가시키거나, 명확한 지침을 제공하지 않으면 백엔드 서버를 과부하 상태로 만들 수 있습니다.
robots.txt 파일은 웹 서버에 있는 텍스트 파일로, 봇을 위한 규칙을 제공합니다. 이 규칙들은 봇이 크롤링할 수 있는 페이지, 팔로잉할 수 있는 링크, 그리고 웹사이트를 크롤링할 수 있는 빈도를 지정할 수 있습니다. 이는 유익한 봇 관리의 출발점이지만, 일부 봇은 이러한 규칙을 무시할 수도 있습니다.
일반적으로 사용되는 방법은 허용 목록과 차단 목록, 이렇게 두 가지입니다. 허용 목록은 게스트 명단과 같습니다. 허용 목록에 있는 봇만 웹사이트에 접근할 수 있고, 나머지는 모두 차단됩니다. 차단 목록은 그 반대로, 특정 봇만 접근이 거부되며, 나머지는 모두 허용됩니다.
허용 목록만으로는 항상 충분한 것은 아닙니다. 때때로 악성 봇은 신원을 위조하여 허용 목록을 우회할 수 있습니다. 따라서 악성 봇 활동을 탐지하기 위해 허용 목록을 행동 분석 또는 머신러닝과 같은 다른 방법과 결합해야 합니다.
봇 관리 솔루션은 유익한 봇은 허용하고, 악성 봇은 차단하며, 웹사이트 소유자가 다양한 유형의 크롤러와 상호 작용을 효율적으로 관리하도록 설계되었습니다. 예를 들어, Cloudflare Bot Management는 머신러닝 및 행동 분석을 사용하여 악성 봇을 탐지하는 한편, 검증된 유익한 봇의 허용 목록을 자동으로 유지합니다.