Un homelab ouvert sur Internet : ce n’est pas de tout repos !

Sécurité · Homelab · Auto-hébergement

Posséder un homelab est passionnant. On peut héberger ses propres sites, tester de nouveaux logiciels, monter des machines virtuelles, publier des services et apprendre énormément sur Linux, les réseaux et la sécurité. Mais dès qu’un service est ouvert sur Internet, la situation change du tout au tout.

Une année de journaux Nginx analysée avec GoAccess · du 11 juillet 2025 au 11 juillet 2026

Le serveur devient visible par les internautes, bien sûr. Mais aussi par les robots d’indexation, les scanners automatiques, les moteurs de recherche, les outils de surveillance de disponibilité et surtout par les programmes qui parcourent le réseau en permanence à la recherche de failles connues. Pour illustrer ce que cela représente concrètement, rien de mieux qu’un an de logs réels : voici ce que raconte l’accès à mes services auto-hébergés sur douze mois.

Une année de trafic, en chiffres

Ces données proviennent d’un seul fichier access.log Nginx, agrégé par GoAccess. Elles couvrent l’ensemble des services publiés derrière le reverse proxy du homelab.

13,3 M
requêtes HTTP
628 681
visiteurs uniques
1,21 To
bande passante servie
68 940
URL inexistantes sondées
366
réseaux sources
2,42 Go
de logs bruts

Treize millions de requêtes sur l’année, c’est une moyenne d’environ trente-huit mille par jour, sans interruption. La première surprise n’est pas le volume : c’est la proportion de ce trafic qui n’a rien à voir avec un être humain venu consulter un site.

Ce que le homelab héberge vraiment

Avant de parler des intrus, précisons ce qui tourne réellement derrière ce reverse proxy. Le homelab est avant tout une plateforme radioamateur et d’expérimentation. Les services qui génèrent l’essentiel du trafic légitime sont des services radio.

Réception ADS-B

Un récepteur SDR suit les avions en temps réel et publie une carte tar1090. C’est de loin le service le plus consulté : les fichiers aircraft.binCraft.zst sont rafraîchis en continu par chaque visiteur, ce qui explique des centaines de milliers de requêtes.

adsbtar10901090 MHz

DX Cluster

Un cluster DXSpider diffuse les spots radioamateurs. Son API /api/spots/ est interrogée en boucle par des widgets et des tableaux de bord, y compris depuis d’autres sites.

DXSpiderclusterAPI

APRS & iGate

Un digipeater / iGate remonte les positions APRS. L’endpoint /api/stations alimente une carte temps réel des stations reçues localement.

APRSiGate144,800

WebSDR & écoute

Les récepteurs partagés dans le monde du radioamateurisme (type WebSDR) sont l’exemple même du service qui n’a de sens qu’ouvert : il faut que d’autres opérateurs puissent s’y connecter. C’est justement ce qui les expose.

SDRécouteHF/VHF

Cloud & fichiers

Une instance Nextcloud, un serveur de musique Navidrome et un partage de fichiers complètent l’ensemble, pour un usage personnel et familial.

NextcloudNavidrome

Sites & outils

Quelques sites WordPress et une instance YunoHost hébergent des projets associatifs et personnels, avec leur lot d’interfaces d’administration… que les scanners adorent.

WordPressYunoHost
Important : ce blog n’est pas hébergé sur le homelab

Le site que vous lisez, f4hxn.fr, ne tourne pas sur le homelab exposé décrit ici. Il est hébergé séparément, sur une infrastructure dédiée et indépendante. C’est un choix volontaire : un blog qui doit rester disponible et lisible par tous n’a pas à partager le sort d’une plateforme d’expérimentation, où l’on casse et reconstruit régulièrement des machines virtuelles. Séparer la vitrine publique des laboratoires, c’est le premier principe d’une exposition raisonnée : si le homelab tombe, si on le débranche pour une maintenance ou s’il subit une attaque, le blog, lui, continue de fonctionner.

La face cachée : robots, scanners et sondages

Sur les 628 681 visiteurs uniques de l’année, plus d’un tiers ne sont pas des humains : 232 178 d’entre eux sont identifiés comme robots (moteurs de recherche, agents de veille, scanners). Et ce chiffre ne compte que ceux qui s’annoncent honnêtement. Beaucoup d’autres se déguisent en navigateur classique.

La répartition des codes de réponse HTTP est un bon révélateur. Un serveur en bonne santé sert surtout des 2xx (succès) et des 3xx (redirections). Les 4xx, eux, signalent des demandes vers des ressources qui n’existent pas : c’est la signature typique du balayage automatisé.

2xx Succès 7 379 331
3xx Redirections 4 138 394
4xx Erreurs client 1 443 984
5xx Erreurs serveur 328 021

Un million et demi d’erreurs 4xx sur l’année : derrière ce nombre, ce sont presque toujours des requêtes qui cherchent une faille, un fichier de configuration oublié ou une porte dérobée déjà connue.

À quoi ressemble une attaque automatisée

La liste des URL inexistantes les plus demandées est édifiante. Personne n’a jamais publié ces adresses : elles n’existent que dans les dictionnaires des outils d’attaque. Voici un extrait réel, classé par nombre de tentatives sur l’année.

Cible sondéeTentativesCe que l’attaquant recherche
/wp-login.php60 458Force brute sur l’authentification WordPress
/xmlrpc.php5 626Amplification et attaques par XML-RPC WordPress
/.env4 601Fichier d’environnement : mots de passe, clés d’API
/.git/config4 113Dépôt Git exposé : code source et secrets
/wp-admin/setup-config.php4 388Installation WordPress laissée inachevée
/cgi-bin/luci/;stok=/locale1 959Exploit visant des routeurs et objets connectés
/info.php · /phpinfo.php2 124Fuite d’informations sur la configuration PHP
/api/.env · /backend/.env · /app/.env2 704Mêmes secrets, en variant les chemins
/wp-content/plugins/…/wp_filemanager.php2 171Extension WordPress vulnérable connue
/-/-/-/-/-/-/-/-/-/-/36 248Contournement de filtres et de pare-feu applicatifs

Le schéma est toujours le même. L’attaquant ne vous connaît pas et ne vous vise pas personnellement : il déroule mécaniquement une liste de failles répandues sur des millions d’adresses IP. Il suffit qu’un seul serveur, quelque part, ait laissé traîner un .env ou un dépôt .git accessible pour que la moisson soit rentable. Votre homelab est simplement l’une de ces millions d’adresses.

Des visiteurs qui ne dorment jamais

Un site fréquenté par des humains respire au rythme d’une journée : creux la nuit, pics en soirée. Ici, la courbe horaire ne redescend jamais vraiment. Même à trois heures du matin, le serveur encaisse près de 450 000 requêtes sur la tranche : ce sont les robots, actifs en continu, qui maintiennent ce plancher.

Nombre de requêtes par heure de la journée, cumulé sur l’année. Les adresses IP sources sont anonymisées : une bonne partie provient d’hébergeurs cloud loués à l’heure, précisément pour scanner discrètement.

Alors, comment s’en protège-t-on ?

Ce tableau peut sembler inquiétant, mais il ne l’est pas tant que ça : ce bruit de fond est la norme pour toute adresse publique. L’important n’est pas de le faire disparaître (c’est impossible), mais de faire en sorte qu’il reste sans effet. Quelques principes suffisent à transformer une cible facile en serveur solide.

Les réflexes qui changent tout
  • Séparer les rôles. La vitrine publique (le blog) est hébergée à part ; le laboratoire, lui, reste un laboratoire. Une compromission d’un côté ne contamine pas l’autre.
  • Un reverse proxy en frontal. Tout passe par un seul point d’entrée (ici Nginx), qui filtre, journalise et n’expose que ce qui doit l’être. Les services restent invisibles derrière lui.
  • Bannir les indésirables automatiquement. Un outil comme fail2ban lit les logs et bloque les adresses qui multiplient les tentatives sur wp-login.php ou les .env.
  • Ne jamais laisser traîner un secret. Pas de .env, de .git ni de phpinfo accessibles publiquement. Ce sont les toutes premières choses que l’on sonde.
  • Mettre à jour, sans exception. La quasi-totalité des attaques automatisées visent des failles déjà corrigées. Un système à jour rend ce balayage inoffensif.
  • Réduire la surface exposée. N’ouvrir sur Internet que les services qui en ont réellement besoin : un WebSDR ou un cluster DX, oui ; une interface d’administration, jamais en direct.

Ouvrir un homelab sur Internet, c’est accepter de vivre en permanence sous le regard des machines. Treize millions de requêtes, un million et demi de sondages hostiles, des robots qui ne dorment jamais : voilà le décor réel de l’auto-hébergement. Ce n’est pas de tout repos, mais ce n’est pas une raison pour renoncer. Bien au contraire : c’est en observant ce trafic, en lisant ses propres logs et en séparant proprement ce qui doit l’être que l’on apprend vraiment la sécurité. Le homelab reste ce qu’il est : le meilleur terrain d’entraînement qui soit — à condition de garder la vitrine, elle, bien à l’abri.

stats

Sécurité · Pot de miel · Cowrie

Une nuit dans le pot de miel

Dans cet article, on a vu qu’un homelab ouvert sur Internet est balayé en permanence par des robots. Cette fois, on ne se contente pas de compter le bruit : on tend un piège. Voici ce qu’un pot de miel a capturé en une seule nuit d’observation.

Capture Cowrie sur le homelab · nuit du 11 juillet 2026

Un pot de miel (ou honeypot) est un leurre. Ici, il s’agit de Cowrie : un faux serveur SSH, volontairement présenté comme vulnérable, qui n’héberge rien de réel. Il fait semblant d’accepter des connexions, imite un shell Linux, et enregistre tout : les identifiants essayés, les mots de passe, et surtout les commandes que l’attaquant tape une fois qu’il croit être entré. Le tout dans un environnement isolé, sans aucun accès aux vrais services. C’est le meilleur moyen d’observer une attaque de l’intérieur — sans rien risquer.

Le bilan d’une seule nuit

Ces chiffres ne couvrent pas un an, ni même une semaine. Ils correspondent à quelques heures d’exposition, la nuit : le moment où les robots travaillent pendant que tout le monde dort.

8 372
événements
1 001
tentatives de login
1 069
commandes capturées
80
adresses IP distinctes
23
pays détectés

Mille tentatives de mot de passe et plus de mille commandes en une nuit, sur une machine qui n’existe pour ainsi dire pas : personne ne l’a annoncée, aucun lien ne pointe vers elle. Elle est simplement là, avec un port SSH ouvert. Cela suffit.

Un seul assaillant, ou presque

La première leçon est contre-intuitive. Sur ces 80 adresses IP, l’écrasante majorité du trafic vient de deux d’entre elles seulement. Une seule IP concentre à elle seule près des trois quarts de toute l’activité de la nuit.

45.156.87.x 6 086 · 72,7 %
193.32.162.x 1 104 · 13,2 %
78 autres IP 1 182 · 14,1 %

Autrement dit, ce n’est pas une foule qui frappe à la porte : c’est surtout un robot particulièrement acharné, secondé par un second, et une longue traîne de scanners occasionnels. Ce robot dominant est hébergé aux Pays-Bas — non pas parce que l’attaque vient réellement de là, mais parce qu’il tourne sur un serveur loué dans un centre de données néerlandais. La géographie affichée est celle de l’hébergeur, pas celle du pirate.

Les adresses IP sont partiellement masquées

Le dernier octet des adresses est volontairement remplacé par x. Ces machines sont le plus souvent des serveurs compromis ou loués à l’insu de leur propriétaire : les exposer nommément n’apporte rien et pourrait viser des victimes plutôt que des coupables. Ce qui compte, c’est le comportement, pas l’adresse.

Les mots de passe qui reviennent toujours

Les identifiants testés ne laissent aucun doute sur la méthode : c’est du dictionnaire brut, appliqué mécaniquement. Le compte root est la cible privilégiée, et les mots de passe essayés sont exactement ceux qu’il ne faut jamais utiliser.

12345663
12335
123429
123
1234567821
1234520
root20
password18
12345678913
admin11

Mots de passe les plus essayés durant la nuit. On y croise aussi des chaînes comme 345gs5662d34 : ce n’est pas un mot de passe humain, mais une signature connue de certains botnets qui ciblent les objets connectés.

La conclusion pratique tient en une phrase : un mot de passe faible sur un compte root ouvert en SSH, et l’affaire est pliée en quelques secondes. Ces robots ne cassent rien ; ils se contentent d’essayer les clés que trop de gens laissent sous le paillasson.

Que font-ils une fois « entrés » ?

C’est là que le pot de miel devient passionnant. Comme Cowrie fait semblant d’accepter la connexion, on voit exactement ce que l’attaquant tente ensuite. Le scénario est presque toujours le même, en deux temps.

D’abord, la reconnaissance : le robot cherche à savoir sur quelle machine il est tombé. Les mêmes commandes reviennent des centaines de fois :

Ensuite, si la machine semble intéressante, vient la prise de contrôle. Sur cette nuit, un attaquant a tenté d’installer une porte dérobée persistante. La commande capturée est un grand classique, connu dans le milieu sous le nom de « mdrfckr » :

Traduite en clair, cette petite ligne est redoutablement efficace. Elle retire d’abord les protections du dossier .ssh, l’efface complètement, puis le recrée en n’y plaçant qu’une seule clé publique : celle de l’attaquant. À partir de là, il peut se reconnecter quand il veut, sans mot de passe, et le propriétaire légitime se retrouve parfois verrouillé hors de sa propre machine. Tout cela en une commande, en une fraction de seconde. Sur une vraie machine mal protégée, ce serait terminé.

Rien de tout cela n’a réellement eu lieu

Toutes ces commandes ont été jouées dans le bac à sable de Cowrie. Il n’existe pas de vrai dossier .ssh, pas de vrai système à compromettre : le pot de miel se contente d’enregistrer la tentative et de renvoyer des réponses crédibles. L’attaquant croit avoir réussi ; en réalité, il n’a fait que documenter sa propre méthode.

D’où viennent ces connexions ?

Vingt-trois pays sur une nuit, mais une répartition très déséquilibrée. Les Pays-Bas écrasent le classement, tirés par le robot dominant hébergé là-bas. Les autres pays reflètent surtout la carte des grands hébergeurs cloud.

Pays d’hébergementÉvénements
Pays-Bas7 419
États-Unis224
Chine213
Inde64
Vietnam62
France55
Turquie · Brésil · Allemagne · …< 50

Répartition par pays d’hébergement des adresses, pas par pays d’origine réel des attaquants. Un botnet piloté depuis n’importe où loue des serveurs partout dans le monde.

À quoi sert vraiment un pot de miel ?

Au-delà du spectacle, un honeypot a une vraie utilité défensive. Il permet d’observer les méthodes réelles des attaquants sans exposer un seul service important. Il fournit une liste d’adresses hostiles fraîche, que l’on peut réinjecter dans le pare-feu ou dans fail2ban pour bloquer ces mêmes IP sur les vrais services. Et surtout, il rappelle de façon très concrète pourquoi il ne faut jamais laisser un SSH ouvert avec un mot de passe faible : ce que le leurre subit chaque nuit, une machine réelle le subirait tout autant.

Isolé, comme il se doit

Ce pot de miel tourne dans un compartiment cloisonné du homelab, sans accès aux autres services. Et, comme rappelé précédemment, le blog que vous lisez, f4hxn.fr, n’est pas hébergé sur ce homelab : la vitrine publique et le laboratoire d’observation restent deux mondes séparés. C’est précisément cette séparation qui permet de laisser un piège attirer les attaques… en toute tranquillité.

Pour finir

En une nuit, huit mille événements, mille mots de passe testés et une porte dérobée tentée : voilà le quotidien invisible de n’importe quel port SSH ouvert sur Internet. Le pot de miel ne rend pas cette réalité plus dangereuse ; il la rend simplement visible. Et une fois qu’on l’a vue de ses propres yeux, on ne configure plus jamais un serveur de la même manière. Un mot de passe solide, une authentification par clé, un port filtré : trois réflexes qui transforment la nuit agitée d’un leurre en une nuit parfaitement calme pour vos vrais services.

73, F4HXN

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *