Un serveur compromis déclenche souvent une chaîne d’incidents et expose des données sensibles. Ce guide pratique identifie signes, gestes d’urgence et outils pour reprendre le contrôle.
Pour agir vite, commencez par isoler la machine avant d’analyser les traces laissées. Les points clés suivants présentent actions et vérifications immédiates qui sauvent du temps.
A retenir :
- Isolation complète du serveur via /etc/nologin
- Compte root temporaire sécurisé pour accès d’urgence
- Analyse des logs d’authentification et historiques bash
- Scan réseau et détection de rootkits avec outils dédiés
Signes techniques d’un serveur compromis
Après l’isolement, repérer les signes techniques permet d’évaluer l’étendue du compromis. Ce chapitre détaille symptômes observables et commandes de détection rapides.
Signes système et logs SSH
Les logs restent la première piste après l’isolement pour vérifier les accès. Selon Ubuntu-fr, /var/log/auth.log contient les actions sudo et tentatives d’authentification. Si les fichiers d’authentification sont effacés, envisager une analyse hors-ligne du disque.
Étapes de vérification immédiate :
- Vérifier modification des fichiers de logs et dates
- Comparer /var/log/auth.log avec sauvegardes récentes
- Examiner .bash_history dans les répertoires utilisateurs
- Rechercher comptes UID 0 ou shells atypiques
Symptôme
Commande
Interprétation
Action recommandée
Redémarrages aléatoires
dmesg, /var/log/syslog
Possible problème matériel ou alimentation
Vérifier alimentation et SMART des disques
Connexions SSH inhabituelles
grep auth.log
Accès non autorisé probable
Réinitialiser mots de passe et clés
Ports ouverts inattendus
sudo nmap -p 1-65535
Service suspect exposé
Arrêter service et analyser binaire
Processus masqués
sudo rkhunter, chkrootkit
Rootkit ou backdoor possible
Lancer scans approfondis et quarantaine
Historique bash et processus utilisateurs
L’historique bash offre des indices complémentaires sur les actions des comptes compromis. Les fichiers .bash_history se trouvent dans /root et /home/* et peuvent montrer commandes suspectes. En cas de soupçon, remplacer le shell et tuer les processus liés permet d’isoler un utilisateur.
Blocage utilisateur immédiat :
- Exécuter sudo chsh -s /bin/false user pour désactiver le shell
- Terminer les processus avec sudo killall -u user
- Modifier immédiatement mots de passe et clés SSH
- Conserver copies des logs pour expertise légale
Après collecte d’indices, isoler les services et préparer l’accès d’urgence pour l’intervention suivante. Cette étape prépare le passage aux mesures d’urgence et reprise sécurisée.
« Récemment, mon VPS redémarrait sans raison, j’ai vérifié les logs et trouvé une clé SSH non autorisée. »
Marc N.
Mesures d’urgence pour isoler et maintenir l’accès
Une fois les signes identifiés, les mesures d’urgence limitent la casse et protègent l’accès. Ce chapitre présente commandes et précautions pour couper les accès et conserver un secours.
Bloquer les connexions et refuser les accès
La méthode la plus rapide consiste à refuser toute nouvelle connexion via le fichier nologin. Exécutez sudo touch /etc/nologin pour refuser connexions locales et distantes sans fermer la session en cours.
Actions immédiates serveur :
- Créer /etc/nologin pour bloquer nouvelles connexions
- Conserver session en cours pour accès de secours
- Utiliser sudo ufw pour règles réseau moins drastiques
- Documenter chaque commande et sortie pour audit
« J’ai touché /etc/nologin, puis booter sur un live USB pour restaurer l’accès sans perdre la session active. »
Julie N.
Préparer un accès root de secours sécurisé
Si vous risquez la déconnexion, prévoir un accès root temporaire évite le verrouillage total. Selon les besoins, activer PermitRootLogin yes dans /etc/ssh/sshd_config peut être nécessaire mais risqué.
Paramètres d’accès d’urgence :
- Initialiser mot de passe root via sudo passwd root
- Désactiver ensuite le root avec sudo passwd -l root
- Limiter accès root depuis IPs de confiance uniquement
- Conserver preuve d’actions et restaurer configurations après intervention
Action
Commande
Risque
Bloquer connexions
sudo touch /etc/nologin
Verrouillage si pas d’accès secours
Activer root temporaire
PermitRootLogin yes + sudo passwd root
Augmentation surface d’attaque
Firewall stricte
sudo ufw default deny incoming
Peut bloquer services essentiels
Consignation actions
Rediriger logs et copies
Jeu de données pour expertise
Une fois l’accès sécurisé, lancez analyses réseaux et détection de rootkits pour confirmer l’intégrité. La préparation de l’accès permet ensuite d’exécuter scans sans risquer la perte d’accès.
« Après avoir sécurisé le root, j’ai pu arrêter les services suspects et sauvegarder les journaux pour l’expert externe. »
Alex N.
Vérifications réseau et détection de rootkits
Après sécurisation des accès, l’analyse réseau et la recherche de rootkits valident l’état du système. Cette étape combine scans actifs et analyses hors-ligne pour confirmer ou infirmer une compromission.
Analyse réseau, ports et captures de paquets
Lancer des scans depuis une machine séparée évite la falsification des outils locaux. Selon Microsoft Learn, la détection précoce des connexions inverses réduit le risque d’exfiltration de données.
Commandes de scan recommandées :
- sudo nmap IP -p 1-65535 pour ports ouverts
- netstat -antp pour lister connexions et PID
- wireshark pour captures et analyse de flux réseau
Si nmap ne révèle rien, inspecter sorties avec netstat et captures Wireshark pour connexions inverses. Ces étapes préparent la recherche approfondie de logiciels furtifs.
« Le scan réseau a révélé un tunnel chiffré sortant vers une IP inconnue, preuve que l’intrus utilisait une connexion inversée. »
Olivier N.
Détection de rootkits et scan antivirus complet
Les rootkits masquent fichiers et processus, rendant les contrôles superficiels insuffisants. Selon la documentation Rkhunter, exécuter rkhunter –propupdate puis rkhunter –checkall limite les faux positifs et révèle anomalies.
Outils de détection recommandés :
- rkhunter pour détection de fichiers et propriétés altérées
- chkrootkit pour tests complémentaires sur processus et modules
- Antivirus à jour pour scan complet du disque
Après un redémarrage contrôlé, relancer tous les scans pour détecter composants chargés au démarrage. Cette répétition augmente la probabilité de déceler mécanismes furtifs et backdoors.
« Mon équipe a utilisé chkrootkit et rkhunter avant de confier le disque à un laboratoire pour analyse forensique. »
Claire N.
Source : Microsoft, « Planification des compromis », Microsoft Learn ; Ubuntu-fr, « tutoriel:que_faire_en_cas_de_serveur_compromis », Wiki Ubuntu-fr ; Rkhunter, « Rootkit Hunter », projet Rkhunter.
