Site web compromis : procédure de remédiation et retour d’expérience

Tout administrateur système ou webmestre y est confronté un jour : la découverte d’un site défacé, d’une injection de scripts malveillants ou d’une perte de données suite à une intrusion. Cet incident survenu sur notre serveur offre l’opportunité de documenter la méthode de remédiation appliquée pour restaurer les services de manière saine et durable.

1. Isolation immédiate et gel de l’environnement

Dès la détection du piratage, le premier réflexe consiste à isoler l’instance du réseau public pour empêcher la propagation de charges malveillantes ou l’exfiltration de données :

  • Couper l’accès HTTP/HTTPS au niveau du pare-feu ou afficher une page de maintenance statique via un reverse proxy distinct.
  • Geler l’état du système en réalisant un instantané (snapshot) de la machine virtuelle ou une copie brute des disques pour analyse forensique ultérieure.
  • Révoquer les accès : renouvellement immédiat de l’ensemble des identifiants (accès SSH, utilisateurs de base de données, comptes d’administration CMS et clés API).

En matière d’administration système, sécuriser les flux de gestion est une priorité absolue, qu’il s’agisse de serveurs web ou d’équipements d’infrastructure réseau, comme nous l’avons abordé lors de l’analyse des sessions avec le tutoriel sur le debug telnet/ssh et cisco.

2. Analyse forensique et identification du vecteur d’attaque

Tenter de nettoyer un système compromis sans identifier la faille initiale expose à une réinfection immédiate. L’analyse s’articule autour de plusieurs axes méthodiques :

  • Examen des journaux d’accès : corrélation des horodatages de modification des fichiers suspects avec les logs du serveur web (requêtes POST inhabituelles, injection SQL, appels directs à des fichiers PHP isolés).
  • Recherche de webshells et portes dérobées : vérification de l’intégrité des fichiers du CMS et des bibliothèques logicielles via des sommes de contrôle (checksums SHA-256) comparées aux sources officielles.
  • Inspection des tâches planifiées : contrôle approfondi des tables crontab utilisateur et système, ainsi que des services systemd persistants.

3. Reconstruction à partir d’une base saine

La règle d’or après une intrusion reste de ne jamais faire confiance à un système compromis. Plutôt que de tenter un nettoyage partiel, le serveur a été intégralement réinstallé à partir d’un système d’exploitation vierge et durci :

  • Restauration des données : extraction uniquement des données vérifiées (dumps SQL nettoyés, contenus multimédias contrôlés un par un). Pour vos transferts de sauvegardes entre environnements Windows, pensez à des outils robustes pour copier un fichier avec robocopy sans altérer les métadonnées.
  • Durcissement de l’application : verrouillage des droits d’écriture sur le système de fichiers (fichiers en lecture seule pour l’utilisateur web, restriction de l’exécution PHP dans les dossiers d’upload).
  • Mise en place d’outils de surveillance : déploiement d’un agent de détection d’intrusion (HIDS) et configuration d’alertes en temps réel sur toute altération de fichier critique.

Les articles et mémos techniques impactés par cet incident sont réintégrés progressivement. Pour découvrir la ligne éditoriale et le fonctionnement de cette plateforme, n’hésitez pas à consulter la page A propos de ce site.