
Plateforme open-source de déception qui transforme n’importe quelle machine Linux en canari à fort signal. Déployez des capteurs tripwire sur les fichiers, les ports et les services réseau pour détecter les intrus, avec une analyse forensique instantanée et des notifications push.
HoneyWire est un constructeur de système d'alerte précoce de sécurité distribué, léger et à haut signal, conçu pour les réseaux internes. Il exploite son architecture et son UX pour rendre incroyablement facile la création d'un nouveau serveur Cyber Canary ou le déploiement de HoneyWires sur des serveurs existants. Grâce à la technologie de déception, il remplace l'approche « loupe » des SIEM traditionnels qui noient souvent les analystes sous de faux positifs en surveillant le trafic légitime, par un modèle de Tripwire haute fidélité.
Placez un capteur exactement là où vous le souhaitez. S'il se déclenche, vous avez un intrus.
Installez-en plusieurs et vous commencerez à avoir une idée assez claire du mouvement latéral d'un intrus. Pas de réglage, pas de bruit, juste une forensique instantanée. Si vous avez des scanners de sécurité automatisés légitimes qui déclenchent des HoneyWires, il suffit de les mettre sur liste blanche dans les paramètres du Hub.
Remarque : Si vous construisez votre capteur à l'aide des SDK officiels HoneyWire, ce formatage JSON et cette livraison sont gérés automatiquement pour vous.
La véritable puissance de HoneyWire réside dans le fait que le Hub et l'Assistant sont totalement agnostiques vis-à-vis des capteurs. Vous n'êtes pas limité aux capteurs officiels inclus.
En adhérant à la norme d'événements HoneyWire V2.0, vous pouvez écrire un script dans n'importe quel langage (Bash, Go, Rust, Python) pour surveiller n'importe quoi, et l'interface Sentinel analysera dynamiquement, mettra en évidence la syntaxe et rendra vos données forensiques.
Qu'il s'agisse d'un moteur d'inspection approfondie des paquets (DPI), d'un sinkhole DNS, d'un jeton Canary intégré dans un PDF, d'un honeypot e-mail ou d'un simple Tripwire de port TCP, il suffit d'envoyer la charge utile JSON de la norme universelle d'événements au Hub.
HoneyWire est divisé en quatre microservices indépendants :
/Hub : Le cerveau central. Un binaire Go pur exécutant une base de données SQLite intégrée et le tableau de bord Vue.js. Il s'exécute en tant qu'utilisateur non-root dans un conteneur Distroless, montant en toute sécurité les données sur un volume dédié./Sensors : Les nœuds leurres. Des binaires Go liés statiquement qui écoutent sur des ports vulnérables, piègent les attaquants et envoient en toute sécurité les données d'intrusion au Hub./SDKs : Les bibliothèques officielles (comme sdk-go) qui gèrent la communication sécurisée avec le Hub afin que les développeurs communautaires puissent facilement créer de nouveaux capteurs./wizard : Outil CLI d'assistant de configuration pour automatiser les tâches de l'opérateur telles que la découverte, le déploiement et le test des HoneyWires.Consultez la documentation complète sur l'architecture Lisez le guide des opérations utilisateur
Le déploiement du Hub HoneyWire prend moins de 60 secondes grâce à nos images de conteneurs GitHub pré-construites.
Créez un nouveau répertoire sur votre serveur, créez un fichier docker-compose.yml et collez ce qui suit :
services:
# 1. LE CORRECTEUR DE PERMISSIONS : S'exécute une fois pour garantir que le Hub peut écrire sur le volume de données
permission-fixer:
image: alpine:latest
container_name: honeywire-permission-fixer
command: sh -c "chown -R 65532:65532 /data"
volumes:
- ./honeywire_data:/data
# 2. LE HUB : Le tableau de bord et l'API central basés sur 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 de sécurité stricte
user: "65532:65532"
read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
environment:
- HW_ENV=development # Requis si vous n'utilisez pas HTTPS, sinon le cookie aura le drapeau secure activé. En production, il est fortement recommandé de le supprimer et d'exécuter ceci derrière un proxy inverse utilisant https
- HW_PORT=8080
- HW_DB_PATH=/data/honeywire.db
# Optionnel : Définir en dur le mot de passe du tableau de bord (désactive la fonction de réinitialisation du mot de passe de l'interface)
# - HW_DASHBOARD_PASSWORD=admin
Démarrez le Hub :
docker compose up -d
Naviguez vers http://<ip-de-votre-serveur>:HW_PORT dans votre navigateur. Vous serez accueilli par l'écran Initialize Sentinel.
honeywire apply sur le nœud pour réconcilier l'état souhaité, ou exécutez honeywire discover pour laisser l'assistant de configuration analyser automatiquement et suggérer des HoneyWires en fonction de l'environnement.Une fois vos conteneurs démarrés, le capteur Tarpit devrait apparaître comme ONLINE dans les 30 secondes.
Exécutez honeywire firedrill pour que les HoneyWires envoient un événement simulé au hub afin de tester la connectivité.
Remarque : Pour une analyse plus approfondie de la gestion des nœuds, de la mise à jour des capteurs et de la gestion des rollbacks, consultez le Guide des opérations utilisateur.
Node Key unique pour communiquer avec le Hub. Le Hub rejettera toute charge utile avec des clés incompatibles ou invalides.gcr.io/distroless/static-debian12:nonroot. Nous suivons le principe du moindre privilège pour garantir que si un conteneur est compromis, l'explosion est contenue.net/http (bibliothèque standard), SQLite (pilote Go pur ModernC)HoneyWire évolue activement vers une plateforme de déception d'entreprise complète pilotée par GitOps.
Hub :
GET /api/v2/version → renvoie { "version": "v2.x.x" }