Cette page couvre ce qu'il faut faire dans les premières heures après avoir découvert une compromission : ce qu'il faut protéger, ce qu'il faut décider et dans quel ordre travailler. Si vous n'êtes pas sûr que le site soit piraté, faites d'abord la vérification en cinq minutes. Quand vous arrivez au nettoyage lui-même, Comment supprimer un malware d'un site WordPress contient les commandes pour les fichiers et la base de données.
Les sept étapes en un coup d'œil
- Sauvegardez le site tel qu'il est maintenant. Fichiers et base de données.
- Décidez : hors ligne ou en ligne. Selon ce que voient les visiteurs.
- Vérifiez Google. Problèmes de sécurité dans la Search Console.
- Évaluez les dégâts. Trois vérifications rapides.
- Changez tous les identifiants. L'hébergement d'abord, WordPress en dernier.
- Supprimez le malware. Cœur, plugins, thèmes, base de données.
- Fermez le point d'entrée. Puis surveillez pendant une semaine.
Étape 1 : sauvegardez le site exactement tel qu'il est
Avant de changer quoi que ce soit, copiez le site infecté : tous les fichiers et la base de données. Ce n'est pas la sauvegarde que vous restaurerez. C'est une preuve que vous pourrez comparer plus tard, et votre hébergeur ou un service de sécurité vous la demandera si vous avez besoin d'aide. Depuis le dossier WordPress, via SSH :
wp db export ~/infected-backup.sql
tar -czf ~/infected-files.tar.gz .
Sans SSH, utilisez l'outil de sauvegarde de votre hébergeur ou téléchargez le site en SFTP, et exportez la base de données depuis phpMyAdmin.
Étape 2 : décidez de mettre ou non le site hors ligne
La réponse dépend de ce que voient les visiteurs en ce moment.
- Mettez-le hors ligne si les visiteurs sont redirigés, reçoivent des malwares ou du phishing, ou si le site est visiblement défiguré. Utilisez le mode maintenance ou une pause au niveau du serveur. Chaque minute où il reste en ligne nuit à vos visiteurs.
- Laissez-le en ligne si le problème semble limité au back-office, comme un fichier suspect ou un compte administrateur inconnu, et que les visiteurs ne voient rien d'anormal. Avancez vite dans les étapes suivantes et traitez cela comme urgent.
Étape 3 : vérifiez si Google a signalé le site
Ouvrez Google Search Console et allez dans Sécurité et actions manuelles → Problèmes de sécurité. Si Google a signalé le site, les visiteurs voient peut-être déjà un avertissement avant d'y arriver. C'est souvent ainsi que les propriétaires apprennent qu'ils ont été piratés. Notez ce que dit le rapport. Après le nettoyage, vous demanderez un réexamen, et Google attend des précisions sur ce qui a été trouvé et corrigé.
Étape 4 : évaluez les dégâts avec trois vérifications rapides
Vous n'avez pas encore besoin d'un audit complet. Trois commandes vous indiquent à peu près la profondeur du problème :
wp user list --role=administrator
find wp-content/uploads -name "*.php"
wp core verify-checksums
La première liste les administrateurs, pour repérer un compte que vous n'avez pas créé. La deuxième trouve les fichiers PHP dans le dossier uploads, qui ne doit contenir que des médias. La troisième compare le cœur de WordPress avec les fichiers officiels. Si vous ne pouvez pas utiliser SSH, le guide de détection montre comment vérifier les mêmes éléments depuis wp-admin et le gestionnaire de fichiers de votre hébergeur. Une page de spam qui apparaît quand vous cherchez site:votredomaine.com signifie généralement que la base de données a aussi été modifiée, pas seulement les fichiers.
Étape 5 : changez tous les identifiants, maintenant
Faites-le avant le nettoyage, pas après. Si l'attaquant détient encore une connexion valide, tout ce que vous nettoyez peut être défait. Utilisez un ordinateur de confiance, car un enregistreur de frappe sur le vôtre livrerait les nouveaux mots de passe. Procédez dans cet ordre, du plus puissant au moins puissant :
- La connexion à l'hébergement ou à cPanel, ainsi que tous les comptes SFTP et SSH. Supprimez les clés SSH que vous ne reconnaissez pas et ajoutez-en de nouvelles.
- Le mot de passe de la base de données. Changez-le dans le panneau de votre hébergeur, puis mettez à jour
DB_PASSWORDdanswp-config.php. - Tous les administrateurs et éditeurs WordPress. Supprimez les comptes que vous ne reconnaissez pas.
- Les clés de sécurité et les salts. Cela déconnecte toutes les sessions existantes, y compris celle de l'attaquant :
wp config shuffle-salts - Les clés tierces stockées sur le site, comme les clés de paiement, d'e-mail et d'API.
Étape 6 : supprimez le malware
Une fois le site contenu, les preuves conservées et les identifiants changés, le nettoyage est un processus à part : remplacer le cœur, réinstaller les plugins et les thèmes, vérifier les cachettes habituelles et nettoyer la base de données. Suivez Comment supprimer un malware d'un site WordPress. Si vous soupçonnez un accès caché laissé à l'attaquant, lisez Comment trouver une porte dérobée WordPress.
Étape 7 : trouvez comment ils sont entrés
L'erreur la plus courante est de s'arrêter à « c'est propre ». Si la porte d'entrée reste ouverte, la même attaque fonctionne à nouveau. Vérifiez, dans cet ordre :
- Les plugins et thèmes obsolètes ou abandonnés.
wp plugin list --update=availableaffiche les mises à jour en attente. Un plugin non mis à jour depuis des années est un risque même sans mise à jour en attente. Cherchez le nom du plugin dans les bases de vulnérabilités publiques, comme celles de Patchstack, WPScan et Wordfence. - Les thèmes et plugins piratés ou « nulled ». Ils contiennent souvent des malwares dès l'origine.
- Les journaux d'accès de votre serveur. Cherchez les requêtes POST vers des fichiers PHP qui ne devraient pas en recevoir, surtout dans
wp-content/uploadset les dossiers de plugins. La plupart des hébergeurs proposent les journaux d'accès bruts dans le panneau de contrôle. - La sauvegarde infectée de l'étape 1. Les fichiers à la date de modification suspecte la plus ancienne désignent la première intrusion.
Après le nettoyage, vérifiez à nouveau après 24 heures puis après une semaine. Un fichier ou un compte administrateur qui revient signifie que quelque chose a été manqué. Quand le site est propre, demandez un réexamen à Google dans Problèmes de sécurité de la Search Console.
Faut-il plutôt restaurer une sauvegarde ?
Seulement si la sauvegarde est antérieure à l'infection et que vous fermez aussi le point d'entrée. Restaurez-la, mettez à jour tout de suite WordPress, chaque plugin et chaque thème, et changez tous les identifiants. Une sauvegarde faite après le début de l'infection ramène le malware avec elle.
SiftWP automatise l'analyse et les parties sûres de cette séquence via SSH, sans ajouter de plugin à un site déjà compromis. Il examine chaque constat. Les problèmes à faible risque et réversibles sont corrigés automatiquement. Tout ce qui est ambigu, comme un compte administrateur inconnu ou un plugin peut-être nécessaire, se met en pause et vous demande d'abord. Les fichiers signalés sont mis en quarantaine, jamais supprimés d'emblée, de sorte qu'un faux positif peut être annulé.