
HoneyWire hub/v2.1.0
Open-Source-Täuschungsplattform, die jede Linux-Maschine in eine hochsignalisierende Kanarienvogel-Falle verwandelt. Setzen Sie Tripwire-Sensoren auf Dateien, Ports und Netzwerkdienste ein, um Eindringlinge mit sofortiger Forensik und Push-Benachrichtigungen zu erkennen.
HoneyWire
📋 Inhaltsverzeichnis
- Überblick
- Vorführung
- Der universelle Ereignisstandard
- Funktionen
- Architektur
- Schnellstart-Anleitung
- Sicherheitshinweise
- Technologie-Stack
- Roadmap & Entwicklung
- Versionierung und API-Referenz
Überblick
HoneyWire ist ein leichtgewichtiger, verteilter High-Signal-Sicherheits-Frühwarnsystem-Baukasten, der für interne Netzwerke entwickelt wurde. Er nutzt seine Architektur und UX, um den Aufbau eines neuen Cyber-Canary-Servers oder die Bereitstellung von HoneyWires auf bestehenden Servern unglaublich einfach zu machen. Mithilfe von Täuschungstechnologie ersetzt es den „Vergrößerungsglas“-Ansatz herkömmlicher SIEMs, die Analysten oft in False Positives ertränken, indem legitimer Datenverkehr mit einem High-Fidelity-Tripwire-Modell überwacht wird.
Platziere einen Sensor genau dort, wo du ihn haben möchtest. Wenn er auslöst, hast du einen Eindringling.
- Produktions-Tripwires: Schlagen Alarm, wenn aktive Dienste auf eine Weise angefasst werden, die sie nicht sollten. Indem du einen Sensor auf eine sensible Datei legst, die niemals gelesen werden sollte, oder auf einen Dienstport, der niemals angesprochen werden sollte, identifizierst du Eindringlinge anhand ihrer Abweichung vom „autorisierten Pfad“.
- Synthetische Täuschung: Setze Köder wie den ICMP-Canary oder den Netzwerkscan-Detektor als Lockvögel ein. Da diese Sensoren keinen legitimen geschäftlichen Nutzen bieten, sind 100 % ihres Datenverkehrs verwertbare Intelligenz.
Richte mehrere ein und du bekommst ein ziemlich klares Bild von der Lateral Movement eines Eindringlings. Kein Tuning, kein Rauschen, nur sofortige Forensik. Wenn legitime automatisierte Sicherheitsscanner HoneyWires auslösen, kannst du sie einfach über die Einstellungen des Hubs auf die Whitelist setzen.
Vorführung
🔌 Der universelle Ereignisstandard (Bring Your Own Sensor)
Hinweis: Wenn du deinen Sensor mit den offiziellen HoneyWire-SDKs baust, werden diese JSON-Formatierung und -Zustellung automatisch für dich übernommen.
Die wahre Stärke von HoneyWire liegt darin, dass Hub und Wizard vollständig sensor-agnostisch sind. Du bist nicht auf die enthaltenen offiziellen Sensoren beschränkt.
Indem du dich an den HoneyWire-Ereignisstandard V2.0 hältst, kannst du ein Skript in jeder Sprache (Bash, Go, Rust, Python) schreiben, um alles zu überwachen, und die Sentinel-Benutzeroberfläche wird deine forensischen Daten dynamisch parsen, syntax-highlighten und rendern.
Ob es sich um eine Deep-Packet-Inspection-Engine (DPI), eine DNS-Sinkhole, ein Canary-Token in einer PDF-Datei, eine E-Mail-Honeypot oder einen einfachen TCP-Port-Tripwire handelt – sende einfach die JSON-Payload des Universellen Ereignisstandards an den Hub.
Funktionen
- Die Sentinel-Hub-Benutzeroberfläche: Ein vollständig responsives, auf Vue 3 basierendes Dashboard mit dynamischer forensischer Payload-Inspektion, Bereitstellung und Verwaltung von Nodes und Sensoren, einschließlich Sensor-Updates, direkt über die Benutzeroberfläche.
- Universelle Push-Benachrichtigungen: Native, abhängigkeitsfreie Integration zur Weiterleitung kritischer Alarme an Discord, Slack, Ntfy und Gotify.
- Enterprise-SIEM-Integration: Natives RFC5424-Syslog-Forwarding (TCP/UDP) zur nahtlosen Übertragung strukturierter Telemetrie an Splunk, Elastic, Wazuh oder Vector.
- Der Setup-Wizard: Ein Bereitstellungs- und Testautomatisierungstool, das ausdrücklich nicht als 24/7 laufender Agent konzipiert ist. Es ist lediglich ein TUI-CLI-Tool, das Operator-Aufgaben wie das Anwenden und Abgleichen des gewünschten Zustands des Hubs für einen bestimmten Node automatisiert und dabei Konfiguration, Bereitstellung und Rollbacks bei fehlgeschlagenen Bereitstellungen automatisch handhabt.
- Suite offizieller HoneyWires: Enthält natives TCP-Tarpit, Web-Router-Decoy, File-Canary (FIM), ICMP-Canary und Netzwerkscan-Detektor.
Architektur
HoneyWire ist in vier unabhängige Microservices aufgeteilt:
/Hub: Das zentrale Gehirn. Eine reine Go-Binärdatei mit eingebetteter SQLite-Datenbank und dem Vue.js-Dashboard. Sie läuft als Nicht-Root-Benutzer in einem Distroless-Container und mountet Daten sicher auf ein dediziertes Volume./Sensors: Die Decoy-Knoten. Statisch gelinkte Go-Binärdateien, die auf verwundbaren Ports lauschen, Angreifer anlocken und Eindringdaten sicher an den Hub zurücksenden./SDKs: Offizielle Bibliotheken (wiesdk-go), die die sichere Hub-Kommunikation übernehmen, damit Community-Entwickler problemlos neue Sensoren bauen können./wizard: Setup-Wizard-CLI-Tool zur Automatisierung von Operator-Aufgaben wie Erkennung, Bereitstellung und Test von HoneyWires.
Die vollständige Architekturdokumentation ansehen Das Benutzer-Operationshandbuch lesen
🚀 Schnellstart-Anleitung
Die Bereitstellung des HoneyWire-Hubs dauert mit unseren vorgefertigten GitHub-Container-Images weniger als 60 Sekunden.
1. Den Hub bereitstellen
Erstelle ein neues Verzeichnis auf deinem Server, erstelle eine docker-compose.yml-Datei und füge Folgendes ein:
services:
# 1. DER BERECHTIGUNGS-FIXER: Wird einmal ausgeführt, um sicherzustellen, dass der Hub in das Daten-Volume schreiben kann
permission-fixer:
image: alpine:latest
container_name: honeywire-permission-fixer
command: sh -c "chown -R 65532:65532 /data"
volumes:
- ./honeywire_data:/data
# 2. DER HUB: Das zentrale Go-basierte Dashboard und die API
hub:
image: ghcr.io/andreicscs/honeywire-hub:latest
container_name: honeywire-hub
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./honeywire_data:/data
depends_on:
permission-fixer:
condition: service_completed_successfully
# Strenges Sicherheits-Sandboxing
user: "65532:65532"
read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
environment:
- HW_ENV=development # Erforderlich, wenn kein HTTPS verwendet wird, sonst wird das Cookie mit dem Secure-Flag gesetzt. In der Produktion wird dringend empfohlen, dies zu entfernen und hinter einem Reverse-Proxy mit HTTPS zu betreiben
- HW_PORT=8080
- HW_DB_PATH=/data/honeywire.db
# Optional: Dashboard-Passwort fest codieren (deaktiviert die Passwort-Zurücksetzungsfunktion der Benutzeroberfläche)
# - HW_DASHBOARD_PASSWORD=admin
Starte den Hub:
docker compose up -d
2. Das System initialisieren
Navigiere in deinem Browser zu http://<deine-server-ip>:HW_PORT. Du wirst vom Bildschirm Sentinel initialisieren begrüßt.
- Erstelle dein Master-Passwort.
- Überprüfe deine Hub-Endpoint-URL (die IP/URL, über die Sensoren den Hub erreichen).
- Klicke auf „Hub initialisieren“.
3. Sensoren bereitstellen
- Erstelle einen neuen Node und füge den bereitgestellten Befehl ein, um den Setup-Wizard zu installieren und mit dem Hub zu verknüpfen.
- Installiere Sensoren direkt über den Hub und führe dann
honeywire applyauf dem Node aus, um den gewünschten Zustand abzugleichen, oder führehoneywire discoveraus, damit der Setup-Wizard automatisch scannt und HoneyWires basierend auf der Umgebung vorschlägt.
4. Die HoneyWires testen
Sobald deine Container laufen, sollte der Tarpit-Sensor innerhalb von 30 Sekunden als ONLINE erscheinen.
Führe honeywire firedrill aus, damit die HoneyWires ein Mock-Ereignis an den Hub senden, um die Konnektivität zu testen.
Hinweis: Für einen tieferen Einblick in die Verwaltung von Nodes, das Aktualisieren von Sensoren und die Handhabung von Rollbacks siehe das Benutzer-Operationshandbuch.
Sicherheitshinweise
- Bedrohungsmodell: Für einen tiefen Einblick in Vertrauensgrenzen, Architekturrisiken und Sandboxing-Regeln siehe die THREATMODEL.md.
- Node-Keys: Stelle sicher, dass deine Sensoren ihren eindeutigen
Node Keyfür die Kommunikation mit dem Hub verwenden. Der Hub lehnt alle Payloads mit abweichenden oder ungültigen Schlüsseln ab. - System-Scharfschaltung: Du kannst die Schaltfläche „System Armed“ in der Hub-Benutzeroberfläche umschalten, um Push-Benachrichtigungen während interner Netzwerkwartung oder Schwachstellenscans vorübergehend zu deaktivieren.
- Container-Härtung: HoneyWire verwendet
gcr.io/distroless/static-debian12:nonroot. Wir befolgen das Prinzip der geringsten Privilegien, um sicherzustellen, dass bei einer Kompromittierung eines Containers der Schaden begrenzt bleibt. - Verteilte Bereitstellung: Es wird dringend empfohlen, den Hub und seine Sensoren auf separaten physischen oder virtuellen Maschinen zu betreiben. Wenn ein Angreifer einen Sensor-Node kompromittiert, sollte er keinen unmittelbaren lokalen Zugriff auf den zentralisierten Hub haben.
- ⚠️ Verschlüsselung (HTTPS): Stelle die Hub-Web-Benutzeroberfläche und API in der Produktion immer über HTTPS mit einem Reverse-Proxy (wie Nginx, Caddy oder Traefik) bereit. Andernfalls werden dein Dashboard-Passwort und deine Node-Keys dem Netzwerk-Sniffing ausgesetzt.
Technologie-Stack
- Backend: Go 1.25,
net/http(Standardbibliothek), SQLite (ModernC Pure Go Treiber) - Frontend: Vue 3 (Composition API), TailwindCSS, Chart.js
- Infrastruktur: Docker, Docker Compose v5.0.0+
Roadmap & Entwicklung
HoneyWire entwickelt sich aktiv zu einer vollständigen GitOps-gesteuerten Enterprise-Deception-Plattform.
- Die öffentliche Roadmap ansehen, um zu sehen, was wir derzeit bauen (v2.2.0-Funktionen, v3.0.0-IaC-Überarbeitung und kommende SIEM-Benchmarks).
- Möchtest du die Roadmap beeinflussen? Wir sind stark auf Community-Feedback angewiesen. Besuche unsere GitHub-Diskussionen, um über kommende Funktionen abzustimmen, neue Decoy-Typen vorzuschlagen oder zu teilen, wie du HoneyWire in deinem Labor einsetzt.
Versionierung und API-Referenz
- HoneyWire-Versionen werden über Git-Tags verwaltet.
Hub-Endpoint:GET /api/v2/version→ gibt{ "version": "v2.x.x" }zurück
- API-Dokumentationsdatei: API.md mit vollständiger Backend-Routen-Referenz und Beispiel-Payloads.