프로젝트 소개

터키바이트는 클라이언트 네트워크 트래픽을 분석하여 도메인 요청을 분류하는 오픈 소스 도메인 및 호스트 컨텍스트 분석 파이프라인입니다. 성인 콘텐츠, 도박, 쇼핑 등 다양한 범주의 도메인 요청을 분류합니다. 침입적이지 않은 분석 도구로 설계되었으며, 블록킹 도구인 피홀과 함께 실행할 수 있습니다. 파이프라인은 도커 기반 기술 스택을 사용하며, 파이썬 3, 발키(레디스 호환 인메모리 데이터 스토어), 바인드9 DNS 서버, 패킷비트/브라우저비트, 오픈서치, 오픈서치 대시보드를 포함합니다. 다수의 공공 소스로부터 도메인 및 호스트 분류 목록을 집계하여 분석 결과를 풍부하게 합니다. 패킷비트는 지원되는 DNS 서버(바인드9 및 마이크로소프트 DNS 서버에서 생산 환경에서 테스트됨, 호환성 모든 DNS 서버)에서 DNS 트래픽을 캡처하고 발키로 데이터를 보냅니다. 브라우저비트는 지원되는 브라우저에서 브라우저 히스토리 데이터를 수집할 수 있습니다. 터키바이트 코어 및 워커 프로세스는 수신된 데이터를 처리하고 도메인 카테고리 컨텍스트로 풍부하게 한 다음 오픈서치에 인덱싱하여 오픈서치 대시보드에서 쿼리 및 시각화합니다. 배포는 도커 컴포즈를 통해 관리되며, 다양한 배포 규모(개발, 소규모, 전체 규모)용 설정 가이드를 제공하는 세트업 스크립트를 통해 사용자를 안내합니다. DNS 조회 설정, 출력 옵션(오픈서치 및/또는 syslog), 서비스 자격 증명 등 다양한 설정을 구성할 수 있습니다. 세트업 스크립트는 자동으로 필요한 구성 파일(.env, config.yaml, docker-compose.yml) 및 서비스 인증에 필요한 비밀 파일を 생성합니다. 분산 배포를 위해 각 노드에서 세트업 스크립트를 실행하고 발키가 별도의 전용 서버에서 실행되는 경우 코어 및 워커 노드에 발키 인증 비밀을 복사해야 합니다. 패킷비트를 구성하여 포트 53에서 DNS 트래픽을 캡처하고 발키로 출력해야 합니다. 선택한 터키바이트 파이프라인 모드(«consume» 모드, «rq» 모드)에 맞게 데이터 타입 및 키 설정을 신중하게 일치시켜야 합니다. 브라우저비트는 별도의 설치 지침을 따르며 브라우저 히스토리 데이터를 수집합니다. 일상적인 유지 관리로는 vols/logs 디렉토리에 저장된 로그와 사용자 구성에 따라 자동으로 업데이트되는 도메인 목록을 확인합니다. 일반적인 문제 해결 단계로는 도커 컴포즈 로그를 확인하고 개별 서비스를 다시 시작하고 도커 네트워크 내의 컨테이너 간의 연결을 확인합니다.