Propulsant une partie importante du web mondial, WordPress s'avère une cible de choix pour une multitude d'attaques informatiques. Et cela lui vaut parfois une réputation peu enviable de solution peu sécurisée. Pourtant, si ton site WordPress est souvent la cible d'attaques externes, des solutions efficaces pour s'en prémunir existent et un ensemble de bonnes pratiques peuvent en limiter grandement les risques.
I. Avec quel(s) objectif(s) les hackers piratent ton site WordPress ?
Qu'on s'accorde sur une chose : A moins que tu gravites dans des milieux militants ou dans des activités douteuses, il y a peu de chances que le hacker en question t'en veuille personnellement.
La plupart des attaques contre les sites WordPress sont réalisées de manière automatiques par des hordes de robots. Par robots, entendons "des ordinateurs programmés pour cela". Il peut même s'agir d'autres sites hackés qui se mettent à hacker le tiens. Derrière, il y a toujours un humain bien entendu, mais ce dernier ne te vise pas toi personnellement.
L'argent comme principal mobile
Ce que recherche la personne derrière, le plus souvent, c'est de l'argent facile. Il pourra par exemple tenter de :
Ces scripts savent généralement se montrer discrets, leur objectif étant de rester le plus longtemps possible sur ton site pour accomplir leur mission. Ainsi, ils ne s'affichent généralement pas lorsqu'un administrateur est connecté.
N'oublions pas que si tout cela se fait en automatique, c'est que le procédé est rendu industriel. Le hacker cherche ici à faire du volume, et donc hacker un très grand nombre de sites à la fois.
La diffusion d'idées politiques
Une autre raison d'agir de cette personne peut être la diffusion d'idées politiques nauséabondes. Très fréquentes il y a quelques années, les activistes se livraient alors à des défaçages : Remplacer votre site par leur propagande. On constate moins d'attaques de ce genre désormais, mais cela reste un mobile reconnu d'attaque.
La collecte de données personnelles et bancaires
Il peut aussi vouloir s'emparer de tes données, et si celles-ci sont mal sécurisées, il y arrivera : Liste de tes utilisateurs (incluant leur nom, e-mail, mots de passes hashés...), tes dernières commandes e-commerce, bordereaux d'envoi, ou pire encore, des informations de facturation ou bancaires.
Ces informations, il pourra soit les revendre à des arnaqueurs, soit si vraiment elles sont critiques, te faire chanter en échange d'une rançon (les fameuses attaques aux cryptolockers).
L'utilisation de vos ressources pour des activités malveillantes
La dernière raison pour laquelle un hacker peut vouloir attaquer ton site est : Pour s'en servir de relais pour d'autres attaques.
Dans ce type d'attque, ton site rejoindra alors une petite armée d'autres "botnet" qui seront mobilisables pour effectuer des Attaques par Deni de Service (DDOS), envoyer des emails en masse (très clairement des SPAMS) ou encore... Hacker d'autres sites.
Un hacker ne va en effet pas hacker un serveur directement via son adresse IP personnelle, il va préférer masquer celle-ci en utilisant le tiens comme relais.
II. Comment les hackers parviennent à hacker ton site ?
Il y a une constante dans toutes les attaques informatiques : L'attaquant a profité d'une lacune du système, à un niveau ou un autre. L'idée pour se prémunir d'être attaqué, c'est donc de lui laisser le moins de portes d'entrées possibles, notamment en bannissant certaines mauvaises pratiques.
Ainsi, si ton site s'est fait hacker, c'est probablement que tu as fait au moins l'une des erreurs suivantes. Cette liste te donnera des pistes d'amélioration pour renforcer ta sécurité de ton site et éviter les ennuis.
Raison n°1 : Tu n'a pas mis à jour WordPress et ses plugins depuis un bon moment
WordPress traine la sale réputation d'être mal sécurisé par nature.
Rien n'est moins vrai : de par sa réputation et son usage très important, WordPress est au contraire un des système les plus audités et patchés au monde.
Les équipes qui conçoivent le CMS WordPress sont très réactives. Quand une faille est détectée (cela arrive malheureusement, comme sur tout autre système) les corrections sont généralement déployées très rapidement... Pour peu que tu effectues les mises à jour !
Une constante que j'ai noté sur 100% des sites hackés sur lesquels je suis intervenu, c'est que les mises à jour n'avaient pas été effecuées depuis un long moment.
Concernant les plugins, en revanche, tu es tributaire de leur éditeur respectif. En effet, quand une faille est découverte dans un plugin, c'est à son auteur d'effectuer la correction, et non à l'équipe de développement de WordPress.
Si le plugin est toujours maintenu à jour par une équipe sérieuse, il sera normalement mis à jour dès qu'une faille y sera détectée. Sache que pour figurer dans le catalogue des plugins WordPress, ces derniers sont généralement soumis à une batterie de tests pour valider leur non-dangerosité (Cela n'est toutefois pas une garantie formelle d'être protégé).
Dans tous les cas, cela demande toujours une action manuelle de ta part : Si tu as une petite bulle qui t'indiques que tu as "23 plugins en attente de mise à jour" dans ton backoffice, tu sais ce qu'il te reste à faire !
Raison n°2 : Tu utilises un plugin ou un thème qui n'est plus maintenu par son auteur
Certains plugins ont parfois été mis à jour il y a plusieurs années et le développeur est parti vers d'autres aventures. Prudence donc dans l'usage de plugins à la portée confidentielle, et qui ne sont plus maintenus depuis un moment (L'information est facilement accessible depuis le catalogue des extensions WordPress).
Si un plugin n'est plus mis à jour depuis un long moment, mieux vaudrait le supprimer et le remplacer par une solution plus récente ou développée (correctement) sur-mesure.
Attention : Désactiver une extension obsolète ne suffit pas, car elle reste accessible pour un éventuel attaquant qui connaitrait l'URL exacte des fichiers (facilement devinable pour les extensions connues). le seul moyen de vraiment retirer une extension est de la supprimer définitivement via la backoffice ou en FTP.
Raison n°3 : Tu as installé une version vérolée d'un thème ou d'un plugin Premium
Les thèmes et plugins Premium sont parfois onéreux, et il peut être tentant d'en dégoter une version "nulled" sur des sites douteux.
Je ne suis pas ton père, tu fais ce que tu veux.
Sache en revanche que les thèmes et plugins WordPress crackés sont des vecteurs d'attaque importants pour ton site : Il suffit aux malfrats de te fournir une version légèrement différente du plugin, qui fonctionnera en tout point de la même manière que l'originale, mais qui contiendra une porte dérobée (ou backdoor) pour permettre une attaque discrète à un moment où tu ne t'y attendra pas.
Par ailleurs tu n'auras pas accès aux mises à jour de sécurité de l'éditeur, ce qui augmente d'autant les possibilités de te faire attaquer.
Crois-moi, tu ferais mieux d'acheter ce plugin/ce thème et de le mettre à jour régulièrement.
Raison n°4 : Tu as fait des développements spécifiques sans te soucier de la sécurité
Développer un site WordPress, c'est composer avec un code plutôt minimaliste avec peu de couches d'abstractions. Ce code se repose sur un langage (PHP) qui lui n'est pas sécurisé de nature : à l'instar de tout autre framework PHP, rien dans le code de WordPress n'empêche de développer des failles de sécurité.
Ainsi, même si il ne t'y incite pas explicitement, WordPress ne lèvera aucune erreur ou avertissement si tu codes avec les pieds. Et si tu ne te préoccupes pas de la sécurité, tu auras vite fait d'induire des failles de types XSS, c'est une certitude.
Les données issues de tes formulaires doivent systématiquement être nettoyées au moyen des fonctions dédiées de WordPress (cela fera certainement l'objet d'un article à part entière).
De la même manière, tous les formulaires devraient être protégés des failles CSRF au moyen des nonce. C'est le cas dans la plupart des plugins de formulaires, mais gare aux développements spécifiques "vite-fait bien-faits" !
Globalement si ton code contient l'une de ces fonctions ou variables PHP, tu prends de gros risques :
Raison n°5 : Tu as copié du code non sécurisé depuis StackOverflow
Ce point est une variante du point précédent mais auquel on pense moins. Mise en situation :
Il y un an tu as cherché comment régler un problème particulier et un peu compliqué. Tu as trouvé une solution en copiant du code que tu comprenais à moitié depuis un topic StackOverflow. Le message de Lulu26, posté en 2014 t'a beaucoup aidé et tu as copié sa solution sans te poser trop de questions.
Or, si Lulu26 n'était pas mal intentionné, il t'a en revanche proposé un code mal sécurisé, qui a induit des failles dans ton code source.
Alors prudence, et relis toujours, en t'efforçant de le comprendre, le code que tu intègres à ton application.
Raison n°6 : Tu t'es contenté d'installer WordPress sans davantage de configuration
Sécuriser efficacement une installation WordPress demanderait certainement un article complet, voir davantage. Celui-ci sortira certainement un jour.
De manière générale, je te mets quelques pistes pêle-mêle :
Raison n°7 : Tu as laissé en accès libre des informations qui n'avaient rien à faire là
Petit rappel : Ton site WordPress n'est pas ton espace de stockage personnel.
Certaines personnes ont parfois tendance à l'oublier, mais ton site a beau disposer d'un espace disque généreux, accessible facilement en FTP, il reste accessible en ligne par n'importe qui. Il n'est donc pas voué à remplacer ton compte DropBox ou WeTransfer.
Si cela peut être tentant de stocker un lourd fichier sur l'espace web de son site web pour l'envoyer à un ami ou collègue, n'oublies pas en revanche que c'est autant d'informations auxquelles un potentiel attaquant aura accès.
Raison n°8 : Il y a des sites mal sécurisés sur la même installation que ton site principal
Tu as tout bien protégé, et pourtant ton site s'est quand même fait hacker !
J'ai déjà assisté à plusieurs cas de ce type et la raison était... Qu'une autre installation WordPress présente sur le même serveur était mal sécurisée. Une fois qu'ils sont parvenus à pénétrer sur votre site, les hackers parviennent généralement à remonter l'arborescence des répertoires et à trouver d'autres sites WordPress à hacker.
On les oublie très souvent, mais les preprod qui ne sont plus mis à jour après les lancements de projets ou le site du pote hébergé à côté du tiens sont eux aussi des portes d'entrées pour mener une attaque. Ils devraient être sécurisés de la même manière, à défaut d'être réellement compartimentés dans un espace web bien distinct. (Voir Comment sécuriser correctement sa préprod)
Je suis par ailleurs quasiment certain que sur au moins un de tes site, tu as ce petit dossier backups
ou old
à la racine de l'installation, contenant le code source de ton site d'il y a 2 ans, pas mis à jour depuis. Du petit lait pour un attaquant : supprimes donc ce dossier dont tu ne fera plus jamais rien !

Tu dois ainsi faire preuve de vigilance sur l'ensemble des fichiers présents sur ton serveur, et non uniquement donc le petit dossier où tu as l'habitude de travailler.
Raison n°9 : Tu as utilisé un mot de passe trop peu robuste
Le moyen le plus simple de rentrer dans une maison, ça reste par sa porte d'entrée. Si celle-ci est ouverte, ou bien fermée au moyen d'une simple ficelle, il ne sera pas difficile pour un cambrioleur d'y accéder. Il en va de même pour ton site WordPress.
Aussi, on ne le répétera jamais assez, mais les mots de passes doivent être robustes et à usage unique. Ils devraient être changés régulièrement, notamment à l'occasion du départ d'un collaborateur de ta structure.
Je vois encore trop d'organisations garder les mêmes mots de passes des années, ou les réutiliser partout, par habitude et confort.
Et comme il n'est pas forcément facile ni souhaitable de retenir des centaines de mots de passes, de nombreuses solutions existent pour les stocker de manière sécurisée. Intéresses-toi à Dahslane ou LastPass pour les solutions commerciales. Ou KeePass si tu souhaites garder un contrôle total sur ces données et leur hébergement.
Conclusion
Si WordPress est robuste et conçu pour se montrer résilient face aux attaques informatiques, nombreux sont les facteurs pouvant fragiliser sa sécurité. En effet, la plupart des failles exploitées lors d'attaques informatiques relèvent des mauvaises pratiques et usages qui sont fait de cet outil.
Est-il bien pertinent de blâmer WordPress pour le mauvais usage qui peut en être fait ?
Si votre site WordPress s'est fait hacker
Votre site WordPress a été victime d'une attaque ?
Si tu ne parviens pas à corriger la faille ou que tu souhaites t'assurer que celle-ci est bien réparée : N'hésites pas à prendre contact avec moi, nous pouvons corriger ton problème rapidement et de manière pérenne.