Logo
Sécurité site Wordpress

10 conseils pour sécuriser son site WordPress

Navigation rapide

WordPress propulse aujourd’hui plus de 30% des sites internet dans le Monde. Si la puissance et la flexibilité permises par le CMS n’est plus à démontrer, il peut en revanche devenir une proie facile quand on parle de sécurité. En effet, la plateforme est structurellement très standardisée et elle peut à ce titre rapidement devenir une cible de choix pour une personne mal intentionnée.

Croire que vous êtes à l’abri d’une attaque parce que votre site est de taille modeste est une première erreur. La plupart des attaques visant à pirater des sites WordPress sont aujourd’hui l’œuvre de bots automatiques qui parcourent le web et attaquent de manière aléatoire.

L’article suivant se propose de faire un état des lieux de la typologie des intrusions qui touchent WordPress puis de rappeler ce qui peut être mis en place sur le plan de la sécurité afin d’empêcher quiconque de nuire à l’intégrité des données de votre site.

Petit panorama des attaques les plus répandues sur WordPress

Typologie des attaques WordPress en 2020

En 2020, Wordfence qui est à l’origine du plugin de sécurité du même nom, a déclaré avoir bloqué plus de 4.3 milliards de tentatives visant à exploiter des vulnérabilités de WordPress.

Wordfence a également dressé la typologie des différentes menaces de sécurité qui pèsent sur les sites internet WordPress. On retrouve notamment :

  • L’attaque par traversée de répertoires (43% des attaques). Depuis un emplacement donné, l’idée est ici d’essayer d’accéder à un autre répertoire. Le principe est d’ouvrir des fichiers dont le nom est transmis en paramètres HTTP. Le pirate envoie généralement une requête HTTP avec une série de ../ afin de traverser ou de monter dans un répertoire parent. S’il y parvient, il peut alors potentiellement modifier et/ou supprimer des fichiers ou même exécuter certaines lignes de commande.
  • Les injections SQL (21%). L’injection SQL est une attaque qui peut compromettre la base de données d’un site web via des déclarations SQL malveillantes. Lors de ce type d’attaque, le hacker utilise généralement les champs de saisie d’un formulaire pour envoyer ses propres demandes vers la base de données de votre site web.
  • L’upload de fichier malveillant (11%). Il s’agit ici d’une faille permettant au hacker d’envoyer puis d’exécuter un fichier malveillant sur votre site web. Généralement, les formulaires présents sur un site internet prévoient de n’accepter que l’upload de fichiers dits « non exécutables ». Cependant, en cas de mauvais fonctionnement, le pirate peut envoyer un fichier exécutable (PHP ou EXE par exemple) et exécuter un code malveillant.
  • L’attaque XSS (8%). Une attaque XSS consiste à manipuler un site internet afin qu’il renvoie un script malveillant aux utilisateurs (souvent en JavaScript). Les sites internet ciblés ont généralement des champs de saisie utilisateur comme des formulaires de connexion ou des zones de commentaires par exemple.

Comment renforcer la sécurité de son site WordPress ?

Vous trouverez dans le paragraphe suivant un ensemble de pratiques de sécurité visant à éviter les tentatives frauduleuses / malveillantes pouvant compromettre l’intégrité de votre site. Sans prétendre présenter un guide ultime de sécurité WordPress, les 10 pratiques suivantes devraient vous permettre de désamorcer les tentatives standards de piratage les plus pratiquées.

1. S’assurer de la mise en place d’un certificat SSL

Sécuriser son site WordPress passe par l’adoption d’un certificat SSL. SSL (Secure Sockets Layer) est une technologie destinée à sécuriser et protéger les données sensibles qui transitent entre deux systèmes, l’ordinateur de votre visiteur et le serveur qui héberge votre site internet notamment. Ces informations peuvent en effet être sensibles et/ou personnelles (comme un numéro de carte bancaire par exemple lors d’une transaction sur un site de vente en ligne).

Aujourd’hui, les hébergeurs web mettent à disposition un certificat SSL afin que votre site internet puisse bénéficier de cette protection des données. Le protocole HTTPS s’affiche lorsqu’un site web est protégé par un certificat SSL. Il s’illustre par un cadenas figurant dans la barre d’adresse de votre navigateur.

certificat SSL - sécuriser son site wordpress

La configuration d’un certificat SSL est indispensable. Elle apporte une garantie de sécurité et demeure un gage de confiance pour les utilisateurs de votre site internet.

2. Tenir à jour votre version de WordPress, vos thèmes et vos plugins (extensions)

Pour sécuriser son site WordPress, une autre bonne pratique consiste à mettre régulièrement à jour votre version de WordPress, vos thèmes et vos plugins. Un plugin/thème périmé peut poser des problèmes de compatibilité ainsi que des failles de sécurité avec les autres composants du site dont le CMS lui-même. 

Pensez aussi à faire du nettoyage parmi vos plugins si vous ne les utilisez plus ou s’ils sont obsolètes. Dans le menu extensions de votre panel d’administration WordPress, les extensions inactives apparaissent sur fond blanc et doivent être supprimées. Il est en effet recommandé de n’installer que ce qui est nécessaire à la bonne tenue de votre site web, toujours pour des raisons de sécurité (mais aussi de performance).

Enfin, dans le cas où un de vos plugins n’est pas/plus mis à jour, il se peut aussi que votre panel fasse apparaitre un message sur fond orange clair vous signifiant que celui-ci peut présenter un problème de compatibilité avec une nouvelle version de WordPress. Si l’alerte persiste après plusieurs semaines, faute de mise à jour du plugin disponible, il sera alors préférable de se tourner vers une autre extension similaire à jour et qui limitera tout problème de sécurité.

3. Proscrire l’utilisation de l’identifiant « admin »

Par défaut, WordPress vous propose une installation sur la base de l’identifiant « admin ». Inutile de vous préciser qu’en cas d’attaque, vous facilitez grandement le travail d’un éventuel pirate si vous optez pour cet identifiant connu de tous.

Veillez donc à choisir un identifiant différent de « admin » ou de tout autre identifiant trop générique comme : « utilisateur », « user », « administrateur » etc.

4. Modifier l’ID du compte administrateur

Par défaut, WordPress utilise le compte administrateur ID = 1 lorsque l’on crée un premier compte utilisateur. Or, l’identifiant choisi et rattaché à ce compte n°1 peut être facilement retrouvé dans la mesure où la requête suivante https://votresite.fr/?author=1 retournera l’identifiant associé à ce compte ID = 1.

Autre faiblesse : la création de comptes utilisateur débute à 1 puis continue avec une suite logique très prévisible (compte 2, compte 3 etc.) et un pirate pourra rapidement retrouver votre identifiant en testant les premiers ID.

Pour brouiller les pistes, on peut mettre directement à jour le numéro ID d’un utilisateur en base de données. On peut par exemple changer l’ID = 1 de notre compte administrateur par l’ID = 1257. Il suffit alors de mettre à jour les tables « wp_users » et « wp_usermeta » à l’aide des lignes de commande SQL suivantes : 

UPDATE wp_users SET ID = 1257 WHERE ID = 1 ;

UPDATE wp_usermeta SET user_id = 1257 WHERE user_id = 1 ;

De la sorte, la requête https://votresite.fr/?author=1 ne retournera pas votre identifiant puisque l’ID = 1 n’existe plus. Voilà une manière simple de dissimuler davantage l’identifiant de son compte administrateur WordPress.

5. Limiter les rôles « administrateur »

WordPress attribue un rôle pour chacun de ses utilisateurs et le rôle administrateur est celui qui confère à son détenteur toutes les fonctionnalités du panel d’administration. Si plusieurs utilisateurs possèdent la qualité d’administrateur au sein de votre panel d’administration, c’est autant de points d’entrée donnant la possibilité à une personne malveillante de prendre le contrôle total de votre site.

Pour sécuriser son site WordPress, je recommande de limiter le rôle d’administrateur à seulement 1 ou quelques utilisateurs et d’ajuster les rôles selon les besoins de votre équipe. Les rôles « auteur » et « éditeur » sont par exemple suffisants si les détenteurs du compte n’interviennent sur votre site que pour créer du contenu éditorial. Vous l’aurez compris, sécuriser son site WordPress passe par une attribution raisonnable du rôle d’administrateur.

6. Modifier l’url de votre page d’identification « wp-login »

Par défaut, l’accès standard à l’identification de votre site WordPress répond à l’adresse suivante : https://votresite.fr/wp-admin. En conservant cette url, un hacker retrouvera alors facilement ce point d’accès et tenter ensuite de forcer l’authentification à votre espace d’administration.

Une solution peut être alors d’installer un plugin du type SecuPress qui vous permettra de choisir l’url à partir de laquelle vous souhaitez vous connecter à votre back-office : https://votresite.fr/ma-nouvelle-adresse-de-connexion

7. Contrer les tentatives de connexion par force brute

Les attaques par force brute consistent à tester un maximum de combinaisons de mots de passe possible afin d’accéder à l’administration de votre site internet. Des robots vont alors tester des combinaisons automatisées pour trouver votre mot de passe.

Un premier moyen simple de contourner le problème est de limiter le nombre de tentatives d’accès. De nombreux plugins existent pour contrer ce type d’intrusion par force brute. Le plugin « SecuPress » propose ainsi dans sa version gratuite de limiter le nombre de tentatives de connexion voire même de bannir temporairement les tentatives de connexion avec des utilisateurs inconnus.

Un autre moyen efficace peut être aussi  d’adopter une double authentification. L’accès à votre panel d’administration WordPress est alors renforcé avec une surcouche qui va proposer une seconde identification supplémentaire (comme un mot de passe additionnel par exemple). « SecuPress » propose cette option dans sa version payante.

Il existe d’autres plugins pour contourner les attaques brutes d’identification. Une autre extension, « WPS Limit Login » propose elle de limiter les conditions d’accès.

8. Changer le préfixe des tables de votre base de données

Par défaut lors de l’installation, l’ensemble des tables de la base de données WordPress sont préfixées avec le préfixe « WP_ ». Afin de limiter l’accès à ces dernières et toute tentative d’injection SQL, il est recommandé de modifier ce préfixe.

Le plus simple pour sécuriser son site WordPress dans le cas présent reste de le faire directement lors de l’installation du CMS.

Configuration de WordPress - choix du préfixe

Vous pouvez aussi procéder à ce changement à l’aide de requêtes SQL dans votre base de données ou de manière plus simple, le faire à l’aide d’un plugin comme « Brozzme DP Prefix ».

9. Sécuriser davantage votre fichier wp-config

Le fichier wp-config.php est le fichier principal de configuration de WordPress. Il contient toutes les informations relatives à la base de données dont notamment le nom d’utilisateur et le mot de passe nécessaires à la connexion à celle-ci. Si l’accès à ce fichier tombe entre de mauvaises mains, inutile de vous préciser que la sécurité de votre site web sera fortement compromise.

Il existe plusieurs moyens de sécuriser l’accès à votre fichier wp-config.php, parmi lesquels :

  • Limiter l’accès à l’aide du fichier .htaccess
  • Déplacer votre fichier wp-config.php afin de le « cacher »
  • Modifier le fichier wp-config en déplaçant les informations clés dans un autre fichier de configuration.

Sécuriser son site WordPress passe donc aussi par votre fichier wp-config. L’article suivant explique comment procéder à la sécurisation de ce fichier clé : https://www.getastra.com/blog/911/secure-wp-config-file/

10. Eviter les plugins « nulled »

Les plugins « nulled » se réfèrent à des plugins ou des thèmes WordPress premium qui ont été piratés et qui peuvent fonctionner sans clé de licences, permettant à l’utilisateur de ne pas payer pour l’utilisation du dit plugin.

Gardez à l’esprit que télécharger un plugin depuis une source autre que le développeur de l’extension ou un référentiel sérieux comme WordPress.org, c’est prendre le risque d’insérer du code malveillant sur votre propre site (comme par exemple des liens injectés à votre insu pour le référencement d’un autre site).

Outre le risque d’injection de malware/code nocif, ces plugins à l’origine douteuse ne vous permettront pas de bénéficier de leur mise à jour et vous ne disposerez pas non plus du support du développeur. Pour toutes ces raisons, il n’est pas recommandé d’utiliser des plugins dits « nulled ».

En conclusion

Comme le dit le vieil adage : « mieux vaut prévenir que guérir » ! Pensez à opter pour ces bonnes pratiques lors de la conception de votre site internet afin de ne pas avoir de mauvaises surprises lorsque celui-ci sera en ligne.

Sécuriser son site WordPress n’est pas une étape anodine. Choisissez un freelance compétent à même de vous aider à créer un site WordPress à la fois soigné et SÉCURISÉ. Contactez 1sitewebpro.

Vous avez aimé cet article ? Partagez-le.