Module 7 · 7.5
Français
Piraté : reconnaître, réparer et prévenir
Module 7: Sécurité · Temps de lecture : 10 minutes
Objectif pédagogique : après cette leçon, vous saurez reconnaître un piratage, le réparer dans le bon ordre et éviter qu'il ne se reproduise.
Notions clés : signaux d'un piratage, documenter, isoler, remplacer tous les mots de passe et les salts, trouver le point d'entrée, journaux, sauvegarde saine, réinstallation propre, sommes de contrôle, administrateurs inconnus, PHP dans uploads, mu-plugins, Search Console, signaler une violation de données
Ce qu'est un piratage
Un site est piraté si quelqu'un a pris le contrôle, sans autorisation, d'une partie (ou de la totalité) de votre site : il peut modifier des fichiers ou la base de données, ou exécuter du code. Il reste souvent présent grâce à une porte dérobée : un fichier caché ou un bout de code qui lui permet de revenir plus tard, même si vous refermez la faille initiale.
Ce dernier point est au cœur de cette leçon : supprimer uniquement les dégâts visibles ne suffit pas. Tant que la porte dérobée existe, ou que la faille par laquelle il est entré reste ouverte, cela se reproduira. Souvent en quelques jours.
Reconnaître un piratage
Signaux (certains sont visibles, d'autres nécessitent de chercher) :
- Google signale sur votre site « Ce site est peut-être piraté », ou Search Console signale un problème de sécurité.
- Dans les résultats de recherche (
site:example.com), des pages que vous ne connaissez pas apparaissent, souvent dans une autre langue ou concernant des médicaments, des jeux d'argent ou de fausses boutiques. - Les visiteurs sont redirigés, souvent uniquement s'ils arrivent via Google ou depuis un téléphone. Vous ne le voyez pas, car vous êtes connecté ou arrivez via un favori. Testez dans une fenêtre privée en passant par un résultat de recherche.
- Dans Comptes, un administrateur apparaît que vous ne connaissez pas.
- Des fichiers PHP se trouvent dans
wp-content/uploads, ou des fichiers aux noms étranges se trouvent dans le répertoire racine ou danswp-content/mu-plugins. - Votre hébergeur ou un scanner de malware signale des fichiers infectés ; vos e-mails sont refusés ou votre offre envoie du spam.
- Le site devient soudainement lent ou votre espace de stockage se remplit.
Le plan d'action
1. Rester calme et documenter
Ne jetez pas tout immédiatement. Notez ce que vous observez et depuis quand, prenez des captures d'écran, et faites une copie de l'état actuel (fichiers et base de données, ou une sauvegarde supplémentaire via votre hébergeur). Cette copie vous servira à trouver le point d'entrée et de preuve. Ne la placez pas dans le répertoire web.
2. Arrêter les dégâts pour les visiteurs
Désactivez temporairement le site ou placez-le derrière une page de maintenance, en particulier si les visiteurs sont redirigés vers des malwares ou du phishing. Avec DirectAdmin, vous pouvez suspendre le domaine ; ailleurs, un mot de passe sur l'ensemble du site ou un index.html temporaire avec un message peuvent suffire.
3. Remplacer tous les mots de passe et clés
Partez du principe que l'intrus connaît chaque mot de passe qui se trouvait sur le site ou accessible via celui-ci. Remplacez, de préférence depuis un autre ordinateur (sain) :
- le mot de passe de votre panneau d'hébergement et de tous les comptes FTP et SFTP (supprimez les comptes que vous n'utilisez pas) ;
- le mot de passe de l'utilisateur de la base de données, et modifiez-le dans wp-config.php ;
- les mots de passe de tous les administrateurs WordPress, et supprimez les comptes que vous ne connaissez pas ;
- les clés et salts dans wp-config.php (leçon 1.3). Cela invalide tous les cookies de connexion, y compris ceux de l'intrus ;
- les mots de passe d'application (leçon 3.3) et les clés API des intégrations ;
- les mots de passe e-mail, si du spam a été envoyé via une boîte aux lettres.
Activez ensuite l'authentification à deux facteurs partout (leçon 7.3).
4. Trouver le point d'entrée
Sans connaître le point d'entrée, vous ne pouvez pas être certain qu'il est refermé. Les causes les plus courantes (leçon 7.1), et où chercher :
- Une extension ou un thème obsolète : quels éléments étaient en retard ? Recherchez les noms dans une base de données de vulnérabilités (leçon 5.3).
- Un mot de passe divulgué : consultez l'historique de connexion de votre panneau d'hébergement et de FTP.
- Les journaux du serveur web : recherchez, autour du moment où les premiers fichiers étranges sont apparus, des requêtes POST vers des fichiers inconnus ou vers des fichiers d'extensions, souvent depuis la même adresse IP.
- Fichiers par date : triez dans le Gestionnaire de fichiers ou via SFTP par date de modification. Les fichiers modifiés en même temps, surtout en dehors d'une mise à jour, méritent votre attention.
5. Nettoyer
Deux approches, souvent combinées :
A. Restaurer une sauvegarde saine d'avant le piratage (leçon 8.2). Choisissez une sauvegarde nettement antérieure aux premiers signaux, car les intrus attendent parfois plusieurs semaines. Restaurez intégralement, afin que les fichiers ajoutés disparaissent également. Mettez ensuite immédiatement tout à jour (sinon la faille réapparaît). Inconvénient : tout ce qui s'est passé après la sauvegarde (articles, commandes) est perdu.
B. Reconstruire proprement avec le contenu existant :
- Remplacez WordPress lui-même par une copie neuve depuis wordpress.org (wp-admin, wp-includes et les fichiers isolés ; pas wp-content ni wp-config.php). Avec WP-CLI, vous pouvez d'abord vérifier ce qui a été modifié :
wp core verify-checksums
wp plugin verify-checksums --allCes commandes comparent vos fichiers aux versions officielles et signalent chaque fichier modifié ou ajouté (la seconde uniquement pour les extensions provenant du répertoire d'extensions de wordpress.org).
- Supprimez toutes les extensions et tous les thèmes et réinstallez-les depuis la source, dans la version la plus récente. Ce dont vous n'avez pas besoin ne revient pas.
- Vérifiez
wp-content/uploadsà la recherche de fichiers PHP et d'autres fichiers qui ne sont pas des médias, ainsi quewp-content/mu-plugins. - Vérifiez
.htaccessà la recherche de règles de redirection étranges, et wp-config.php à la recherche de lignes que vous ne reconnaissez pas. - Vérifiez la base de données : administrateurs inconnus, les options
siteurl,homeetactive_pluginsdanswp_options, et recherchez dans les articles des scripts insérés (<scriptavec des adresses étranges). - Examinez les tâches planifiées : les tâches cron dans votre panneau d'hébergement et WP-Cron (avec une extension ou
wp cron event list).
Un scanner de malware (de votre hébergeur ou une extension) aide à la détection, mais ne lui faites pas une confiance aveugle : ce qu'il ne trouve pas peut tout de même être présent.
6. Refermer et vérifier
- Mettez tout à jour, renforcez la sécurité (leçon 7.4) et réactivez le site.
- Votre site est-il marqué comme non sécurisé par Google ? Demandez dans Search Console, sous Problèmes de sécurité, un nouvel examen, mais uniquement une fois que tout est propre.
- Surveillez les semaines suivantes : nouveaux fichiers, nouveaux administrateurs, alertes de votre scanner. Si cela se reproduit, c'est que le point d'entrée ou une porte dérobée n'a pas été trouvé.
Données personnelles : signaler une violation de données
Si des intrus ont pu accéder à des données personnelles (données clients d'une boutique en ligne, soumissions de formulaires, listes de membres, les utilisateurs de votre site), il s'agit alors d'une violation de données au sens du RGPD. Vous devez alors la signaler dans les 72 heures suivant sa découverte à l'autorité de protection des données de votre pays, sauf s'il est peu probable qu'elle engendre un risque pour les personnes concernées (article 33 du RGPD). Si le risque est élevé, vous devez également en informer ces personnes directement (article 34). Dans tous les cas, documentez ce qui s'est passé et ce que vous avez fait, même si vous ne faites pas de signalement. En cas de doute, consultez le site de l'autorité de protection des données de votre pays (leçon 9.3).
Demander de l'aide
Nettoyer un piratage demande du temps et de l'expérience. Si vous n'êtes pas certain d'avoir tout traité, demandez de l'aide : votre créateur de site, une entreprise spécialisée, ou votre hébergeur (certains hébergeurs, dont WebOké, proposent ce service, généralement payant). Donnez-leur la copie réalisée à l'étape 1, ce que vous avez observé et quand, ainsi que ce que vous avez déjà fait.
Résumé
- Un piratage laisse souvent une porte dérobée ; supprimer uniquement les dégâts visibles ne suffit pas.
- Ordre à suivre : documenter, protéger les visiteurs, remplacer tous les mots de passe et salts, trouver le point d'entrée, nettoyer, refermer et vérifier.
- Le nettoyage peut se faire avec une sauvegarde saine bien antérieure au piratage, ou en réinstallant WordPress, les extensions et les thèmes à neuf, et en vérifiant uploads, mu-plugins, .htaccess et la base de données.
wp core verify-checksumsindique quels fichiers de WordPress ont été modifiés.- En cas de données personnelles concernées, signalez la violation de données dans les 72 heures à l'autorité compétente, sauf si un risque est peu probable.
Quiz
Exercice
Exercice D7.5 : Votre plan d'urgence en cas de piratage. Complétez le plan d'urgence pour votre propre site, afin de ne pas devoir l'inventer le moment venu : où se trouvent vos sauvegardes et sur quelle période remontent-elles, qui dispose de quels mots de passe et comment les remplacer tous (liste), où trouver les journaux de votre hébergement, qui contacter pour obtenir de l'aide, et quelles données personnelles figurent sur votre site (pour déterminer si vous devez signaler une violation de données). Faites ensuite l'exercice suivant : quelles sont les cinq actions à mener dans la première heure si vous recevez l'alerte « Ce site est peut-être piraté », dans quel ordre, et pourquoi cet ordre ?
Exercice D7.5: Votre plan d'urgence en cas de piratage
Cet exercice, vous le faites vous-même ; personne ne le vérifie. Cochez ce que vous avez fait et marquez l'exercice comme terminé.
D'abord documenter (captures d'écran, conserver les journaux) avant de supprimer quoi que ce soit ; protéger les visiteurs (site hors ligne ou page de maintenance) ; remplacer tous les mots de passe et les salts ; chercher le point d'entrée ; restaurer proprement seulement ensuite. Restaurer sans fermer le point d'entrée laisse la porte ouverte.
Vos cases cochées et vos notes restent uniquement dans ce navigateur ; nous ne les envoyons nulle part. Si vous êtes connecté, nous enregistrons dans Mes formations uniquement le fait que vous avez terminé l'exercice.
Pour aller plus loin
Ces articles décrivent les étapes dans les panneaux de WebOké ; dans d'autres panneaux, le fonctionnement est similaire.
- Guide DirectAdmin 18.2: Mon site est piraté : plan d'action
- Au secours ! Mon site a été piraté. Comment résoudre ou éviter ce problème ?
- Guide DirectAdmin 15.11: Imunify360 : scanner votre site web contre les malwares
- Guide DirectAdmin 17.2: Résumé du site & journaux : le journal des erreurs et le journal d'accès
- Guide DirectAdmin 3.4: Historique de connexion : qui s'est connecté et quand ?
- Violations de données (Autoriteit Persoonsgegevens, Pays-Bas) : https://www.autoriteitpersoonsgegevens.nl/themas/beveiliging/datalekken
- FAQ : mon site a été piraté (wordpress.org, en anglais) : https://wordpress.org/documentation/article/faq-my-site-was-hacked/
