v1.0.29 · OT-Sentrymode

Passives IDS.
Für OT/ICS.

Header-only Paketanalyse am Mirror-Port. Signatur-Erkennung + ML-Anomalie-Engine + selbstlernender Feedback-Loop.
Kein Payload-Zugriff. Keine blinden Flecken.

✓ Rust-Sniffer ✓ Isolation Forest ✓ Debian Live ISO ✓ MIT-Lizenz
PROTECT · DETECT · RESPOND
14
Microservices
128B
Header-only Snaplen
~40k
Suricata-ET-Regeln
0
Payload-Zugriff
FUNKTIONEN

Gebaut für den Ernstfall.

Speziell entwickelt für OT-Netze, in denen Verfügbarkeit über allem steht.

Passive Mirror-Port-Analyse

Keinerlei Auswirkung auf das Netzwerk. Rust-basierter Sniffer mit AF_PACKET/TPACKET_V3 erfasst den Traffic in Wire-Speed — nur Header, kein Payload, keine Entschlüsselung.

ML-Anomalieerkennung & -Unterdrückung

Isolation Forest mit selbstlernendem Feedback-Loop. Alarme als True- oder False-Positive markieren und das Modell trainiert automatisch nach. Adaptive Suppression stuft Wiederholungen auf gleicher Regel und bidirektionaler Verbindung herab — Operatoren sehen nur echte Angriffsmuster, kein Rauschen.

OT/ICS-Protokollabdeckung

Vorkonfigurierte Regelsätze für Modbus TCP, DNP3, EtherNet/IP, BACnet und S7. OT-Tags werden orange hervorgehoben und in der Schwere automatisch eskaliert.

Echtzeit-Dashboard via WebSocket

Live-Alarmfeed mit Threat-Level-Anzeige, Verbindungsgraph, PCAP-Download je Alarm, Anreicherung (GeoIP, ASN, DNS) und CSV-Export.

Suricata-Integration

Optionale parallele Detection Engine. ~40.000 Emerging-Threats-Regeln plus OT/ICS-Regelsätze von Digital Bond und Positive Technologies — im laufenden Betrieb nachladbar.

IRMA-Bridge

Integriert externe IRMA-IDS-Alarme in den gemeinsamen Feed. REST-Polling mit automatischer Token-Erneuerung — fremde Alarme erscheinen als gleichwertige Einträge.

PCAP-Beweisspeicher

Jeder Alarm legt eine Wireshark-kompatible PCAP-Datei (nur Header) in MinIO ab — direkt aus der Alarmdetailansicht für die forensische Auswertung herunterladbar.

Host-Trust-System

Inventar bekannter Netze und Hosts mit CSV-Massenimport, GeoIP/ASN-Anreicherung und automatischen Alarmen bei unbekannten Hosts — Redis-cached für Geschwindigkeit.

Debian Live ISO

Einstecken, booten, fertig. Der First-Boot-Wizard konfiguriert Interface, IPs und Passwörter. Automatische System-Updates per ids-update. Kein OS-Adminwissen nötig.

Automatischer CMDB-Sync

Bidirektionale iTop-/TeemIP-Integration — importiert Subnetze, Hosts und CI-Datensätze ins Trust-System und schreibt neu entdeckte unbekannte Hosts zurück in die CMDB. Manuelle Einträge und DNS-Overrides werden nach Priorität bewahrt; CMDB-Assets bekommen das ✓ iTop-Badge.

Vollständiger Enrichment-Service

Jeder Alarm wird nachgelagert um Reverse-DNS, ICMP-Erreichbarkeit, MaxMind GeoIP/ASN, Known-Network-Lookup und Host-Trust-Prüfung angereichert. Redis-cached für Sub-Sekunden-Latenz, live über WebSocket als alert_enriched-Update gestreamt.

Umfassende FastAPI · OpenAPI

Vollständige REST-Oberfläche mit interaktivem Swagger unter /api/docs, ReDoc und OpenAPI-JSON-Spec. JWT plus SAML 2.0, lange API-Tokens, CSV-Bulk-Endpunkte und Live-WebSocket-Events — gebaut für SIEM, Automatisierung und Drittanbieter-Anbindung.

LIVE-DEPLOYMENT

Die App im Überblick.

Echte Alarme, echte Netze — Screenshots aus einer laufenden CYJAN-IDS-Installation.

https://demo.cyjan.dev
CYJAN-IDS-Dashboard mit Live-Alarmfeed
Live-Alarmfeed

WebSocket-Stream jedes Alarms in Echtzeit — Schweregrad, Quelle, Ziel, Tags und PCAP-Download mit einem Klick.

Threat-Level-Anzeige

Aggregierter Live-Bedrohungsindex — Aufschlüsselung nach kritisch / hoch / mittel / niedrig für einen sofortigen Blick auf den Netzzustand.

Host-Trust-System

Jeder Host wird automatisch per DNS und GeoIP angereichert — unbekannte Geräte lösen sofort einen Alarm aus, sobald sie auftauchen.

ARCHITEKTUR

Event-getriebene Pipeline.

Apache Kafka im Zentrum — jede Komponente ist unabhängig skalierbar und austauschbar.

Mirror-Port
sniffer (Rust)
Apache Kafka
KRaft · 6 Topics
flow-aggregator
signature-engine
ml-engine (IsoForest)
alert-manager
enrichment-service
TimescaleDB
FastAPI + WS
React Dashboard
Suricata-Bridge — EVE JSON → Kafka → vereinter Alarm-Stream
IRMA-Bridge — externes IDS via REST-Poll → Kafka → selbe Pipeline
Training-Loop — Feedback → gelabelte Samples → Modell-Retraining
Rust + pcap Apache Kafka 3.7 TimescaleDB Redis 7 MinIO Scikit-learn FastAPI React + Vite + TS Suricata Docker Compose
SCHNELLSTART

In Minuten produktiv.

Zwei Wege zur Produktion — wählen Sie Ihren.

A
Debian Live ISO
Empfohlen für die Produktion
# Auf USB-Stick schreiben
dd if=cyjan-ids-v1.x.x.iso \
  of=/dev/sdX bs=4M status=progress

Vom USB booten → der First-Boot-Wizard führt Sie durch Interface, IP und Passwortvergabe. Danach läuft alles automatisch.

Aktuelles Release laden →
B
Docker Compose
Dev-/Test-Modus
# Klonen und im Test-Modus starten
git clone https://github.com/JxxKal/ids
cd ids
cp .env.example .env
docker compose \
  --profile test up -d

Synthetischer Traffic über den eingebauten Generator. Für Tests ist kein physischer Mirror-Port nötig.

100 % Open Source.

CYJAN IDS steht unter der MIT-Lizenz — jede Zeile prüfbar, frei zur Mitarbeit, ohne Einsatzbeschränkungen. Sicherheit durch Transparenz.

🔍

Prüfbar

Jede Komponente, jede Regel, jedes ML-Modell — vollständig transparent. Keine Blackbox im Sicherheits-Stack.

🔧

Erweiterbar

Eigene Suricata-Regeln ergänzen, beliebige Alarmquellen über das IRMA-Bridge-Muster anbinden, ML-Schwelle individuell justieren.

🤝

Community

Issues, Pull Requests und Feature-Diskussionen laufen offen auf GitHub. Ihr OT-Wissen ist willkommen.

github.com/JxxKal/ids
Companion · Nur Laboreinsatz

CYJANKALI

Das offensive Schwesterprojekt — ein Kali-basiertes Übungsfeld, das CYJAN angreift, um zu beweisen, dass die Erkennung wirklich funktioniert. Der Name ist ein Augenzwinkern: Cyan + Jan + KaliCyankali (Kaliumcyanid), die Bedrohung, gegen die das IDS gebaut wurde.

Zum Playground