Cet article a déjà 1 année. Les informations que vous y trouverez seront probablement d'une grande aide, cependant, on n'est jamais à l'abri de certains passages obsolètes. Vous êtes prévenu, bises.

Se faire hacker son site n’est pas un mythe ! Surtout avec WordPress qui est de loin le CMS le plus populaire au monde et qui dit « populaire » dit, « cible privilégiée des hackers ».

Les motivations des pirates sont simples, faire intrusion dans votre site WordPress, voire carrément sur votre serveur, pour y insérer des liens vers des produits commerciaux, des logiciels de types malwares en téléchargement automatique, ou même, des mini sites complets, planqués sur votre serveur, pour y pratiquer ce qu’on appel du « phishing ».

Pour arriver à leurs fins, les pirates profitent des très nombreuses failles de sécurité connues de WordPress et détrompez-vous, ça marche ! Se faire hacker son WordPress n’arrive pas qu’aux autres.

Une petite négligence, et vous devrez dépenser gros pour effectuer un nettoyage efficace de tout votre site, tous vos mots de passe, et aussi la remise en liste blanche de votre site auprès des organismes concernés.

Comment sécuriser son site WordPress à coup sûr ?

Même si le risque zéro n’existe pas, il y a une foule de petits gestes à effectuer pour mener la vie dure aux hackers.

Les mises à jour

Mettez à jour votre version de WordPress, vos plugins et votre thème. Exploiter leurs failles de sécurité est la meilleure arme des pirates.

Une nouvelle version de WordPress est disponible.

Le choix du bon type d’hébergement

Personnellement, j’évite les offres d’hébergement mutualisé multisites car tous les espaces Web sont placés dans un seul et même répertoire. Si un seul de vos sites comporte une faille de sécurité et qu’il se fait avoir, c’est tous vos sites qui seront hackés et blacklistés de Google, entre autres ! C’est donc encore plus de désagréments et de travail pour le nettoyage si cela arrive. Veillez donc à choisir une solution cloisonnée, donc au moins un petit VPS. Cela vous coûtera l’équivalent de quelques Big Mac™, mais rappelez-vous que l’hébergement est l’un des investissements les plus importants pour votre présence sur Internet !

Le choix du bon hébergeur

Je n’irais pas par quatre chemins, je vous conseille PlanetHoster. Voilà !

Pourquoi choisir PlanetHoster ?

J’ai changé d’hébergeur il y a 2 ans tout ronds, encore une fois. Je suis très exigeant pour le hosting !

J’ai choisi PH car ils avaient une excellente réputation en matière de support technique et de réactivité. J’ai découvert avec eux le confort d’un hébergeur qui offre une première couche d’infogérance dans son offre, sans non plus ruiner ses clients. Le pied total ! 🙂

Et pourtant, au départ, PH m’avait surpris et déçu sur un point ! Je trouvais ses mesures sécuritaires excessives. Si vous tentiez de vous connecter à votre site avec un mauvais mot de passe, quelques erreurs suffisaient à alerter leur Firewall et donc faire blacklister complètement votre adresse IP de leur réseau. Obligé de les contacter pour se faire débloquer !

Aujourd’hui, c’est cette même chose qui m’agaçait il y a 2 ans qui me fait me sentir relax ! Car oui, je me suis déjà fait hacker des sites WordPress, et je vous jure qu’avoir un hébergeur qui est hyper à cheval sur la sécurité, c’est un avantage !

Parfois, c’est vrai, j’ai des clients qui me contactent en gueulant, car ils se sont fait blacklisté par PlanetHoster après s’être planté 10 fois de mots de passe. Moi je dis « tant mieux » ! Ça veut dire que le pirate qui fera pareil se retrouvera dans l’impossibilité d’aller plus loin. En plus, leur support est très rapide. Ils me débloquent toujours mes IP en moins de 5 minutes.

Merci PlanetHoster !

Le bon sens

C’est principalement lors de l’installation du CMS qu’il faudra être vigilant. Choisir un identifiant et un préfix de base de données non standard rendra la tâche plus difficile aux pirates. Concrètement, choisissez un autre login que « admin », « administrateur », ou le nom de votre site, par exemple : nom.prenom. De même, évitez le préfix de tables MySQL « wp_ », choisissez par exemple « wpmr_ ».

Installation de WordPress : personnalisez tout ça !

De même, choisissez un mot de passe complexe contenant au moins une majuscule, un chiffre et un caractère spécial. Les hackers utilisent des dictionnaires de mots très complets pour tenter d’accéder aux sites. Rendez cette pratique inexploitable.

Les sauvegardes

Cela ne rendra pas votre site plus sécurisé. En revanche, cela vous permettra de rapatrier une version clean de votre site assez rapidement. Je vous expliquerai dans un prochain article comment réaliser vous-même une sauvegarde complète de votre site, gratuitement.

Les plugins pour renforcer la sécurité de WordPress

Top 5 des meilleurs plugins pour sécuriser son site

Conseil 1 : plusieurs de ces plugins vous offrent d’envoyer des notifications par e-mail en cas de changement sur votre site ou de tentative de connexion à votre tableau de bord. Personnellement, je vous conseille de désactiver la plupart des notifications, car cela envoie vraiment beaucoup trop de mails. Votre boite sera vite inondée ! Gardez simplement les logs internes pour une analyse à postériori des actions effectuées sur votre site, uniquement en cas de piratage. Mais puisque vous avez été attentif aux instructions de cet article, heureusement, vous ne devriez jamais avoir à les utiliser. 😉

Conseil 2 : certaines de ces extensions offrent des fonctionnalités redondantes à d’autres, mais chacune d’elles a sa petite exclusivité. Si vous ne désirez pas toutes les configurer sur votre WordPress, étudiez bien, ci-dessous, ces brèves analyses fonctionnelles pour faire votre choix.

1. BulletProof Security

Ce plugin permet, entre autres, de renforcer la sécurité générale de votre site en blindant votre fichier .htaccess de pleins de règles sécuritaires indispensables. Il offre également quelques autres options supplémentaires sympas. Pour débuter avec ce plugin, rendez-vous dans « Setup Wizard » et laissez-vous guider.

bulletproof security

Principales fonctionnalités de l’extension BPS Security
  • Possibilité de créer un fichier .htaccess contenant de nombreuses règles de sécurité qui rendent l’accès à votre site plus difficile aux pirates (blocage de zones sensibles, etc.). Le tout est configurable grâce à plusieurs éditeurs de fichiers .htaccess disponibles directement dans votre interface WordPress.
  • Propose des options de protection contre les attaques de force brute : nombre de connexions en échec limité, etc.
  • Conserve l’historique des connexions à votre interface.
  • Propose une option de déconnexion automatique en cas d’inactivité, personnalisable en fonction des rôles utilisateur.
  • Possibilité de faire des backups de sa base de données.
  • Possibilité d’afficher une page de maintenance, ce qui évite de devoir installer un plugin à cet effet.

2. Sucuri Security

Grâce à lui, vous pourrez scanner votre CMS pour en vérifier l’intégrité. Il est principalement tourné vers l’analyse de vos fichiers, les audits de sécurité ainsi que la détection de malwares. Il vous offre également une série d’options « d’hardening » indispensables.

sucuri security hardening

Principales fonctionnalités de l’extension Sucuri Security
  • Comme BPS, il propose un historique des connexions à votre site, ainsi que les connexions ayant échouées, en fournissant des informations sur le navigateur ainsi que le type de machine utilisée.
  • Il offre également la liste des actions effectuées par les utilisateurs ou le système lui-même. Pour un historique d’évènements encore plus complet, installez WP Security Audit Log.
  • Il permet de scanner son site pour vérifier la présence ou non de malwares.
  • Il offre une foule d’options de durcissement pour mener la vie dure aux pirates.
    • Masquer votre version de WordPress dans le code source.
    • Empêcher l’exécution de scripts PHP dans votre dossier « /uploads/ ».
    • Modifier votre login administrateur si celui-ci est « admin ».
    • Désactiver l’éditeur de code depuis l’interface WordPress.
    • Modifier le préfix de la base de données si celui-ci est « wp_ ».
  • Il permet de changer ses « security keys », un indispensable lorsqu’on vient de se faire hacker.

3. Wordfence Security

C’est le plugin de sécurité le plus téléchargé sur WordPress.org avec plus d’un million d’installations. Comme les autres extensions, il propose différents tests inédits permettant d’évaluer le niveau de sécurité de votre site. De plus, ce plugin vous permettra d’analyser en temps réel la légitimité du trafic de votre site, vous permettant même de bannir une adresse IP suspecte d’un simple clic.

wordfence scan

Principales fonctionnalités de l’extension Wordfence Security
  • Il scan vos fichiers, vos contenus et les commentaires de votre blog à la recherche d’URLs qui seraient connues de Google (Google Safe Browsing) comme ayant été infectées par des malwares. Ce scan vous évite de faire des liens vers des sites reconnus comme « dangereux », ce qui serait très néfaste pour votre référencement.
  • Il compare les fichiers sources de votre installation de WordPress avec les fichiers sources originaux de WordPress.org pour y détecter des modifications malicieuses (comme iThemes Security).
  • Il compare les fichiers sources de vos plugins gratuits avec les fichiers originaux disponibles sur WordPress.org (exclusif à Wordfence).
  • Il dresse une liste de possibles problèmes techniques pour votre site : thème ou extensions à mettre à jour, scripts PHP détectés dans votre dossier « wp-content » et pouvant être malicieux, configuration DNS litigieuse, manque d’espace disque sur votre serveur, etc.
  • Possibilité de bannir de votre site des adresses IP, ou des plages d’adresses IP complètes.
  • Possibilité de faire un Whois d’un nom de domaine ou d’une IP directement depuis votre interface WordPress.
  • Possibilité de bannir de votre site tous les accès depuis certains pays. (Payant)
  • Sur base d’un dictionnaire de faux mots de passe (composé de 260 millions de chaînes de caractères), il simule une tentative de hacking de votre identifiant afin de vérifier son niveau de sécurité. (Payant)
  • Permet de voir l’activité en temps réel sur votre site (utilisateurs en ligne, pays, adresses IP…). Vous trouverez peut-être cette fonctionnalité utile à activer ou non de façon périodique. Perso, je ne l’utilise pas. Il me semble qu’elle utilise pas mal de ressources serveur, y compris en base de données. Je pense aussi qu’elle n’est pas compatible avec certains plugins de mise en cache ou des solutions CDN globales comme CloudFlare. Donc si vous êtes intéressé par cette fonctionnalité à vous d’investiguer plus en avant.

Wordfence offre également un système de mise en cache des pages de votre site (le fameux Falcon Engine), permettant de réduire la charge de votre serveur en cas d’attaque. Cependant, d’autres solutions sont biens meilleures dans ce domaine. Ça sera l’objet d’un prochain article.

Malheureusement, quelques gros points noirs pour ce plugin

Beaucoup d’options ne sont accessibles qu’aux utilisateurs payants uniquement. Dans la version gratuite, vous ne pourrez même pas décider à quelle fréquence le fameux « security scan » Wordfence s’exécutera. Wordfence décide pour vous.

Autre défaut majeur, j’ai détecté que Wordfence était une source de ralentissement pour certains des sites dont j’ai la charge. Parfois jusqu’à 2 secondes supplémentaires pour charger une page ! Faites attention à cela. Pingdom est votre ami.

4. iThemes Security

Ce plugin complète bien les options de Sucuri avec entre autres, la fonction qui permet de comparer les fichiers de votre site avec les sources originales issues de WordPress.org. iThemes vous donnera accès à une check-list gigantesque d’actions à entreprendre pour rendre le piratage de votre site plus compliqué (l’hardening, encore). L’avantage est que ces actions sont classées par priorités, de la plus vitale à la simple suggestion. Il est notamment utile pour bloquer l’accès à un fichier bien connu des hackers, le xmlrpc.php.

iThemes security

Principales fonctionnalités de l’extension iThemes Security
  • Permet de désactiver le XML-RPC d’un simple clic. Pour un site simple n’utilisant aucune fonctionnalité de ce protocole, vous pouvez désactiver ce fichier. Dans mon cas, étant utilisateur de JetPack, je ne désactive pas xmlrpc.php, mais j’active Brute Protect (de JetPack).
  • Permet de déterminer le nombre d’essais de connexions infructueuses avant bannissement ainsi que la durée du bannissement (alternative au plugin Limit Login Attempts). Possibilité d’ajouter son adresse IP à une Whitelist pour éviter de se faire bannir par erreur.
  • Permet de forcer vos membres à choisir un mot de passe complexe.
  • Propose d’empêcher de naviguer dans les répertoires de votre serveur (par exemple, les dossiers d’images, etc.).
  • Permet d’un simple clic de renommer votre répertoire « wp-content » en autre chose. Par exemple « mon-contenu ». Cela brouillera encore plus les pistes.
  • Comme les autres plugins de sécurisation de votre site, il propose un historique des connexions à votre WordPress.
  • Comme Sucuri Security :
    • Permet de changer le préfixe « wp_ » de vos tables MySQL.
  • Comme BulletProof Security (mais en mieux) :
    • Possibilité de faire des backups périodiques de votre base de données.
  • Permet de personnaliser l’adresse de connexion à votre interface de connexion (wp-login.php, /wp-admin/), réduisant fortement le risque d’accès à votre espace privé (alternative au plugin WPS Hide login).

Vous souhaiterez peut-être installer ce plugin après tous les autres, ou pas du tout. Je vous suggère tout de même de le tester, ne fut-ce que momentanément, pour vérifier la check-list sécuritaire qu’il vous offre. Cela vous permettra d’un seul coup d’oeil de voir ce que les autres plugins auraient pu oublier de sécuriser.

5. WPS Hide login

Ce plugin très simple et léger viendra s’ajouter dans les réglages généraux de votre interface WordPress pour vous permettre de changer l’adresse de connexion à votre site et ainsi réduire les risques d’accès illicites à votre tableau de bord WordPress. Cette fonctionnalité est redondante à l’option « Hide Login Area » d’iThemes Security. Donc, n’installez cette extension que si vous ne désirez pas installer iThemes.

wps hide login

Comment savoir si on s’est fait hacker ?

En général, c’est votre hébergeur qui va vous contacter après avoir reçu une plainte à l’adresse abuse@votre-hebergeur.com. S’il est gentil, il va vous laisser quelques heures pour nettoyer à fond votre site, mais souvent, il vous bloquera purement et simplement pour sauvegarder sa réputation protéger les internautes.

Mail de signalement d'un site infecté, dangereux pour le reste du Web

Si vous surveillez de près les rapports d’analyse des plugins que je vous ai conseillés, vous détecterez peut-être un hack avant tout le monde. Mais c’est beaucoup de travail. Il est peu probable que vous lisiez anticipativement ces logs avec votre café chaque matin (ou alors vous êtes un grand malade 😀 ).

D’autres fois, vous constaterez le hack grâce à Google, soit parce que vous aurez vu une notification apparaitre dans votre Google Search Console, soit parce que vous aurez constaté que votre site est blacklisté dans les résultats de recherche, et donc que votre trafic est redirigé vers une page vous accusant d’être un site malveillant.

Ce site risque d'endommager votre ordinateur

Plus rare (on n’est plus en 2005) votre page d’accueil sera remplacée par un message un peu glauque à la gloire du pirate qui vous aura piégé.  Cette situation peut paraitre effrayante, c’est pourtant la plus inoffensive. Ce type de hacker fait ça pour le sport et vous envoie une sorte « d’avertissement ». Ils laissent souvent leur adresse e-mail afin que vous puissiez leur demander plus de détails sur la manière dont ils ont opéré et comment sécuriser définitivement votre site.

Vous vous êtes fait hacker.

Tu n’as pas parlé du protocole HTTPS ?

Désolé, je n’ai pas voulu m’attarder sur ce point, car cela pourrait faire l’objet d’un article entier. Je vous laisse simplement ces quelques mots d’explication.

Le protocole HTTPS est la version sécurisée du HTTP. Lorsqu’un internaute visite un site en HTTP, les données sont transmises en clair à travers le réseau. Cela peut-être des mots de passe ou des codes bancaires. Un pirate expérimenté pourrait donc les intercepter, ce qui peut poser quelques problèmes que vous imaginez facilement. Lorsque la connexion se fait en HTTPS, les données transmises sont cryptées… Le hacker peut toujours les intercepter, mais ne pourra en aucun cas les décrypter.

Pour mettre cela en œuvre sur votre site et être à la pointe niveau sécurité, prenez contact avec votre hébergeur qui pourra vous aiguiller.

Edit 2 déc. 2015 : j’ai fini par vous rédiger un article sur WordPress et le HTTPS, enjoy !

Conclusion sur la sécurité sous WordPress

  • Globalement, si vous êtes réactif sur les mises à jour de WordPress, en particulier les plugins, vous réduisez déjà beaucoup les risques.
  • Ensuite, un hébergeur avec un Firewall puissant pourra vous sauver dans de nombreux cas, ne fut-ce que pour les surcharges serveur en cas d’attaque. Je ne peux vous conseiller que PlanetHoster. Les autres hébergeurs que je connais ne proposent pas ce type de protection.
  • N’oubliez pas de personnaliser au maximum les champs de l’installation de WordPress.
  • Faites des sauvegardes régulières de votre site avec plusieurs jours de rétention.
  • Passez votre site à la moulinette des « security plugins » que je vous ai présenté et activez les options de durcissement qu’ils proposent.
  • Changer l’adresse de connexion à votre tableau de bord est un plus.

Avec tout ça, votre site ne risque plus grand chose ! Et si tout cela vous semble insurmontable, vous pouvez toujours faire appel à un expert en sécurité WordPress ( moi 😀 ).

Vous êtes-vous déjà fait hacker un site WordPress ? Comment cela s’est-il passé pour vous ? 

Vos commentaires sont très appréciés ci-dessous !

Veuillez cependant respecter les bonnes pratiques de commentaires sur les blogs, sinon votre message s'autodétruira après 10 secondes entre mes mains.

  • Vous devez avoir lu l'article, sinon je m'en rendrais compte, et boom !
  • Vous ne pouvez renseigner aucun mot clé SEO dans le champ "nom" (pseudo, nom de société, pas de souci).
  • Vous pouvez renseigner votre "Site Web", vous aurez un lien dofollow, je suis gentil. Par contre, gardez à l'esprit qu'il s'agit d'un lien qui sert à vous identifier en tant qu'individu (site de votre société, votre blog perso, votre chef d'œuvre WordPress...). Je refuse donc : les sites de vos clients, les pages internes que vous peinez à booster, les MFAs sans intérêt, les serruriers, rachats de crédits et autres saloperies.
  • Vous devez avoir un avis sur le sujet abordé (même contradictoire) ou au moins poser une question pertinente. Si vous souhaitez juste me montrer votre gratitude éternelle, faites-le avec un retweet ou un partage Facebook. Donc pas de "merci très bel article" qui n'apporte rien.

À vos plumes !