Si votre serveur est piraté, ne l’éteignez pas à la hâte : coupez son accès au réseau, faites un snapshot chez l’hébergeur, puis relevez les connexions, les tâches planifiées, les clés SSH et les comptes avec l’UID 0. Choisissez ensuite entre nettoyage et réinstallation, changez tous les secrets, et notifiez la CNIL sous 72 heures si des données personnelles sont touchées.
Les signes les plus fréquents : un processeur saturé sans raison, un trafic sortant inhabituel, des connexions SSH que vous ne reconnaissez pas, des fichiers modifiés, un compte ou une clé SSH que vous n’avez pas créés, un message de l’hébergeur sur une activité anormale. Les portes d’entrée habituelles : un mot de passe SSH faible, un service exposé sans authentification (base de données, API Docker), une application web vulnérable, un secret publié par erreur dans un dépôt de code.
Ces étapes s’adressent à l’administrateur d’un serveur Debian ou Ubuntu. Les commandes se lancent avec sudo ou en root. Si le serveur héberge un site WordPress touché, consultez aussi la page sur le site WordPress piraté.
Isoler le serveur sans l’éteindre
Un arrêt brutal efface la mémoire vive, donc les processus et les connexions en cours, qui sont des preuves. Commencez par couper l’accès pirate au réseau, en gardant le vôtre. Autorisez d’abord votre adresse, sans quoi vous vous enfermez dehors : sudo ufw allow from VOTRE_IP to any port 22 proto tcp, puis sudo ufw default deny incoming, sudo ufw default deny outgoing et sudo ufw enable. Si le pare-feu du serveur est lui-même suspect, utilisez le pare-feu réseau de l’hébergeur, ou passez en mode rescue depuis son espace client.
Faire un snapshot chez l’hébergeur
Depuis l’interface de l’hébergeur, créez un snapshot ou une image du disque avant toute modification. Il fige l’état du système pour l’analyse, pour un éventuel dépôt de plainte et pour comparer plus tard avec une copie saine. Conservez-le à part, sans le restaurer sur un serveur relié à Internet.
Relever les connexions et les journaux
Enregistrez vos constats dans un fichier hors du serveur compromis. Commandes utiles :
last -aiF | head -40: connexions réussies, avec adresse IP d’origine.sudo lastb | head -40: tentatives échouées.sudo grep "Accepted" /var/log/auth.log: connexions acceptées par SSH.sudo journalctl -u ssh --since "14 days ago" --no-pager | grep Accepted: la même chose via systemd.sudo journalctl -p err -b --no-pager | tail -100: erreurs depuis le dernier démarrage.
Repérez toute adresse inconnue, toute connexion à une heure où personne ne travaillait, et tout journal vide ou tronqué : un pirate efface parfois ses traces.
Contrôler comptes, clés SSH et tâches planifiées
- Comptes avec l’UID 0 :
awk -F: '($3 == 0) {print $1}' /etc/passwd. Seulrootdoit apparaître. - Comptes récents ou avec un interpréteur de commandes :
grep -v nologin /etc/passwd. - Clés SSH :
sudo cat /root/.ssh/authorized_keyspuis le fichier~/.ssh/authorized_keysde chaque utilisateur. Toute clé que vous n’avez pas posée est suspecte. - Planifications :
sudo crontab -l,sudo ls -la /etc/cron.d /var/spool/cron/crontabs, etsystemctl list-timers --all. - Services ajoutés :
systemctl list-unit-files --state=enabled, et les fichiers récents de/etc/systemd/system.
Examiner les processus et les connexions réseau
sudo ss -tupn liste les connexions et les processus associés, ps auxf montre l’arborescence des processus. Cherchez un binaire lancé depuis /tmp, /dev/shm ou /var/tmp, une connexion sortante vers une adresse inconnue, un port en écoute que vous n’avez pas ouvert (sudo ss -tlnp). Pour un processus précis, ls -l /proc/PID/exe donne le fichier réellement exécuté. Si un processus consomme tout le processeur, voyez le cas du cryptominer.
Décider entre nettoyage et réinstallation
Nous vous conseillons la réinstallation dès que le pirate a obtenu les droits root, que vous ne retrouvez pas la porte d’entrée, ou que le serveur porte des données sensibles : on ne peut pas prouver qu’un système compromis est redevenu sain. Le nettoyage n’est raisonnable que sur une intrusion limitée, comprise de bout en bout, avec la faille corrigée. Dans le doute, réinstallez, puis restaurez uniquement les données (base, fichiers), jamais les binaires ni les scripts d’origine douteuse. Vérifiez qu’elles sont saines avant, avec une sauvegarde antérieure à l’intrusion.
Changer tous les secrets
Depuis un poste sain, renouvelez : les mots de passe et clés SSH (ssh-keygen -t ed25519), les mots de passe de bases de données, les clés d’API et jetons, les fichiers .env, les clés privées de certificats, les accès de l’hébergeur et de la messagerie. Un secret présent sur le serveur doit être considéré comme connu du pirate. Changez-les après l’isolement, sinon il les récupère à nouveau.
Notifier et porter plainte
Si des données personnelles (clients, salariés) ont pu être consultées ou copiées, la CNIL doit être notifiée dans les 72 heures suivant la prise de connaissance de la violation, sauf si elle n’engendre aucun risque pour les personnes. Inscrivez la violation dans votre registre interne, même sans notification. Déposez plainte auprès de la police ou de la gendarmerie avec vos relevés, et sollicitez l’assistance de Cybermalveillance.gouv.fr.
Questions fréquentes
Faut-il éteindre un serveur piraté ?
Pas immédiatement. L’arrêt supprime la mémoire vive, avec les processus et connexions du pirate. Coupez d’abord son accès au réseau, faites un snapshot, relevez vos constats, puis arrêtez ou réinstallez. Éteignez sans attendre seulement si le serveur attaque d’autres machines et que vous ne pouvez pas l’isoler.
Comment savoir si quelqu’un est connecté à mon serveur ?
Les commandes w et who montrent les sessions ouvertes, last -aiF l’historique avec les adresses IP, et sudo ss -tupn les connexions actives. Un shell inversé n’apparaît pas toujours dans who : regardez donc aussi les connexions sortantes inconnues.
Mon serveur piraté peut-il être nettoyé ou faut-il le réinstaller ?
La réinstallation est la voie la plus sûre. Le nettoyage reste acceptable pour une intrusion limitée à un compte d’application, dont la cause est identifiée et corrigée. Dès que l’accès root a été obtenu, un rootkit ou une porte dérobée peut subsister sans que vous le voyiez.
Dois-je prévenir la CNIL si mon serveur est piraté ?
Oui, si le serveur contient des données personnelles et que leur confidentialité, leur intégrité ou leur disponibilité est atteinte avec un risque pour les personnes. Le délai est de 72 heures après la prise de connaissance, via le téléservice de la CNIL. Sans risque, la violation se documente seulement en interne.
Mon hébergeur peut-il me rendre responsable d’un serveur piraté ?
Vous administrez le système, donc la sécurité du contenu du serveur vous incombe d’après la plupart des contrats. Prévenez l’hébergeur tôt s’il vous a écrit : il peut suspendre le serveur, mais il propose souvent un mode rescue pour intervenir. Relisez les conditions de votre contrat.
Sources
- Notifier une violation de données personnelles — CNIL
- Cybermalveillance.gouv.fr — assistance aux victimes de cybermalveillance
- last(1) — manuel Linux
- proc(5) — manuel Linux
Voir aussi
- Cryptominer sur un serveur Linux : un processus inconnu consomme 100 % du CPU
- Fail2ban contre le brute force SSH : installation, jail sshd et dépannage
- Réponse à incident sur un site ou un serveur : méthode, obligations, plainte
- Serveur ou hébergement chiffré par un rançongiciel : isoler, reconstruire, restaurer