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

101 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
```text
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.