On reproche souvent à WordPress d’avoir plusieurs failles de sécurité qui font de lui une solution qu’évitent plus d’un développeur, voire même des clients ayant des idées reçues sur ce CMS.
Contrairement, on reproche beaucoup moins aux utilisateurs de ce CMS de ne pas faire l’effort de sécuriser leur site WordPress. L’installation d’un site WordPress se fait en un rien de temps comparé aux autres solutions existantes. Mais en se limitant à cette installation, plusieurs portes d’attaques restent ouvertes aux pirates.
Nous allons voir dans ce tutoriel comment sécuriser son site WordPress avec le plugin Better WP Security en se protégeant contre les formes d’attaques les plus courantes.
Sécuriser son Site WordPress avec Better WP Security
Better WP Security est un plugin qui aborde un grand nombre de problèmes de sécurité les plus courants affectant les sites WordPress. C’est est une sorte de couteau suisse pour les problèmes de sécurité de WordPress. Pour le mettre en place, ça peut être un peu délicat, voire dangereux parfois. Dangereux car il est possible de vous retrouver banni de votre propre site web et perdre l’accès à votre page d’authentification. Nous allons donc voir comment manipuler avec précaution ce plugin de afin de sécuriser notre site WordPress.
Après l’installation du plugin, un nouvel item intitulé « Sécurité » s’affiche dans le menu de gauche du Tableau de bord. En cliquant dessus, cela nous redirige vers la page du plugin et la première chose que le plugin demande de faire est de créer une sauvegarde de la base de données.
Il est conseillé de faire cette sauvegarde car le plugin va procéder à des modifications dans la base de données et dans la configuration du site-même. Donc si ça tourne mal, vous serez en mesure de restaurer à l’état précédant l’installation du plugin.
Une fois la sauvegarde effectuée, vous verrez la confirmation « Sauvegarde de la Base de Données effectuée. » en haut de page, ainsi que la prochaine étape qui est de choisir entre laisser le plugin assurer la sécurité contre les attaques de base, et configurer tout par soi-même.
En sélectionnant la première option, le plugin se chargera de faire une bonne partie du travail. Si vous n’êtes pas très connaisseur, il est conseillé d’opter pour celle-ci.
Rapport des éléments à sécuriser dans votre site WordPress
Voilà donc après avoir appuyé sur le premier bouton, un rapport d’une vingtaine de lignes (recommandations/constats) s’affiche sur le tableau de bord du plugin.
Comme vous pouvez le lire à la fin, les dernières lignes non numérotées expliquent le code couleur utilisé dans ce rapport. Juste une remarque par rapport aux éléments en bleu. C’est dit mais j’insiste, si vous voulez sécuriser ces éléments, faites-le avec précaution. C’est le genre de choses qui peuvent tout casser.
Renommer l’utilisateur admin, modifier l’utilisateur avec l’ID 1, modifier le préfixe wp_
Voyons les éléments rouges en premier. On a un utilisateur avec le nom admin, l’utilisateur avec l’ID 1 dans la base de données et le préfixe wp_ pour les tables de la base de données. Ce sont là les trois premières sources d’attaque. Pour les changer, il suffit juste de cliquez sur les liens associés et vous serez redirigés vers les onglets correspondant que vous voyez en haut de page. Vous pourrez ainsi renommer l’utilisateur admin et changer le ID 1 dans le même onglet « Utilisateur »; et générer un nouveau préfixe pour les tables de la base de données dans l’onglet « Prefix ». Si vous êtes connectés avec l’utilisateur admin vous serez automatiquement déconnectés car vous venez de changer le nom. Reconnectez-vous donc avec ce nouveau nom d’utilisateur pour continuer.
Voilà, rien de compliqué. Si vous retournez au tableau de bord, vous verrez que ces éléments ont été changés du rouge au vert.
Détecter les modifications sur vos fichiers
Un autre élément rouge à corriger est le numéro 14 pour la détection des modifications sur vos fichiers. C’est une fonction très utile qui permet d’examiner tous les fichiers de votre installation WordPress et de signaler les modifications apportées aux fichiers. Cela peut vous aider à déterminer si un attaquant a compromis votre système en modifiant les fichiers dans WordPress. Cette vérification se fait automatiquement qu’une fois par jour pour réduire la charge du serveur.
En cochant cette fonctionnalité, vous recevrez un mail lorsque le système détecte des modifications sur vos fichiers. Vous serez aussi probablement notifiés lorsque vous exécutez une mise à jour d’un thème ou d’un plugin ou de l’installation-même de WordPress.
En revenant au tableau de bord, vous remarquerez que nous avons réglé tous les avertissements en rouge. Passons donc aux éléments en orange.
Optimisation des mots de passe complexes
L’utilisation de mots de passe complexes est toujours bon. Dans mon cas, cette option est activée mais pas pour tous les utilisateurs. Il faut donc choisir le rôle minimal à partir duquel un utilisateur est obligé de choisir un mot de passe complexe.
En sélectionnant le rôle « Abonné », vous obligez tous les utilisateurs à choisir un mot de passe complexe. Celui-ci doit avoir une certaine longueur minimale, et une combinaison de lettres et de chiffres.
Désactiver l’espace administration
L’autre élément en orange, le numéro 8, est un peu spécial. Cela permet de désactiver l’espace administration du site pour une période spécifiée durant laquelle on sait d’avance que nous ne mettrons pas à jour notre site. Personnellement, je ne prévois pas ça toujours à l’avance. Je préfère donc laisser les choses comme ça pour ne pas me retrouver privé de la connexion à mon espace admin. Si vous pensez le contraire, vous pouvez adapter ceci à votre planning. Voici à quoi ça ressemble :
Bannir des hôtes, des navigateurs et des utilisateurs à partir de leur adresse IP
Élément suivant : la liste noire. L’élément 9 permet d’activer le blocage du trafic des adresses IP connues pour être dommageables. Ce sont les hôtes et navigateurs connus de la liste noire de HackRepair.com.
Dans la seconde section de l’image ci-dessus, vous pouvez bannir les utilisateurs de votre site en indiquant leur adresse IP. Je vous laisse vous défouler sur les personnes (bots) qui vous spamment vos commentaires jour et nuit !
Retour au tableau de bord. Vous voyez que tout n’est pas encore vert. Mais on peut s’arrêter à ce niveau-là car nous avons configuré la plupart des éléments essentiels. Il ne reste quasiment que des éléments en bleu, mais ce sont des choses qui peuvent casser nos plugins ou causer des problèmes avec notre thème ou verrouiller notre site en bloquant l’accès.
Attaques par force brute
Avant de terminer, je voudrais revenir sur un élément très important qui est la protection contre les attaques par force brute. Cet élément (le numéro 10) a été automatiquement activé par le plugin. C’est quelque chose pour laquelle WordPress est extrêment sensible par défaut. L’adresse de base pour se connecter à son site WordPress est http://www.monsite.com/wp-admin. Tous les pirates le savent. Ils vont donc essayer d’entrer plusieurs combinaisons de login/password en un court laps de temps. Avec un robot qui fait le travail et un login souvent laissé à admin par défaut, il n’est pas impossible de retrouver la bonne combinaison.
Si vous cliquez sur l’onglet « Login », vous verrez comment a été configuré cet élément.
Après 5 tentatives, l’hôte ou l’ordinateur de l’utilisateur se trouve banni pendant une période de 5 minutes. Vous pouvez ajuster les restrictions à votre goût. Enfin, vous pouvez être notifié par mail de chaque blocage d’un utilisateur par le système.
Quelques précautions
N’exigez pas la connexion sécurisée (élément n°21) si votre site n’utilise pas de configuration de SSL. C’est quelque chose qui va vous bloquer l’accès à votre site et vous serez coincé. Vous devrez vous connecter par FTP, renommer le répertoire du plugin pour revenir à votre site, etc.
Il vaut mieux éviter de cacher l’espace d’administration (élément n°11). Cette fonction modifie le chemin de l’URL (http://www.monsite.com/wp-admin), à partir de laquelle vous accédez à l’Espace d’Administration de WordPress, cachant votre site aux attaquants potentiels. Je pense que si vous limitez l’attaque par force brute, il n’y aurait pas vraiment de danger si les utilisateurs connaissent où se trouve la page de connexion WordPress car soit ils se connectent au bout du nombre de tentatives de connexion permis (ici 5), soit ils sont bannis.
Conclusion
Ce plugin nous a permis de gérer les éléments de sécurité les plus importants : renommer l’utilisateur admin, modifier l’utilisateur ayant l’ID 1, générer un préfixe aléatoire pour les tables de la base de données, se protéger contre les attaques par force brute, exiger des mots de passe complexes, activer la liste noire pour bloquer les utilisateurs suspects, détecter les modifications de fichiers.
Le reste des paramètres restent à manipuler avec précaution pour éviter de se retrouver privé de l’accès à son site ou de tout casser tout simplement.
Voilà donc une vue d’ensemble sur le plugin Better WP Security avec quelques conseils sur la façon de le configurer pour sécuriser votre site WordPress.
Toute question ou suggestion sont les bienvenues, à vous maintenant!
Cet article vous a plu?
Abonnez-vous alors à notre newsletter pour recevoir des trucs utiles pour votre site WordPress.
Bonjour,
Une question bête, comment avez-vous pu avoir l’installation de ce plugin dans sa version française? Je subit actuellement des attaques sur mon blog wordpress et apprécierai de pouvoir trouver et solutionner au plus vite certaines faille. Merci pour votre retour.
Bonjour Laurent,
Votre installation WordPress n’est peut-être pas en Français ?
Vérifiez bien aussi que vous avez la ligne suivante dans votre fichier wp-config.php :
define('WPLANG', 'fr_FR');
Bonjour
même problème mon site est bien en français j’ai bien « define(‘WPLANG’, ‘fr_FR’); » dans mon config.php mais le plug reste toujours en anglais.
une idée ou on peut se procurer la traduction Fr ?
Bonjour David,
Vous pouvez suivre les instructions données ici : http://www.wordpress-fr.net/faq/wordpress-est-installe-en-anglais-peut-on-le-mettre-en-francais%C2%A0/
Bonjour,
Le plugin est génial ! Enfin, en voyant les images, ça avait l’air très clair avec le français.
Même question que Laurent et David du coup, je ne l’ai pas en français… Tout est correct pour mon wp-config.php…
Dommage, le plugin est super pour les débutants ^^
Bonjour,
Dans votre espace d’administration, pouvez-vous vérifier dans Réglages > Général que « Langue du site » est bien en Français ?
Bonjour,
J’ai installé IThèmes il y a quelques semaines.
Et le plugin m’a bloqué moi-même, admin du site…
Je ne peux plus accéder à mon back office.
Auriez-vous une solution ?
Merci
Bonjour,
Je ne sais pas ce qu’il s’est passé mais problème résolu..
Bonne journée
Bonjour,
article intéressant, merci.
Cependant, je souhaite ajouter ma contribution qui permet de détecter les fichiers suspects du wp-upload et de les supprimer.
https://wordpress.org/plugins/scan-upload-par-jm-crea/
Le plugin détecte les fichiers : php, javascript, htaccess, exe, sql, zip, rar, czip, tar.gz
super pluggin qui fonctionne chez qq clients. bien pratique meme si pour les backup j’utilise un autre pluggin