Dans le cadre de mon apprentissage en autodidacte, j’ai déployé un honeypot accessible depuis Internet sur un VPS OVH. Je voulais observer comment les robots recherchent des services SSH ou Telnet mal protégés.
Honeypot Cowrie avec Splunk
Ce projet personnel m’a permis de construire une chaîne de supervision complète : attirer des robots dans un faux terminal, enregistrer leur activité, transporter les journaux de manière privée et les analyser dans un tableau de bord Splunk.

L’objectif était d’exposer de faux services SSH et Telnet sans donner accès au vrai serveur, puis de collecter les identifiants testés et les commandes exécutées afin de les analyser dans Splunk.
J’ai déployé Cowrie avec Docker Compose sur un VPS Ubuntu 24.04. L’administration réelle reste séparée et protégée par clé SSH. Les logs JSON sont ensuite envoyés par un Splunk Universal Forwarder à travers un réseau privé Tailscale.
Après 16 heures, le tableau de bord affichait 174 adresses IP uniques, 5 902 connexions, 5 661 tentatives d’authentification et 6 574 commandes. Les sessions observées restaient dans le faux terminal Cowrie.
Ce que ce projet démontre concrètement.
- Déploiement de Cowrie sur un VPS OVH sous Ubuntu 24.04 avec Docker Compose.
- Exposition de faux services SSH et Telnet sur les ports publics 22 et 23.
- Séparation de l’administration réelle du VPS avec un autre port, une clé SSH et le pare-feu UFW.
- Isolation du honeypot dans un conteneur Docker avec des ressources limitées.
- Surveillance du fichier cowrie.json avec Splunk Universal Forwarder.
- Transport des journaux vers la machine locale par le réseau privé Tailscale.
- Création d’un tableau de bord Cowrie Live dans Splunk Dashboard Studio.
- Analyse des adresses IP, pays d’origine, identifiants testés, commandes et périodes d’activité.
Flux technique simplifié.
Collecte et analyse de 16 heures d’activité automatisée.
- Exposer uniquement les faux services Cowrie aux tentatives venant d’Internet.
- Enregistrer les connexions, authentifications et commandes dans les logs JSON.
- Transmettre les nouveaux événements à Splunk sur le port 9997 via Tailscale.
- Actualiser le tableau de bord environ toutes les minutes sur une période de 24 heures.
- Comparer les IP uniques, les pays, les identifiants et les commandes les plus fréquentes.
- Identifier la commande uname comme un signe de reconnaissance automatisée du système.
- Vérifier que les bots restent dans le faux terminal et n’accèdent pas au vrai VPS.
Rapport technique du honeypot.
Le rapport complet Déploiement de mon premier Honeypot avec Cowrie et Splunk.pdf présente l’architecture, la sécurisation du VPS, la collecte des logs, le tableau de bord Splunk et les premiers résultats observés.
Télécharger le rapport