
오픈소스, 자체 호스팅 방식의 AI 기반 SIEM, EDR 및 SOAR 플랫폼으로, 현대적인 보안 운영을 위해 설계되었습니다.
전담 SOC가 없는 중소 규모 팀을 위한 셀프 호스팅 보안 스택입니다. 각 엔드포인트에 에이전트를 배포하고 서버를 가리키도록 설정하면, SIEM 로그, 파일 무결성, 패키지 취약점, OpenSearch 기반 로그 탐색기, 자율 AI 트리아지, SOAR 플레이북 엔진을 단 한 번의 docker compose up으로 모두 얻을 수 있습니다.
"AI" 부분은 로컬에서 실행되는 Ollama 모델(기본값 llama3.2:3b)입니다. 로그는 절대 외부로 나가지 않으며, OpenAI 키도, Anthropic 키도, 외부 통신(phone-home)도 없습니다. 더 똑똑한 모델을 원하고 RAM이 충분하다면 .env에서 교체하면 됩니다.

텔레메트리 수집: 단일 TCP 채널을 통해 Windows 및 Linux 에이전트로부터 수집합니다. SIEM 이벤트, 알림, FIM, 패키지, 네트워크 연결, 열린 포트, Docker 활동, 화면 프레임을 포함합니다.
엔드포인트에서 Sigma 규칙으로 탐지: 47개의 MITRE ATT&CK 기법을 다루는 43개의 규칙이 conf/sigma/builtin/에 기본 제공되며, 커뮤니티 규칙 세트를 그 옆에 추가할 수 있습니다. Sigma는 텍스트가 아닌 지정된 필드를 매칭하므로, Image|endswith: '\vssadmin.exe'는 무관한 메시지에 "vssadmin"이라는 단어가 등장한다고 해서 우회될 수 없으며, CommandLine|utf16le|base64offset|contains는 평문 명령줄에는 래퍼만 보이는 base64 -EncodedCommand 페이로드 내부까지 읽어냅니다. 평가 코퍼스에서 측정한 결과: Sigma만으로 10개 공격 중 9개를 탐지하고, 9개의 어려운 정상 샘플 중 오탐은 0건이었습니다. 이 계층은 결정론적이며 모델을 사용할 수 없을 때도 계속 작동합니다.
이벤트 간 상관 분석: 이는 이벤트 단위 규칙으로는 불가능한 작업입니다. 단일 로그온 실패는 일상적이지만, 40초 동안 한 출처에서 다섯 개 계정이 실패한다면 이는 비밀번호 스프레이 공격이며, 그 다섯 이벤트 중 어느 하나만 들여다봐서는 절대 알 수 없습니다. 스프레이, 무차별 대입, 반복 실패 후 성공, 계정 생성 또는 서비스 설치의 폭주를 두 플랫폼 모두에서 Windows 이벤트 ID 또는 파싱된 auth.log 라인으로부터 탐지합니다.
서로 다른 공격을 보기 때문에 두 가지 관점에서 실행됩니다. 에이전트의 호스트별 관점에서는 한 머신에 대한 공격이 전체적으로 보입니다. 그리고 수집 경로의 호스트 간 관점에서는 50대의 머신에 걸쳐 한 번에 하나씩 실패를 옮겨 다니는 스프레이가 드러납니다. 단일 에이전트는 이벤트를 하나 이상 보지 못하며, 이것이 더 유능한 공격입니다. 넓고 얕게 스프레이하면 계정별 잠금과 호스트별 임계값 모두를 밑돌 수 있기 때문입니다.
Sigma를 통한 전체 커버리지: 51개 기법. 모든 윈도우는 이벤트당 한 번이 아니라 한 번만 발동하며, 모든 카운터는 상한이 있습니다. 공격자가 제공한 사용자 이름을 키로 하는 카운터는 탐지가 아니라 메모리 고갈 원시 요소입니다.
규칙 자체에서 탐지를 MITRE ATT&CK에 매핑합니다. 규칙에는
tags: attack.t1490이 포함되어 있어, 오래되어 무효화될 수 있는 수동 관리 매핑 테이블이 필요 없습니다.
커버리지 페이지는 단일 "커버리지 %"가 숨길 수 있는 세 가지 상태를 구분합니다:
커버되었고 확인됨, 커버되었지만 조용함, 그리고 전혀 커버되지 않음 — 마지막 상태만이
콘솔의 침묵이 아무 의미도 없는 경우입니다.
로컬 LLM으로 모든 이벤트를 분류합니다. 세 개의 워커가 병렬로 실행됩니다:
하나는 모든 수신 이벤트를 실시간으로 감시하고, 하나는 운영자 주도의
심층 스캔을 실행하며, 하나는 방어 조치(BLOCK_IP, ISOLATE_HOST, KILL_PROCESS 등)를
취할지 결정합니다.
방어 워커를 위한 섀도 모드. AI_SHADOW_MODE=1로 전환하면
모든 자율 판정이 디스패치되는 대신 SOAR Hub에서 인간 승인을 위해 대기 상태가 됩니다.
모델이 스스로 행동하기 전에 실제 트래픽으로 모델을 튜닝하는 데 유용합니다.
모든 것을 OpenSearch에 인덱싱하여 한 곳에서 퍼지 / 정확 / 시작 문자 일치 쿼리로 플릿을 grep할 수 있습니다.
SOAR 플레이북 실행 — 다단계, 노드별 결과 추적 기능을 갖춘 작은 시각적 편집기에서 구축되며, 수동으로 또는 AI 판정에 의해 트리거될 수 있습니다.
취약점 스캔 — 모든 에이전트의 설치된 패키지를 OSV(온라인 또는 내부 미러)에 대해 검사합니다.
위협 인텔 피드 수집 — abuse.ch(Feodo, ThreatFox, URLhaus)에서 로컬 지표 테이블로 가져오며, 오래된 항목 정리와 에어갭 스위치를 지원합니다.
푸시 전 에이전트 구성 검증. YAML 파싱, 구조적 형태, 정규식 컴파일 — 유효하지 않은 정규식은 유효한 YAML이며, 이를 포함하는 규칙을 조용히 비활성화합니다.
내장 원격 데스크톱 — WebSocket JPEG 스트리밍을 통해, 엔드포인트에 별도의 VNC 설치가 필요 없습니다.
사이드바는 모든 것을 세 섹션으로 그룹화합니다: 텔레메트리(대시보드, 에이전트, 알림, 자산, FIM, 로그, AI), 자동화 대응 (방어 조치, 플레이북, 자동화 규칙), 그리고 관리.
등록된 각 에이전트는 열두 개의 탭이 있는 자체 페이지를 가집니다. 개요는 실시간 리소스 미터, 가장 최근 SIEM 로그, 에이전트 메타데이터 및 위협 요약을 보여줍니다:

알림은 에이전트 자체 상관 규칙이 이미 플래그한 모든 것입니다. 심각도별 색상, 필터링 가능, 검색 가능:

AI 분석 탭은 로컬 LLM의 운영자 대면 측면입니다. 수동 및 자동 스캔 모두 여기에 표시됩니다. 각 인사이트에는 판정 칩, 신뢰도, MITRE 지표(모델이 반환하는 경우), IOC, 다음 단계, 그리고 AI가 살펴본 정확한 로그 행을 여는 View Source 버튼이 있습니다:

에이전트별 하드웨어, 소프트웨어, 네트워크 소켓. 하드웨어 탭은 모든 PnP 장치를 나열하고, 소프트웨어는 설치된 패키지를 나열하며, 네트워크는 소유 프로세스와 함께 모든 TCP/UDP 소켓을 나열합니다:


OpenSearch 기반의 교차 에이전트 검색. 에이전트를 선택하고, 데이터셋 (SIEM 이벤트, 보안 알림, 프로세스 이벤트, 네트워크, FIM, 감사 로그)을 선택하고 검색합니다. 파워 유저를 위해 OpenSearch Dashboards (Kibana 포크)를 여는 버튼도 있습니다:

플랫폼 자체에 대한 모든 로그인 시도(로컬 및 LDAP 모두)를 결과, 소스 IP, 타임스탬프와 함께 기록합니다. 누군가 "누가 언제 로그인했는가"를 궁금해할 때 유용합니다:

호스트에 Docker 24+와 Compose v2, Python 3.10+가 필요합니다(일회성 에이전트 빌드 단계에만 사용). 전체 스택에는 약 16GB RAM이 필요하며, 아래의 시스템 요구 사항을 참조하세요.
git clone https://github.com/d3vhex/Sentora.git
cd Sentora
# .env holds your local secrets. Never commit it.
cp .env.example .env
# Generate the machine-generated secrets (FERNET_KEY, RABBITMQ_PASSWORD,
# AGENT_SHARED_SECRET, OPENSEARCH_PASSWORD). Safe to re-run — it never
# overwrites a value that is already set.
python scripts/init_secrets.py
# Then set DB_PASSWORD by hand. Compose refuses to start without it.
# On an existing deployment, rotate it with scripts/rotate_db_password.py
# instead — MySQL fixes the root password at first init, so editing .env
# alone locks the app out rather than changing the account.
# Build the agent binary once. The server serves it via
# /api/agent/download/{linux,windows}; skipping this means agents can't be
# deployed because the download endpoint returns 404.
cd Sentora
./build_agent.sh # on Linux/macOS/WSL
# .\build_agent.ps1 # on Windows
cd ..
docker compose up --build -d
http://localhost:8000을 엽니다. 기본 로그인은 admin / admin123입니다.
Users & Roles에서 즉시 변경하세요.
Ollama는 첫 부팅 시 llama3.2:3b를 자동으로 풀(pull)합니다. 다음으로 확인하세요:
docker exec sentora-ollama ollama list
에이전트 배포: Deploy Agent 페이지에서 원하는 OS용 원라이너를 복사합니다. 대상 머신(관리자 셸)에서 붙여넣습니다. 설치 프로그램이 바이너리를 다운로드하고, 설정 파일을 배치하고, 서버에 등록하며, 자신을 예약 작업 / systemd 유닛으로 등록합니다.