본문으로 건너뛰기

설치 및 초기화

개요

BotManager-Cloudflare-Agent는 Origin 서버를 수정하지 않고 Cloudflare의 Workers 기능을 활용하여 BotManager의 탐지 기능을 간단하게 적용할 수 있도록 설계되었습니다.

BotManager는 다양한 분석 기법(헤더 분석, 행위 분석, 해외 IP 차단, 접속 통계 등)을 통해 봇 및 매크로 사용자를 탐지하는 솔루션입니다. 이를 통해 웹 서비스를 보호하고, 악성 사용자 및 자동화된 봇의 위협으로부터 데이터를 안전하게 관리할 수 있습니다.

Cloudflare Workers란?

Cloudflare Workers는 Cloudflare의 글로벌 네트워크 상에서 JavaScript, TypeScript, WebAssembly 등을 실행할 수 있는 서버리스 컴퓨팅 플랫폼입니다.

주요 특징:

  • 글로벌 엣지 네트워크 기반 실행 - 전 세계 300개 이상의 도시에서 실행되어, 사용자에게 더 가까운 위치에서 코드를 실행함으로써 낮은 지연시간과 빠른 응답 속도를 제공합니다.
  • Origin 서버 부하 감소 - 엣지에서 직접 요청을 처리하거나 캐시, 인증, 리다이렉션 등의 작업을 수행할 수 있어 Origin 서버의 부하를 줄일 수 있습니다.
  • 빠른 배포와 확장성 - 복잡한 인프라 설정 없이, 코드를 작성하고 바로 배포할 수 있으며 자동으로 글로벌 확장됩니다.

Cloudflare에 대한 자세한 내용은 공식 문서를 참조하세요:

설치 방법

1. Worker 생성 및 설정값 세팅

  1. Cloudflare 관리 콘솔에서 Workers 및 Pages 메뉴로 이동합니다.
  2. 생성을 클릭하고, WorkersHello world로 생성해주세요.
  3. 생성된 Workers를 선택하여 설정으로 이동합니다.
    • 도메인 및 경로에서 경로를 추가합니다.
      • 영역: Cloudflare에 등록한 도메인 리스트 중 사용할 도메인을 선택합니다.
      • 경로: workers가 실행될 서브도메인 또는 도메인을 입력해주세요. 마지막에 /*를 추가해야 하위 경로까지 포함됩니다.
  4. 변수 및 암호에 아래의 환경 변수들을 추가합니다.
RequiredTypeNameDefault ValueDescription
YES텍스트BM_DOMIN{{domain}}유저가 BotManager에 등록한 도메인
YES텍스트BM_TENANT_ID{{tenantId}}고객사 tenantId
No텍스트BM_PROTECTION_SERVER_URLhttps://cdn-botmanager.stclab.com봇으로 판정되었을때 redirect 할 주소
No텍스트BM_SERVER_API_URL/api/v1/macroBotManager 탐지 pathname
No텍스트BM_SERVER_URLhttps://botmanager.stclab.comBotManager 탐지 서버 주소
No텍스트BM_SERVER_TIMEOUT3000BotManager 탐지 서버로의 timeout
No텍스트BM_BYPASSfalseBotManager가 작동하지 않도록하는 플래그
No텍스트BM_LOG_LEVELERRORBotManager 연동시 로그 레벨(DEBUG, INFO, WARN, ERROR)
  1. 봇매니저 에이전트 코드 파일인 botmanager-cloudflare-agent.js을 아래의 경로에서 다운받습니다.
  2. 대시보드 우측 상단에 있는 코드 편집을 클릭하여 봇매니저 에이전트 코드 파일을 import하고 worker.js 파일의 코드를 수정한 후 배포를 클릭합니다.

worker.js Code:

import bmEvent from './botmanager-cloudflare-agent.js'

export default {
async fetch(request, env, ctx) {
return await bmEvent(request, env, ctx);
},
};
  1. 배포 탭으로 이동하여 배포 상태를 확인합니다.

2. 설치 완료

BotManager-Cloudflare-Agent가 성공적으로 설치되었습니다. 설정한 정책대로 동작하는지 확인하세요.