Contexte
Une PME genevoise a constaté des redirections inattendues depuis certaines pages et des alertes côté navigateur. Le site WordPress restait accessible par moments, mais l’équipe observait aussi des lenteurs et des tentatives de connexion anormales. L’objectif était double: rétablir la confiance rapidement (site propre, navigation normale), puis renforcer la sécurité pour limiter le risque de récidive.
Objectifs
- Confirmer la nature de l’incident et remettre le site dans un état sain.
- Couper les accès non légitimes: comptes, clés, sessions, mots de passe.
- Durcir WordPress: mises à jour, règles WAF, protections formulaires et endpoints sensibles.
- Mettre en place des sauvegardes vérifiables et un monitoring de disponibilité.
- Contrôler l’impact SEO: pages indexées, erreurs, éventuelles URLs indésirables.
Diagnostic
- Symptômes : redirections sporadiques, pics de requêtes sur wp-login.php, lenteurs.
- Vérifications : logs serveur, intégrité fichiers WordPress, extensions et thèmes, utilisateurs, tâches planifiées.
- Constat : présence d’un code injecté (fichier et entrée base) + extension obsolète impliquée.
Intervention (assainissement puis durcissement)
Le plan a privilégié une remise en état rapide, suivie d’un durcissement progressif. Chaque étape a été validée avec tests fonctionnels (navigation, formulaires, performances) et contrôles techniques (logs, scan, intégrité).
1) Contention (stopper la propagation)
- Passage temporaire en mode maintenance si nécessaire pour limiter l’exposition.
- Rotation des accès: comptes admin, mots de passe, clés applicatives, FTP/SSH si concernés.
- Désactivation immédiate des extensions à risque identifiées.
2) Nettoyage (retour à un état sain)
- Remplacement des fichiers cœur WordPress par une version propre et à jour.
- Suppression de fichiers inconnus, nettoyage des injections dans la base (selon cas: options, posts, cron).
- Contrôle des redirections, des scripts tiers et des balises ajoutées.
3) Durcissement (réduction du risque)
- Mises à jour WordPress / thème / extensions, puis vérification de compatibilité.
- Activation d’un WAF (Cloudflare) avec règles de base et limitation des tentatives.
- Protection des formulaires (reCAPTCHA ou anti-spam discret) et limitation des endpoints inutiles.
- Révision des rôles et permissions, nettoyage des comptes inactifs.
4) Exploitation: sauvegardes et monitoring
- Sauvegardes planifiées (fichiers + base), avec test de restauration sur copie.
- Monitoring de disponibilité (uptime) et alertes.
- Routine mensuelle: mises à jour contrôlées, scan, revue des logs et mini-reporting.
5) Contrôles SEO et mesure
- Search Console: inspection d’URL, pages indexées, erreurs d’exploration, sitemaps.
- Vérification d’éventuelles URLs indésirables (patterns, paramètres, pages injectées).
- GA4: continuité du tracking et des conversions (formulaire, clic téléphone).
Exemple technique : mu-plugin pour désactiver l’édition de fichiers (durcissement)
Simple, efficace, et réduit un vecteur d’abus si un compte est compromis.
<?php
/**
* MU-plugin: désactiver l'éditeur de fichiers WordPress.
* Fichier: wp-content/mu-plugins/cc-hardening.php
*/
if (!defined('DISALLOW_FILE_EDIT')) {
define('DISALLOW_FILE_EDIT', true);
}
Exemple technique : désactiver l’exécution PHP dans /uploads (serveur Apache)
Protection classique. À placer dans wp-content/uploads/.htaccess si l’hébergement le permet.
<FilesMatch "\.php$">
Deny from all
</FilesMatch>
Exemple technique : vérifier l’intégrité du core via WP-CLI
Utile pour détecter des fichiers modifiés ou inconnus.
wp core verify-checksums
wp plugin list --update=available
wp user list --role=administrator
Résultats observés
- Fin des redirections anormales et retour à une navigation stable.
- Site assaini et durci: mises à jour, WAF, protections formulaires et accès.
- Sauvegardes vérifiées et monitoring actif pour réduire l’incertitude.
- Contrôles Search Console et GA4 validés, avec une mesure à nouveau fiable.
Points clés à retenir
- Après un incident, la remise en état doit être suivie d’un durcissement réel, sinon la récidive est probable.
- Sauvegardes testées + monitoring sont la base d’une exploitation sereine.
- Les contrôles SEO (Search Console) font partie du retour à la normale, pas un détail.