Se retrouver face à un site WordPress compromis, sans disposer d’une sauvegarde restaurable, est une situation stressante — mais toutes les parties ne sont pas perdues. Avec des actions rapides, méthodiques et précises, il est possible de nettoyer l’installation, restaurer l’intégrité du site et mettre en place des défenses pour l’avenir.
Cet article vous guide pas à pas avec 5 réflexes clés, chacun détaillé avec les raisons d’être, les précautions à prendre et les bonnes pratiques associées.
Sommaire
1. Installer un plugin de sécurité / lancer un scan en profondeur
Pourquoi cette étape est cruciale
- Même si le site est compromis, un plugin comme Wordfence (ou Sucuri, MalCare, iThemes Security) peut aider à détecter automatiquement les fichiers infectés, les modifications suspectes, les signatures de malware ou les portes dérobées.
- Cela vous donne une vue globale des infections visibles et sert de point de départ pour le nettoyage.
Wordfence propose une option de scan hautement sensible et peut indiquer les fichiers compromettants. wordfence.com
Conseils & précautions
- Installez d’abord le plugin, mais évitez de tirer de conclusions hâtives : certains résultats peuvent être des faux positifs ou du code personnalisé légitime.
Activez les alertes et planifiez des scans réguliers (quotidiens ou hebdomadaires). - Si le plugin offre un « mode dur » ou « deep scan », privilégiez-le pour détecter les fichiers cachés.
En complément, vous pouvez utiliser d’autres scanners (externes) ou services (par exemple Sucuri) pour croiser les résultats.
2. Identifier les fichiers suspects, corrompus ou modifiés
Que rechercher ?
- Fichiers qui ne figurent pas dans une installation standard de WordPress (core, thèmes, plugins).
- Code « suspect » : eval(), base64_decode(), iframes injectées, fichiers avec un nom inhabituel ou généré aléatoirement.
- Fichiers « backdoor » : des scripts apparemment anodins servant à garder un accès caché.
- Fichiers récemment modifiés — comparer les dates de modification avec une version saine.
- Journaux du serveur (logs d’accès, journaux d’erreur) pour détecter des patterns inhabituels ou des requêtes suspectes.
- Dans la base de données : vérifier les tables wp_options, wp_posts, etc., pour des scripts injectés.
- Comptes utilisateurs suspects dans l’admin WordPress (nouveaux administrateurs non autorisés).
Méthode recommandée
- Téléchargez une version propre de WordPress (même version) depuis wordpress.org.
- Comparez les fichiers du « core » (hors dossier wp-content) avec les originaux ; remplacez les versions compromises.
- Faites de même avec les thèmes/plugins : réinstallez les versions officielles provenant des éditeurs officiels.
- Pour le contenu personnalisé (thème enfant, CSS, médias) : injectez-les après vérification manuelle.
- Si un fichier modifié est légitime mais suspect, isolez-le et analysez-le ligne par ligne.
Cette approche de remplacement / vérification est recommandée dans les guides de nettoyage WordPress.
3. Réinstaller les fichiers WordPress, thèmes et plugins sécurisés
Objectif
Ne conserver comme “vivant” que le code que vous savez sûr. Tout ce qui pourrait être compromis doit être remplacé par une version saine.
Étapes à suivre
- Téléchargez la version WordPress correspondant à votre installation (même version de core) depuis wordpress.org et extrayez les fichiers.
- Remplacez les fichiers du core (sauf wp-content et wp-config.php) par les versions officielles.
- Supprimez les thèmes/plugins non utilisés, obsolètes ou piratés. Installez les thèmes/plugins restants depuis les sources officielles (répertoire WP, éditeurs).
- Nettoyez / recréez wp-config.php si nécessaire — vérifiez les clés de sécurité, les paramètres, les permissions de fichier.
- Vérifiez les permissions des fichiers / dossiers (par ex. 644 pour fichiers, 755 pour dossiers) pour limiter l’accès abusif.
- Si votre hébergeur ou serveur permet l’isolation (mode « sandbox », dossier neuf), envisagez d’installer une version propre dans un nouveau répertoire et de transférer graduellement le contenu nettoyé.
4. Changer tous les mots de passe & verrouiller les accès
Pourquoi ?
Une fois qu’un site est compromis, il faut supposer que l’attaquant pourrait détenir des clés d’accès (FTP, admin, base de données, etc.). Il faut donc « fermer toutes les portes ».
Comptes à modifier
- Tous les comptes WordPress avec droits (administrateurs, éditeurs, etc.).
- L’utilisateur de la base de données (MySQL/MariaDB) — mettre à jour wp-config.php en cas de changement.
- Les accès FTP / SFTP / SSH.
- Le compte d’hébergement / cPanel / panneau serveur.
- Les emails associés au site ou aux comptes admin.
- Révoquez ou changez les clés API, jetons externes ou accès tiers (plugins, services externes).
Bonnes pratiques
- Utilisez des mots de passe forts : longs, mélange lettres / chiffres / caractères spéciaux.
- Activez l’authentification à deux facteurs (2FA / MFA) pour tous les comptes critiques.
- Limitez les rôles utilisateurs (n’attribuez pas de droits d’administrateur inutilement).
- Supprimez les comptes inactifs ou suspects.
- Si possible, restreignez l’accès à l’admin WordPress via whitelist d’IP ou pare-feu (WAF).
Jetpack recommande notamment de changer les mots de passe, d’activer la 2FA et d’auditer les comptes après une intrusion.
5. Mettre en place une stratégie de sauvegarde + plan de restauration
L’importance de cette étape
Sans sauvegarde, toute nouvelle attaque ou erreur pourrait entraîner une perte irréversible. La sauvegarde est votre filet de sécurité.
Ce que doit contenir une sauvegarde complète
- Tous les fichiers WordPress (core, thèmes, plugins, médias)
- Le dossier wp-content entier
- La base de données (tables, contenu, options)
- Parfois les fichiers de configuration du serveur selon l’hébergement (ex : .htaccess, nginx.conf)
WordPress.org recommande de sauvegarder à la fois les fichiers et la base de donnée.
Solutions & outils de sauvegarde
- Plugins fiables: UpdraftPlus, BackupBuddy, Jetpack (Backups), Duplicator, etc.
- Stockage hors-serveur : cloud (Google Drive, Amazon S3, Dropbox), serveur externe, stockage local.
- Sauvegardes automatiques régulières (quotidiennes ou selon l’activité) + sauvegardes ponctuelles avant mise à jour majeure.
- Test régulier de restauration (sur environnement de test) pour s’assurer que les sauvegardes fonctionnent.
- Conserver plusieurs versions de sauvegarde (historique) afin de pouvoir revenir loin en arrière si nécessaire.
Selon Jetpack : « Vous devez effectuer des sauvegardes régulières, exécuter des scans, mettre à jour votre site, etc. » Jetpack
Et le Developer Handbook recommande des snapshots réguliers stockés dans une localisation de confiance. WordPress Developer Resources
Plan de restauration
- En cas de nouvelle compromission, identifiez la dernière sauvegarde saine.
- Restaurez les fichiers et la base de données depuis cette sauvegarde.
- Après restauration, appliquez les actions de sécurité (étapes 1 à 4) pour « durcir » le site.
- Documentez le processus de restauration pour gagner du temps si cela doit se reproduire.
Étapes complémentaires & après-nettoyage
- Contactez l’hébergeur / fournisseur : ils peuvent vous aider à isoler l’attaque, nettoyer des fichiers côté serveur ou vous fournir des logs inexploités.
- Vérifiez si le site est blacklisté (Google Safe Browsing, antivirus, moteurs de recherche). Si oui, demandez une réévaluation via Google Search Console après nettoyage.
- Surveillez les logs et l’activité pendant plusieurs jours post-nettoyage pour détecter toute tentative de réinjection.
- Former les utilisateurs/administrateurs : bonnes pratiques (ne pas installer de thèmes/plugins piratés, limiter les droits, ne pas surfer en tant qu’admin, etc.).
- Désactivez / supprimez les composants inutiles : thèmes non utilisés, plugins désactivés — même désactivés, ils peuvent être vulnérables.
- Durcir l’installation WordPress : désactiver l’édition de fichiers via le tableau de bord, limiter les tentatives de connexion, désactiver XML-RPC si inutilisé, etc.
- Installer un pare-feu applicatif (WAF) ou activer le firewall de votre plugin de sécurité pour bloquer les tentatives malveillantes avant qu’elles atteignent WordPress.
Étape | Action principale | Objectif |
1 | Installer plugin de sécurité & lancer un scan | Identifier les infections visibles |
2 | Identifier et isoler les fichiers suspects | Détecter les backdoors et code malveillant |
3 | Réinstaller core / thèmes / plugins sains | Ne garder que du code “fiable” |
4 | Changer tous les mots de passe & verrouiller accès | Éviter toute nouvelle intrusion |
5 | Mettre en place sauvegarde + plan de restauration | Se prémunir contre les pertes futures |
Récapitulatif :
- Lancez un scan de sécurité hautement sensible.
- Identifiez et isolez tous les fichiers suspects.
- Réinstallez les composants WordPress fiables.
- Changez tous les accès et durcissez les comptes.
- Établissez une stratégie de sauvegarde solide et testée.
Sans sauvegarde saine, chaque étape compte d’autant plus que vous devez reconstruire la sécurité « à la main ».
Mais si vous suivez ces réflexes de façon méthodique, vous pouvez espérer restaurer un site propre et repartir sur des bases résilientes.