Skip to main content
이 번역은 새로운 보안 활성화 및 배포 제어 이전의 내용입니다. 업데이트될 때까지 영문 가이드를 사용하세요.
더 쉬운 방법을 찾고 계신가요? 데스크톱 설치 프로그램을 사용하면 자동 구성으로 원클릭 배포가 가능합니다. 명령줄이 필요 없습니다!

사전 요구 사항

시작하기 전에 시스템에 다음이 설치되어 있는지 확인하세요:
  • Docker Engine (20.10.0 이상)
  • Docker Compose (v2.0.0 이상)
  • OpenSSL (SSL 인증서 생성용)

Docker 설치

macOS의 경우:

  1. Docker Hub에서 Docker Desktop을 다운로드하여 설치합니다
  2. 설치 마법사를 따릅니다
  3. 설치를 확인합니다:

Linux (Ubuntu/Debian)의 경우:

Windows의 경우:

  1. Docker Hub에서 Docker Desktop을 다운로드하여 설치합니다
  2. Docker 문서를 따라 WSL 2를 활성화합니다
  3. 설치 마법사를 따릅니다
  4. PowerShell에서 설치를 확인합니다:

1단계: 프로젝트 디렉터리 생성

CaseBender 배포용 새 디렉터리를 만들고 해당 디렉터리로 이동합니다:

2단계: 환경 변수 구성

다음 내용으로 .env 파일을 생성합니다:
CaseBender는 여러 컨테이너로 실행됩니다: 웹 앱(app), REST API 게이트웨이(api), 알림 수집 게이트웨이(ingestion, Microsoft Defender 같은 통합 웹훅을 수신함), 백그라운드 worker, 그리고 workflowMISP 프로세서입니다. Nginx가 앞단에서 트래픽을 올바른 서비스로 라우팅합니다. 이 모든 것이 아래 Compose 파일에 포함되어 있습니다.

3단계: SSL 인증서 생성

로컬 개발을 위해 자체 서명된 SSL 인증서를 생성합니다:

4단계: Nginx 구성

다음 내용으로 nginx.conf를 생성합니다:

5단계: Docker Compose 구성 생성

다음 내용으로 docker-compose.yml을 생성합니다:
엔터프라이즈 검색(OpenSearch)이 필요하신가요? 데스크톱 설치 프로그램이 search-sync, opensearch, opensearch-dashboards 서비스를 추가해 줄 수 있습니다. 대부분의 로컬 평가에서는 위의 PostgreSQL 기반 검색으로 충분합니다.

6단계: 로컬 DNS 구성

hosts 파일에 다음 항목을 추가합니다:

macOS와 Linux의 경우:

Windows의 경우:

C:\Windows\System32\drivers\etc\hosts에 다음 줄을 추가합니다:

7단계: 애플리케이션 시작

  1. 필요한 이미지를 가져옵니다:
  1. 모든 서비스를 시작합니다:
  1. 로그를 모니터링합니다:
  1. https://local.casebender.com에서 애플리케이션에 접속합니다

기본 로그인 자격 증명

CaseBender를 배포한 후 다음 기본 자격 증명으로 로그인할 수 있습니다:
보안상의 이유로 첫 로그인 후 이 기본 자격 증명을 즉시 변경할 것을 강력히 권장합니다.

기업 프록시 뒤에서 실행하기

호스트가 기업 HTTP 프록시를 통해서만 인터넷에 접근할 수 있는 경우(“프록시 전용” 네트워크), CaseBender의 아웃바운드 호출 — 라이선스 활성화 및 Microsoft Defender, Splunk 같은 통합 — 은 반드시 해당 프록시를 통해 라우팅되어야 합니다. 프록시 변수를 .env에 추가하세요:
그런 다음 docker-compose.yml의 각 서비스 environment: 블록에 다음 줄을 추가하여 모든 CaseBender 서비스에 전달하세요:
NO_PROXY에는 위의 내부 Docker 서비스 이름이 포함되어야 합니다. 그렇지 않으면 컨테이너 간 트래픽(예: 웹 앱이 ingestion 서비스를 호출)이 기업 프록시로 전송되어 실패하며, 인터넷과 무관함에도 앱이 손상됩니다.
어떤 대상이 프록시를 거치나요? 공용 엔드포인트는 프록시를 거쳐야 하며 NO_PROXY에 포함되면 안 됩니다 — 예: Microsoft Defender(login.microsoftonline.com, graph.microsoft.com). 온프레미스 대상은 직접 도달하도록 NO_PROXY에 나열하세요 — 예: 내부 Splunk HEC. Splunk Cloud를 사용하는 경우 프록시를 통해 라우팅되도록 제외하세요.
컨테이너 내부에서 연결을 확인하세요(curl 없이 node 사용):
프록시가 구성되면 각 서비스는 시작 시 [proxy] Outbound fetch routed through corporate proxy (...)를 로그에 남깁니다.

문제 해결

일반적인 문제

  1. 인증서 경고:
    • 자체 서명 인증서를 사용하므로 브라우저에 보안 경고가 표시됩니다
    • “고급”을 클릭하고 웹사이트로 진행합니다
    • 개발 목적에서는 예상된 동작이며 안전합니다
  2. 포트 충돌:
    • 포트 80, 443, 3000, 3001, 3002, 3003, 3004, 3005, 5433, 6379, 9000, 9090이 사용 중이 아닌지 확인합니다
    • 필요한 경우 docker-compose.yml에서 포트 매핑을 수정합니다
  3. 데이터베이스 연결:
    • PostgreSQL 로그 확인: docker compose logs db
    • .env의 데이터베이스 자격 증명 확인
    • 데이터베이스 실행 여부 확인: docker compose ps db
  4. 서비스 종속성:
    • 서비스가 시작되지 않으면 종속성을 확인합니다:

로그 확인

특정 서비스의 로그를 봅니다:

서비스 관리

다음 단계

이제 CaseBender가 로컬에서 실행되므로 다음을 수행할 수 있습니다:

프로덕션 배포

CaseBender를 프로덕션 환경에 배포합니다

구성

고급 구성 옵션에 대해 알아봅니다