Développement web

10 points à appliquer pour sécuriser correctement son WordPress

10 points à appliquer pour sécuriser correctement son WordPress

WordPress est un des CMS (Content Management Système) les plus utilisées au monde pour la conception de site Internet. Ce blog est de cette technologie et nous l’utilisons pour réaliser les sites Internet de nos clients dans mon boulot. Beaucoup de WordPress sont très mal configurés car souvent déployés à la va-vite et sans recherche préalable quant à sa bonne configuration. Je vais vous donner quelques astuces et explications pour sécuriser votre WordPress… Et cela se passe dès son installation.

Sécurisation de son installation

wordpress

Choisissez un nom de base de données neutre

Si vous avez la main mise sur votre hébergement, choisissez un nom de base de données qui n’ai pas trop de rapport avec votre site Internet.

Par exemple, si votre site c’est http://www.wordpress.com ne choisissez pas comme nom de base de données WordPress.

Changez le prefixe par défaut de vos tables

« wp_ » est le préfixe par défaut. Beaucoup laisse ce préfixe. Quelqu’un ayant déjà installé un WordPress sait comment se présente l’architecture de votre base de données à commencer par l’ensemble des noms des tables. Il est toujours plus facile de faire des injections SQL en connaissant les bons noms de tables. Changez le par un préfixe à 3 à 4 caractères tapés au hasard sur votre clavier.

Évitez l’identifiant « admin » pour le compte administrateur par défaut

wordpress2

Évitez les identifiants comme « admin » devenu très répandu et classique et essayez de générer un mot de passe assez complexe.

Nettoyage après l’installation et chaque mise à jour du core

Après l’installation, il faut s’occuper de certains de vos fichiers à la racine de votre site Internet. En effet, il existe plusieurs fichiers sensibles comme le fichier .htaccess et le fichier wp-config, ce dernier contenant notamment des informations vitales comme le login/password de votre base de données.

Utilisez votre logiciel FTP préféré pour vous connecter à votre hébergement de fichiers.

Modifiez les droits de permissions du fichier wp_config.php et du .htaccess donner les droits en lecture pour tous et juste en écriture pour le propriétaire du fichier ce qui donne un chmod 644.

Vous pouvez aussi modifier le fichier .htaccess et ajouter ces lignes à la fin du fichier pour renforcer la sécurité sur l’accès à ces deux fichiers :

Enfin terminez la manœuvre en supprimant le fichier readme.html à la racine. Celui contient des informations sensibles comme la version de votre WordPress.

Protégez chacun de vos répertoires 

Si vous tapez dans notre barre d’adresse l’url de votre site Internet suivi d’un nom de dossier sans spécifier un fichier, le serveur qui héberge le site Internet va tenté de vous afficher une page par défaut (bien souvent index.php ou index.html). Quand ce fichier n’existe pas le serveur liste le contenu du dossier (fichiers & dossiers confondus) et bien souvent les informations du serveur hébergeant le site Internet. Ces informations contiennent les technologies employés et leur version. Des informations très prisés par les personnes malveillantes

Vous avez peut être remarqué que certains répertoires de votre installation WordPress présentait des fichiers « index.php » contenant juste ce contenu :

 

Ce fichier permet d’afficher une page blanche au cas où quelqu’un essaye de lister le contenu de votre dossier. Seulement, il n’est pas présent dans tous les dossiers de WordPress, de même que les gens qui développent les plugins ne pensent pas à en mettre alors que c’est un fichier très simple à mettre en place. Je vous conseille de protéger vos répertoires avec ce genre de fichier surtout si vous n’avez pas la main direct sur votre hébergement Web.

Sécurisation de son thème et du moteur WordPress

La balise meta generator

En parlant de la version de votre WordPress, beaucoup de personnes utilisent des thèmes déjà existant parce qu’ils n’ont pas les compétences suffisantes pour concevoir leurs propres thèmes. Ils utilisent alors les thèmes par défaut proposés ou des thèmes que l’on peut facilement trouver sur le Web (ou via la recherche de thèmes dans l’administration de WordPress). Seulement ces thèmes affichent bien souvent (pour pas dire tous le temps) cette balise meta dans le code source HTML renvoyé par votre site Internet:

Cette balise caché dans le <head> de votre site Internet est un précieux renseignement concernant la version de WordPress. Ce n’est pas pour vous faire peur mais il suffit de taper sur Google : « Hack WordPress 4.X.X » et on peut tomber sur des techniques existantes pour hacker un site WordPress. Pour enlever cette information de votre thème, modifiez le fichier function.php de votre thème et ajouter cette ligne :

Faîtes les mises à jour !

Veillez à mettre régulièrement à jour le moteur de WordPress, votre thème ainsi que toutes vos extensions. Plus votre site Internet sera à jour et moins de faille de sécurité vous aurez ! Ça peut paraître anodin mais je vois énormément de site Internet pas à jour de bien longtemps.

Quelques extensions pour protéger votre WordPress

Limitez le nombre de tentatives de connexions à votre interface admin avec Login LockDown.
Ça risque de freiner voir de décourager les attaques par force-brute sur votre site Internet.

Veillez à bien choisir les extensions que vous installez. Beaucoup ne sont plus à jour ou sont mal notés mais pourtant alléchantes.

Supprimez les thèmes et extensions non utilisées

On teste des extensions ou des thèmes puis finalement on ne les utilise pas. Gardez ces ressources non utilisées est une erreur ! Ce n’est pas parce que vous ne les utilisez pas, qu’ils ne sont pas une menace. Supprimez tous ce que vous n’utilisez pas.

Testez la sécurité de votre WordPress avec wpscan

wpscan_logo

 

Malgré ces aspects de sécurité que j’ai énoncé plus haut, votre site Internet peut présenter des failles de sécurité… et ce n’est pas votre faute .

La force de WordPress c’est sa communauté très vaste qui a contribué à son évolution en développant des milliers d’extensions et de thème mais c’est aussi sa faiblesse. En effet, beaucoup de thèmes/extensions sont mal codés et même plus supportés pourtant on continue de les utiliser. Des extensions sont tellement utilisées que des hackers s’amusent à chaque mise à jour de déceler une faille de sécurité.

Un outil très puissant permet de connaître si son site Internet (ou celui d’un voisin) présente des failles de sécurité et il se nomme wpscan. Cet outil est développé en Ruby. IL y a quelques prérequis à vérifier sur votre OS mais sachez qu’il est présent nativement dans certaines distribution Linux, notamment Kali Linux.

Je tiens à prévenir que mon blog et moi même ne sommes responsable de ce que vous ferez avec cette outil car il est redoutable.

A quoi sert-il et que fait-il ?

Pour la faire court, cet outil scanne un site WordPress à la demande. Il récupère pas mal d’informations comme la version du WordPress, le thème utilisé ainsi que les extensions. Il est même possible de faire du brute force.

Pour chacun d’eux,il va récupérer la version utilisée et fouiller dans sa base de données s’il y a des failles. Une simple commande pour lancer l’outil et il vous dira tout ce que vous devez savoir :

J’ai testé sur un blog dont je ne dévoilerais pas l’identité mais comme vous allez le voir il est bourré de failles de sécurités en tout genre : XSS, Open Redirect, SQL Injections, RCE, DoS.

Tout ce qui contient [!] dans ce qui va suivre est une faille de sécurité. L’outil va vous donner jusqu’à 3 liens pour vous expliquer la faille en question, où elle se trouve dans le système de fichiers et même comment l’exploiter. Il donne même la version du plugin qui permet de boucher la faille. Voici un exemple de résultat en lançant cette simple commande :

 

Cet outil est une bonne façon de vérifier si votre site Internet est sécurisé, n’hésitez pas à l’utiliser souvent… ou sinon une personne malveillante le fera à votre place.

N’hésitez à me soumettre vos éventuelles recommandations et astuces concernant la sécurité de WordPress.

Laisser un Commentaire