홈/뉴스/게시글
Community

뉴스

디코랩 커뮤니티의 새 글을 확인하세요.

보안

악성 봇 트래픽, 좋은 봇과 나쁜 봇 구분하고 차단하는 5단계

디코랩디코랩 ·
10-10

악성 봇 트래픽은 접속 기록으로 정체를 확인한 뒤 검색 로봇은 두고 나쁜 봇만 단계적으로 막으면 됩니다. 이 글에서는 좋은 봇과 나쁜 봇을 가르는 기준, 서버 기록으로 확인하는 5단계, 차단 수단별 차이와 오차단을 줄이는 점검 항목을 정리했습니다.

악성 봇 트래픽 차단 5단계라는 제목과 경고 표시가 있는 서버 아이콘
봇을 무조건 막기보다 먼저 정체를 확인합니다.

악성 봇 트래픽이란 무엇이고 왜 문제인가

봇은 사람이 아니라 프로그램이 자동으로 보내는 요청입니다. 홈페이지 방문 기록의 상당 부분이 봇일 수 있지만, 봇이 모두 나쁜 것은 아닙니다. 검색엔진이 글을 수집하는 로봇, 사이트가 열리는지 확인하는 감시 도구, 메신저에 링크를 붙였을 때 미리보기를 만드는 프로그램은 운영에 도움이 됩니다.

문제가 되는 것은 운영자가 원하지 않는 일을 자동으로 반복하는 봇입니다. 작은 홈페이지에서 자주 보이는 악성 봇의 활동은 다음과 같습니다.

  • 로그인 화면에 비밀번호를 대량으로 넣어 보는 시도
  • 게시판·문의 폼에 광고 글을 자동으로 올리는 스팸
  • 오래된 프로그램이나 노출된 파일이 있는지 주소를 하나씩 찔러 보는 탐색
  • 글과 사진을 통째로 가져가는 무단 수집
  • 짧은 시간에 요청을 몰아 서버를 느리게 만드는 과도한 접속

이런 요청은 서버 자원을 쓰고, 방문 통계를 부풀리고, 침입의 출발점이 되기도 합니다. 트래픽 양보다 요청의 목적과 행동을 보고 판단하는 것이 봇 관리의 출발점입니다.

좋은 봇과 나쁜 봇을 구분하는 기준

아래 표는 운영자가 접속 기록을 볼 때 좋은 봇과 나쁜 봇을 가르는 기준을 항목별로 비교한 것입니다.

기준좋은 봇나쁜 봇
목적검색 수집, 접속 감시, 링크 미리보기로그인 대입, 스팸, 취약점 탐색, 무단 수집
이름 표시사용자 에이전트에 자기 이름과 안내 주소를 밝힘이름이 없거나 유명한 봇·브라우저 이름을 흉내 냄
robots.txt대체로 지시를 따름무시하거나 막힌 주소를 골라 방문
요청 속도일정하고 서버 부담을 조절함짧은 시간에 몰아서 요청함
요청 주소실제로 있는 페이지 위주관리자 경로·설정 파일처럼 없는 주소를 연달아 요청

주의할 점은 사용자 에이전트 이름을 누구나 바꿔 쓸 수 있다는 것입니다. 나쁜 봇이 검색 로봇 이름을 달고 오는 경우도 있어서, 이름만 보고 허용하거나 막으면 안 됩니다. Google은 요청한 IP 주소를 역방향 DNS로 조회해 googlebot.com, google.com, googleusercontent.com 으로 끝나는지 보고, 그 이름을 다시 정방향으로 조회해 같은 IP가 나오는지 확인하는 방법을 안내합니다. 자세한 절차와 공개 IP 대역 파일은 Google 검색 센터의 Googlebot 확인 방법에서 볼 수 있습니다.

목적, 이름 표시, robots.txt 준수, 요청 속도, 요청 주소 다섯 기준으로 좋은 봇과 나쁜 봇을 비교한 표
좋은 봇과 나쁜 봇을 가르는 다섯 가지 기준

그림처럼 한 가지 기준만으로는 판단하기 어렵고, 이름·속도·요청 주소를 함께 봐야 합니다. 특히 없는 주소를 연달아 요청하는 패턴은 사람이 거의 만들지 않는 흔적이라 가장 알아보기 쉽습니다.

악성 봇 트래픽을 확인하고 차단하는 5단계

봇 차단은 한 번에 강하게 막는 것보다 확인한 범위만큼 조금씩 넓히는 편이 안전합니다. 검색 로봇이나 실제 고객을 실수로 막으면 검색 노출과 문의가 함께 줄어들기 때문입니다.

  1. 평소 기준 정하기: 평일 하루 요청 수와 접속이 몰리는 시간대를 기록해 두고, 그보다 크게 늘어난 날을 조사 대상으로 삼습니다.
  2. 접속 기록에서 상위 목록 뽑기: 요청이 많은 IP, 많이 요청된 주소, 사용자 에이전트를 순서대로 정리합니다. 기록 읽는 법은 서버 접속 로그 확인 기초 5단계에 정리했습니다.
  3. 정체 확인하기: 검색 로봇 이름을 쓴 요청은 위의 DNS 확인으로 진짜인지 가립니다. 확인되지 않은 요청 가운데 없는 주소를 반복하거나 로그인만 노리는 것을 나쁜 봇 후보로 분류합니다.
  4. 약한 조치부터 적용하기: 같은 IP의 요청 속도를 제한하거나, 로그인·폼처럼 노리는 지점에만 확인 화면을 둡니다. 사이트 전체를 막는 조치는 마지막에 씁니다.
  5. 차단하고 다시 확인하기: 효과가 확인된 IP나 대역을 차단 목록에 올리고, 언제 무엇을 막았는지 기록합니다. 일주일 뒤 검색 노출과 문의 접수가 줄지 않았는지 확인합니다.
평소 기준 정하기부터 차단 후 재확인까지 악성 봇 확인과 차단 5단계를 순서대로 보여 주는 도식
확인한 범위만큼 조금씩 막는 5단계 순서

그림의 1~3단계는 판단, 4~5단계는 조치입니다. 판단 없이 조치부터 하면 원인을 놓치고 정상 방문자까지 막기 쉽습니다.

차단 수단별로 다른 점

IP 차단은 간단하지만 봇이 주소를 자주 바꾸면 효과가 짧습니다. 국가 단위 차단은 넓게 막을 수 있지만 해외 거래처나 출장 중인 직원도 함께 막힙니다. 요청 속도 제한은 정상 방문자에게 영향이 적어 먼저 시도하기 좋습니다. 공격이 계속된다면 앞단에서 걸러 주는 서비스를 검토하는데, 판단 기준은 웹 방화벽 도입 판단 기준에서 다뤘습니다.

오차단을 줄이는 점검 체크리스트

차단 규칙은 쌓일수록 관리가 어려워집니다. 규칙을 추가할 때와 분기마다 아래 항목을 확인하세요.

  • 검색 로봇을 막는 규칙이 없는지 확인한다.
  • 사이트 감시 도구와 결제·알림 서비스의 접속 주소를 허용 목록에 둔다.
  • 차단 규칙마다 만든 날짜와 이유를 적어 둔다.
  • 회사·거래처 IP가 차단 목록에 섞이지 않았는지 본다.
  • 오래되어 효과가 없는 규칙은 지운다.
  • 차단 뒤 문의 접수와 검색 노출이 줄지 않았는지 확인한다.

디코랩이 돕는 방식

디코랩은 운영 중인 사이트의 수정과 점검을 맡고, 웹사이트 취약점 점검 서비스도 제공합니다. 봇이 노리는 로그인·폼·노출 파일을 함께 확인하려면 웹사이트 취약점 점검 서비스를, 꾸준한 관리가 필요하면 홈페이지 유지보수 상품을 참고하세요.

자주 묻는 질문

봇을 전부 막으면 더 안전하지 않나요?

검색 로봇까지 막으면 검색 결과에서 사이트가 사라질 수 있습니다. 감시 도구나 링크 미리보기도 작동하지 않습니다. 나쁜 행동을 하는 봇만 골라 막는 것이 맞습니다.

robots.txt 로 나쁜 봇을 막을 수 있나요?

robots.txt 는 지시를 따르는 봇에게만 통하는 안내문입니다. 나쁜 봇은 대부분 무시하므로 서버나 앞단 서비스에서 실제로 막아야 합니다.

방문자 통계가 갑자기 늘었는데 봇인가요?

한 시간대에 몰리거나, 머문 시간이 거의 없거나, 한 페이지에만 몰린다면 봇일 가능성이 있습니다. 서버 접속 기록과 함께 비교해 판단하세요.

호스팅을 쓰는데 직접 차단할 수 있나요?

호스팅 상품에 따라 IP 차단이나 접근 제한 설정을 제공하기도 합니다. 설정 화면이 없다면 호스팅 업체나 유지보수 업체에 기록을 보여 주고 요청하세요.

접속 기록에 낯선 요청이 많아 판단이 어렵다면 사이트 주소와 증상을 적어 디코랩 프로젝트 문의로 보내 주세요.

목록

댓글0

댓글 작성 권한이 없습니다