
HoneyWire hub/v2.1.0
Piattaforma open-source di deception che trasforma qualsiasi macchina Linux in una canary ad alto segnale. Distribuisci sensori tripwire su file, porte e servizi di rete per rilevare intrusi con analisi forensi istantanee e notifiche push.
HoneyWire
📋 Indice dei contenuti
- Panoramica
- Dimostrazione
- Lo Standard Universale degli Eventi
- Funzionalità
- Architettura
- Guida rapida
- Note di sicurezza
- Stack tecnologico
- Roadmap e sviluppo
- Versioning e riferimento API
Panoramica
HoneyWire è un costruttore di sistemi di allarme preventivo di sicurezza distribuiti ad alto segnale, leggero, progettato per reti interne. Sfrutta la sua architettura e UX per rendere estremamente semplice la creazione di un nuovo server Cyber Canary o la distribuzione di HoneyWires su server esistenti. Utilizzando la tecnologia di deception, sostituisce l'approccio della "lente d'ingrandimento" dei tradizionali SIEM, che spesso sommergono gli analisti di falsi positivi sorvegliando il traffico legittimo, con un modello di Tripwire ad alta fedeltà.
Posiziona un sensore esattamente dove vuoi. Se scatta, hai un intruso.
- Tripwire di produzione: Fanno scattare l'allarme quando i servizi attivi vengono sondati in modi che non dovrebbero. Posizionando un sensore su un file sensibile che non dovrebbe mai essere letto o su una porta di servizio che non dovrebbe mai essere accessibile, identifichi gli intrusi dalla loro deviazione dal "percorso autorizzato".
- Deception sintetica: Distribuisci esche come l'ICMP Canary o il Network Scan Detector per fungere da decoy. Poiché questi sensori non forniscono alcun valore commerciale legittimo, il 100% del loro traffico è intelligence utilizzabile.
Configurane diversi e inizierai ad avere un'idea abbastanza chiara del movimento laterale di un intruso. Nessuna regolazione, nessun rumore, solo forensics immediata. Se hai scanner di sicurezza automatizzati legittimi che fanno scattare gli HoneyWires, basta inserirli nella whitelist dalle impostazioni dell'Hub.
Dimostrazione
🔌 Lo Standard Universale degli Eventi (Porta il tuo sensore)
Nota: Se costruisci il tuo sensore utilizzando gli SDK ufficiali di HoneyWire, la formattazione JSON e la consegna vengono gestite automaticamente per te.
Il vero potere di HoneyWire è che l'Hub e il Wizard sono completamente agnostici rispetto ai sensori. Non sei limitato ai sensori ufficiali inclusi.
Aderendo allo Standard Universale degli Eventi HoneyWire V2.0, puoi scrivere uno script in qualsiasi linguaggio (Bash, Go, Rust, Python) per monitorare qualsiasi cosa, e l'interfaccia Sentinel analizzerà dinamicamente, evidenzierà la sintassi e renderizzerà i tuoi dati forensi.
Che si tratti di un motore di Deep Packet Inspection (DPI), un DNS sinkhole, un Canary Token incorporato in un PDF, un Email Honeypot o un semplice TCP Port Tripwire, basta inviare il payload JSON dello Standard Universale degli Eventi all'Hub.
Funzionalità
- L'interfaccia Sentinel Hub: Una dashboard completamente reattiva basata su Vue 3, con ispezione dinamica dei payload forensi, distribuzione e gestione di Nodes e Sensors, inclusi gli aggiornamenti dei sensori, direttamente dall'interfaccia.
- Notifiche push universali: Integrazione nativa, senza dipendenze, per instradare gli avvisi critici verso Discord, Slack, Ntfy e Gotify.
- Integrazione SIEM enterprise: Inoltro nativo Syslog RFC5424 (TCP/UDP) per inviare senza soluzione di continuità telemetria strutturata a Splunk, Elastic, Wazuh o Vector.
- Il Setup Wizard: Uno strumento di automazione per distribuzione e test, sviluppato esplicitamente per non essere un agente in esecuzione 24/7. È semplicemente uno strumento CLI TUI che automatizza le attività dell'operatore come l'applicazione e la riconciliazione dello stato desiderato dell'Hub per un dato Node, gestendo automaticamente configurazione, distribuzione e rollback in caso di distribuzioni fallite.
- Suite di HoneyWires ufficiali: Include il TCP Tarpit nativo, il Web Router Decoy, il File Canary (FIM), l'ICMP Canary e il Network Scan Detector.
Architettura
HoneyWire è suddiviso in quattro microservizi indipendenti:
/Hub: Il cervello centrale. Un binario Go puro che esegue un database SQLite incorporato e la dashboard Vue.js. Viene eseguito come utente non-root all'interno di un contenitore Distroless, montando i dati in modo sicuro su un volume dedicato./Sensors: I nodi decoy. Binari Go collegati staticamente che ascoltano su porte vulnerabili, intrappolano gli aggressori e inviano in modo sicuro i dati di intrusione all'Hub./SDKs: Librerie ufficiali (comesdk-go) che gestiscono la comunicazione sicura con l'Hub, così gli sviluppatori della community possono creare facilmente nuovi sensori./wizard: Strumento CLI del setup wizard per automatizzare le attività dell'operatore come scoperta, distribuzione e test degli HoneyWires.
Consulta la documentazione completa sull'architettura Leggi la Guida alle operazioni utente
🚀 Guida rapida
La distribuzione dell'Hub HoneyWire richiede meno di 60 secondi utilizzando le nostre immagini precompilate del Container GitHub.
1. Distribuisci l'Hub
Crea una nuova directory sul tuo server, crea un file docker-compose.yml e incolla quanto segue:
services:
# 1. IL CORRETTORE DI PERMESSI: Viene eseguito una volta per garantire che l'Hub possa scrivere sul volume dati
permission-fixer:
image: alpine:latest
container_name: honeywire-permission-fixer
command: sh -c "chown -R 65532:65532 /data"
volumes:
- ./honeywire_data:/data
# 2. L'HUB: La dashboard e API centrale basata su Go
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
# Sandbox di sicurezza rigorosa
user: "65532:65532"
read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
environment:
- HW_ENV=development # Richiesto se non si utilizza HTTPS, altrimenti il cookie avrà il flag secure impostato; in produzione è altamente consigliato rimuoverlo ed eseguire questo dietro un reverse proxy con https
- HW_PORT=8080
- HW_DB_PATH=/data/honeywire.db
# Opzionale: Imposta la password della dashboard (disabilita la funzione di reset password dell'interfaccia)
# - HW_DASHBOARD_PASSWORD=admin
Avvia l'Hub:
docker compose up -d
2. Inizializza il sistema
Naviga su http://<ip-del-tuo-server>:HW_PORT nel tuo browser. Verrai accolto dalla schermata Initialize Sentinel.
- Crea la tua Master Password.
- Verifica l'URL dell'endpoint dell'Hub (l'IP/URL dove i sensori raggiungeranno l'Hub).
- Clicca su "Initialize Hub".
3. Distribuisci i sensori
- Crea un nuovo Node e incolla il comando fornito per installare e collegare il Setup Wizard all'Hub
- Installa i sensori direttamente dall'Hub e poi esegui
honeywire applysul nodo per riconciliare lo stato desiderato, oppure eseguihoneywire discoverper lasciare che il setup wizard scansiona automaticamente e suggerisca HoneyWires in base all'ambiente.
4. Test degli HoneyWires
Una volta che i tuoi contenitori sono attivi, il sensore Tarpit dovrebbe apparire come ONLINE entro 30 secondi.
Esegui honeywire firedrill per far inviare agli HoneyWires un evento fittizio all'Hub per testare la connettività.
Nota: Per un approfondimento sulla gestione dei nodi, l'aggiornamento dei sensori e la gestione dei rollback, consulta la Guida alle operazioni utente.
Note di sicurezza
- Modello di minaccia: Per un approfondimento sui confini di fiducia, i rischi dell'architettura e le regole di sandboxing, consulta THREATMODEL.md.
- Chiavi dei nodi: Assicurati che i tuoi sensori utilizzino la loro
Node Keyunivoca per comunicare con l'Hub. L'Hub rifiuterà qualsiasi payload con chiavi non corrispondenti o non valide. - Armamento del sistema: Puoi attivare/disattivare il pulsante "System Armed" nell'interfaccia dell'Hub per disabilitare temporaneamente le notifiche push durante la manutenzione della rete interna o la scansione delle vulnerabilità.
- Indurimento dei contenitori: HoneyWire utilizza
gcr.io/distroless/static-debian12:nonroot. Seguiamo il principio del minimo privilegio per garantire che se un contenitore viene compromesso, l'esplosione sia contenuta. - Distribuzione distribuita: È altamente consigliato eseguire l'Hub e i suoi sensori su macchine fisiche o virtuali separate. Se un aggressore compromette un nodo sensore, non dovrebbe avere accesso locale immediato all'Hub centralizzato.
- ⚠️ Crittografia (HTTPS): Servi sempre l'interfaccia Web e l'API dell'Hub su HTTPS utilizzando un reverse proxy (come Nginx, Caddy o Traefik) in produzione. In caso contrario, esponi la password della dashboard e le chiavi dei nodi allo sniffing di rete.
Stack tecnologico
- Backend: Go 1.25,
net/http(Libreria standard), SQLite (Driver Go puro ModernC) - Frontend: Vue 3 (Composition API), TailwindCSS, Chart.js
- Infrastruttura: Docker, Docker Compose v5.0.0+
Roadmap e sviluppo
HoneyWire si sta evolvendo attivamente verso una piattaforma di deception enterprise completa guidata da GitOps.
- Visualizza la Roadmap pubblica per vedere cosa stiamo costruendo attualmente (funzionalità v2.2.0, revisione IaC v3.0.0 e prossimi benchmark SIEM).
- Vuoi influenzare la roadmap? Facciamo molto affidamento sul feedback della community. Vai alle nostre Discussioni GitHub per votare sulle funzionalità imminenti, proporre nuovi tipi di decoy o condividere come usi HoneyWire nel tuo laboratorio.
Versioning e riferimento API
- Le versioni di HoneyWire sono gestite tramite Git Tags.
- Endpoint
Hub:GET /api/v2/version→ restituisce{ "version": "v2.x.x" }
- File della documentazione API: API.md con riferimento completo alle route backend e payload di esempio.