Files
siem-backend/ARCHITECTURE.md
jbergner e9d9583f28
Some checks failed
release-tag / release-image (push) Failing after 1m8s
Funktionsrollback
2026-07-24 07:17:38 +02:00

3.2 KiB
Raw Blame History

Greenfield SIEM Architektur 1.2

Leitprinzip

Der skalierbare Eventpfad und die SIEM-Produktebene sind getrennt. Ein langsames Dashboard, eine Rule-Auswertung oder ein Grafana-Query darf niemals den HTTP-Ingress blockieren.

Collectors
   │
   ▼
HTTP Ingress ───────────────► PostgreSQL (Agent-Auth)
   │ 202 Accepted
   ▼
Redpanda
   │
   ▼
Processor ─────► ClickHouse events ─────► Rule Engine
   │                    │                     │
   │                    │                     ▼
   │                    │                PostgreSQL Findings
   │                    │
   │                    ├────► Analyst API/UI
   │                    └────► Grafana (read-only)
   │
   └────► gzip spool ─────► Garage/S3

Prometheus ◄──── Ingress / Redpanda / ClickHouse
    │
    └─────────────────────► Grafana Pipeline Health

Stores

ClickHouse

Einzige kanonische, vollständig durchsuchbare Eventtabelle. Normalisierte Felder werden spaltenorientiert gespeichert; unbekannte Restattribute liegen begrenzt in einer Map. Vollständige XML-/Raw-Batches werden nicht dupliziert.

  • events: 90 Tage Standard-TTL
  • events_5m: 5-Minuten-Rollup, 730 Tage Standard-TTL
  • ReplacingMergeTree + stabile event_uid gegen Retry-Duplikate

Auf dem bekannten KVM-Host wird 26.3.17.56 verwendet, weil diese Version mit dem präsentierten QEMU-CPU-Modell läuft.

PostgreSQL

Nur Control Plane und Workflow:

  • Agents / Enrollment
  • Rule-Sets und Rule-Registry
  • Suppressions
  • Detections / Status

Keine Eventhistorie.

Redpanda

Persistenter Recovery-Puffer und Entkopplung zwischen Ingress und Verarbeitung. Standard-Retention 24 Stunden.

Garage/S3

Komprimiertes Rohdatenarchiv. Standard-Retention 30 Tage.

Prometheus

Nur Betriebsmetriken. Keine Benutzer/IP/Event-ID-Kardinalität als Labels.

Rule Engine

Built-in-Rule-Sets liegen unter deploy/rules/*.json. Der Detector synchronisiert sie nach PostgreSQL. Das ermöglicht Versionierung im Repository und Laufzeitsteuerung über das UI.

Die Rule-Definition enthält kein freies SQL. Der Compiler akzeptiert nur erlaubte Felder, Operatoren, Gruppierungen und Regeltypen und erzeugt daraus begrenzte ClickHouse-Abfragen.

Regeltypen:

  • Event Match
  • Threshold
  • Distinct/Spread

Rule-Set- und Regel-Aktivierungszustände werden nicht durch ein Softwareupdate zurückgesetzt.

Analystenoberflächen

SIEM Analyst UI

Für operative Arbeit:

  • Overview
  • Event Investigation und Drill-down
  • Detections / Status
  • Rule-Sets / Custom Rules
  • Suppressions
  • Agents

Grafana

Für Exploration, Visualisierung und Betriebsüberwachung. Grafana erhält einen eigenen ClickHouse-Account mit ausschließlich SELECT-Rechten. Das mitgelieferte Datasource-Provisioning verbindet Grafana direkt mit ClickHouse; Prometheus ist die zweite provisionierte Datasource.

Availability

Das One-Click-Compose ist ein Single-Node-Deployment und nicht hochverfügbar. Die Architektur erlaubt später getrennte Redpanda-/ClickHouse-/PostgreSQL-/Object-Storage-Nodes, ohne den HTTP-Vertrag oder das Eventmodell zu ändern.