Prendre rendez-vous
WordPress & technique

Site WordPress piraté : que faire, dans l’ordre

Votre site WordPress est piraté : les six gestes à faire dans l’ordre, ce qu’il ne faut surtout pas faire, l’obligation belge que presque personne ne connaît, et comment reprendre la main sur Google.

Écran d’ordinateur portable affichant une page d’erreur 404

Comment on apprend qu’on est piraté

Presque jamais par soi-même. Dans les cas que je vois, l’alerte vient de trois endroits.

Un client vous appelle. Il a cliqué sur votre site depuis Google et il est tombé sur une pharmacie en ligne, un casino, ou une page en japonais. Chez lui, ça redirige ; chez vous, tout va bien — c’est le piège le plus courant, j’y reviens plus bas.

Google affiche un avertissement dans ses résultats, du type « Ce site est peut-être piraté ». Vos visiteurs le voient avant vous. Vos positions ne bougent pas encore, mais plus personne ne clique.

Votre hébergeur suspend le site. C’est brutal et c’est souvent le meilleur scénario : ça veut dire que l’infection a été détectée tôt, avant que Google ne l’indexe.

Le point commun des trois : au moment où vous l’apprenez, l’intrusion a généralement plusieurs jours, parfois plusieurs semaines.

La première heure : ce qu’il ne faut surtout pas faire

Trois réflexes aggravent la situation, et ce sont précisément les trois premiers qui viennent à l’esprit.

Restaurer une sauvegarde immédiatement. C’est le plus tentant et le plus coûteux. Si vous restaurez une copie d’il y a trois jours alors que l’intrusion date de trois semaines, vous remettez en ligne un site déjà infecté. Et même avec une sauvegarde parfaitement saine, la faille qui a servi d’entrée est toujours là : le robot qui l’a trouvée la retrouvera, souvent dans les heures qui suivent.

Tout supprimer pour « repartir propre ». Vous détruisez les traces dont vous aurez besoin pour comprendre par où c’est entré — et, si des données personnelles sont concernées, celles que l’Autorité de protection des données peut vous demander.

Changer le mot de passe administrateur et considérer l’affaire close. Un site compromis contient presque toujours une porte dérobée : un fichier anodin, déposé ailleurs que dans les répertoires évidents, qui permet de revenir sans mot de passe. Le mot de passe n’est plus le sujet.

Les six gestes, dans l’ordre

1. Couper l’accès public. Mode maintenance ou page d’attente. Vous arrêtez l’hémorragie : plus de visiteurs exposés, plus de pages spam indexées, plus de mails frauduleux envoyés depuis votre domaine.

2. Prévenir votre hébergeur. Il voit des choses que vous ne voyez pas : les journaux d’accès, les processus suspects, les autres sites du même serveur. Chez un hébergeur mutualisé, l’infection vient parfois d’un site voisin. Il peut aussi avoir une copie plus ancienne que la vôtre.

3. Garder une copie du site infecté. Fichiers et base de données, mis de côté, sans y toucher. C’est votre seule chance de répondre plus tard à la question « par où est-ce entré ? », et votre seule pièce justificative si l’incident a des suites.

4. Changer tout ce qui donne accès. Mots de passe administrateurs WordPress, FTP/SFTP, base de données, panneau d’hébergement, et les comptes mails du domaine. Puis les clés de sécurité dans le fichier wp-config.php : les regénérer déconnecte toutes les sessions ouvertes, y compris celle du pirate, ce qu’un simple changement de mot de passe ne fait pas.

5. Inspecter les comptes administrateurs. Un compte que vous ne reconnaissez pas, créé récemment, avec une adresse mail inhabituelle : c’est la signature la plus fréquente. Vérifiez aussi les comptes légitimes dont le rôle est passé à administrateur.

6. Nettoyer seulement maintenant. Et pas avec un seul plugin de sécurité : ils repèrent l’essentiel des infections connues, pas les fichiers modifiés subtilement ni les portes dérobées bien écrites.

Nettoyer n’est pas restaurer

Le nettoyage sérieux suit toujours la même logique : remplacer tout ce qui peut l’être par des versions officielles, et inspecter à la main le peu qui reste.

Le cœur de WordPress se réinstalle intégralement — aucun fichier du cœur n’a de raison d’être modifié. Les extensions et le thème se réinstallent depuis leur source officielle, et toute extension nulle (« nullée », piratée) se supprime, sans discussion : c’est le vecteur d’infection le plus fréquent après l’extension non mise à jour.

Restent trois endroits où il faut regarder soi-même : le dossier wp-content/uploads, qui ne doit contenir que des médias et jamais de fichiers PHP ; le fichier wp-config.php et le .htaccess, où se cachent les redirections ; et la base de données, où le spam s’injecte dans les options et les articles.

Si vous voulez savoir où en est votre site avant d’en arriver là, j’ai décrit comment auditer un site WordPress soi-même — la même méthode sert à vérifier qu’un site nettoyé l’est vraiment.

La redirection qui ne se déclenche que chez les autres

C’est le symptôme qui rend les gens fous, et il correspond à une recherche fréquente : le site redirige vers un site douteux, mais seulement quand on arrive depuis Google, ou seulement sur téléphone, ou seulement pour les visiteurs non connectés.

Ce n’est pas votre imagination. Le code injecté vérifie d’où vient le visiteur et qui il est. Connecté à l’administration, avec votre navigateur habituel : rien ne se passe. C’est voulu — plus l’administrateur tarde à voir le problème, plus l’infection vit longtemps.

Pour vérifier, sortez de votre contexte : fenêtre de navigation privée, téléphone en données mobiles, et surtout un clic depuis les résultats de Google plutôt qu’une adresse tapée à la main. Si vous voyez des pages qui ne sont pas les vôtres dans Google en cherchant site:votredomaine.be, c’est que le spam est déjà indexé.

L’obligation belge que presque personne ne connaît

Un site vitrine piraté, c’est un incident technique. Un site qui contient des données personnelles — formulaires de contact archivés, comptes clients, commandes, newsletter — c’est potentiellement une violation de données au sens du RGPD.

Dans ce cas, l’article 33 impose de notifier l’Autorité de protection des données dans les 72 heures suivant le moment où vous en prenez connaissance, sauf si la violation est peu susceptible d’engendrer un risque pour les personnes concernées. Au-delà, la notification doit expliquer le retard. Et ce n’est pas théorique : l’APD a déjà prononcé un avertissement et une réprimande pour un défaut de notification.

Même quand la notification n’est pas nécessaire, vous devez consigner l’incident en interne : ce qui s’est passé, ce que vous en avez conclu, ce que vous avez fait.

Deux démarches complémentaires, facultatives pour une PME : signaler l’incident au Centre pour la cybersécurité via cert.be, et déposer plainte à la police si vous subissez un préjudice. Le signalement au CCB ne remplace pas la notification à l’APD — ce sont deux choses différentes.

Reprendre la main sur Google

Un site propre dont Google ignore qu’il est propre reste un site perdu pour vos clients.

Ouvrez la Search Console, section Sécurité et actions manuelles › Problèmes de sécurité. Si Google a détecté l’infection, le type de problème y est décrit, avec des exemples d’URL touchées. Une fois le nettoyage terminé, demandez un examen : l’avertissement disparaît des résultats quand il aboutit, en général en quelques jours.

Vérifiez ensuite ce qui a été indexé pendant l’infection. Les pages spam doivent renvoyer une erreur 404 ou 410, et vous pouvez demander leur retrait. Surveillez enfin vos impressions pendant quelques semaines : une chute qui se prolonge après le nettoyage est le signe qu’il reste quelque chose.

Ne pas y revenir

Le nettoyage traite le symptôme. La cause est presque toujours la même : selon le rapport annuel de Patchstack, l’écrasante majorité des vulnérabilités WordPress se trouvent dans les extensions — pas dans le cœur, pas chez l’hébergeur.

Quatre habitudes suffisent à écarter la quasi-totalité des attaques automatisées : mettre à jour sans attendre, supprimer les extensions et thèmes inutilisés plutôt que les désactiver, disposer de sauvegardes externes dont vous avez déjà testé la restauration, et activer la double authentification sur les comptes administrateurs. Le choix de l’hébergement compte aussi, et j’en ai parlé dans l’hébergement WordPress en Belgique et en Europe ; les raisons de fond de tout ceci sont détaillées dans pourquoi la maintenance n’est pas optionnelle.

Si vous préférez que quelqu’un s’en occupe à votre place — et qu’il décroche le jour où ça tourne mal —, c’est l’objet de ma maintenance WordPress.

Questions fréquentes

Combien de temps faut-il pour nettoyer un site WordPress piraté ?

Pour une infection classique sur un site de taille normale, comptez une journée de travail : identification, nettoyage, remise en ligne, demande d’examen à Google. Ce qui allonge les délais, ce n’est pas le nettoyage, c’est l’absence de sauvegarde saine et la recherche de la faille d’origine. Et il faut ensuite quelques jours pour que l’avertissement disparaisse des résultats de recherche.

Un plugin de sécurité suffit-il à nettoyer mon site ?

Il détecte l’essentiel des infections connues et c’est un excellent point de départ, mais il ne remplace pas une vérification manuelle. Les portes dérobées bien écrites ressemblent à du code légitime, et un fichier du cœur modifié d’une seule ligne passe sous le radar de beaucoup d’analyses automatiques. Le scan dit « il y a quelque chose » ; il ne dit pas « il n’y a plus rien ».

Mon hébergeur a suspendu mon site : que dois-je faire en premier ?

Le contacter, avant toute chose. Il dispose des journaux d’accès qui montrent l’entrée, parfois d’une sauvegarde plus ancienne que la vôtre, et c’est lui qui rétablira l’accès une fois le site assaini. Profitez de la suspension : tant que le site est hors ligne, l’infection ne se propage plus et Google n’indexe plus rien de nouveau.

Dois-je prévenir mes clients ?

Si leurs données personnelles ont pu être touchées et que la violation présente un risque élevé pour eux, oui : le RGPD l’impose, en plus de la notification à l’Autorité de protection des données. Dans le doute, documentez votre analyse. Une communication simple et factuelle est toujours mieux reçue qu’un silence découvert plus tard.

Le site est nettoyé, mais Google affiche encore l’avertissement.

C’est normal : il ne disparaît pas tout seul. Il faut demander un examen depuis la Search Console, section Problèmes de sécurité. Si l’examen est refusé, c’est qu’il reste du code infecté quelque part — souvent dans la base de données ou dans un fichier déposé hors des répertoires WordPress habituels.

À lire ensuite

Réserver un appel

Réservez un premier échange avec Julien

30 minutes, gratuit, sans engagement — en visio ou par téléphone.

Chargement de l’agenda…

Vous préférez appeler ? +32 489 58 18 48 · contact@agenceopenweb.be