Maël PhilibertBTS SIO SISR / Support client N1 et N2
Retour aux projetsHoneypot / cybersécurité défensive

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.

Illustration d’un honeypot utilisé pour observer des tentatives de connexion malveillantes
ApprocheJ’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.
Compétences
CowrieSplunkDockerUbuntuTailscale

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.

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.

Points clés

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é.
Architecture

Flux technique simplifié.

01Bots et scanners sur Internet
02Faux services SSH et Telnet Cowrie
03VPS OVH Ubuntu avec Docker
04Journal cowrie.json
05Splunk Universal Forwarder
06Tunnel privé Tailscale
07Splunk Enterprise sur une VM Ubuntu locale
Preuves techniques

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

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