Blog Web & Design

Sécuritée de WordPress : Attention à vos URL !

Parfois uniquement connues des développeurs WordPress, ces adresses sont des points sensibles peuvant divulger des informations sensibles. Mais des solutions existent et je vais vous les présenter.

Pour garantir une meilleure sécurité de WordPress sachez que certaines URL sont à bloquer.

Comment éviter de divulger le nom de l’administrateur du site ?

Dans un premier temps, je voulais vous parler de cette adresse (URL) qui permet de connaitre l’identifiant de l’administrateur d’un site WordPress, et oui ce n’est pas rien ! Cette adresse est facilement accessible, bien que méconnue elle est potentiellement dangereuse et doit être bloquée pour éviter de donner trop d’informations à un visiteur mal intentionné.

En utilisant le système et de page archive inclue par defaut dans n’importe quel WordPress il est possible de disposer de cette information sensible, grâce à un simple paramètre d’URL.

Cette adresse la voici : https://NOMDEDOMAINE.COM/?author=1

Grâce au paramètre ?author il est possible de demander à WordPress « Qui est le premier utilisateur du site ? » A savoir dans la majorité des cas : l’administrateur du site possède l’ID 1. C’est donc un problème de sécurité.

Solution pour bloquer l’accès à la page auteur grâce à .Htaccess :

Une solution existe pour désactiver la page auteur sur WP, en modificant un fichier à la racine de son site.
La méthode ci-dessous utilise .htaccess pour empêcher quiconque (y compris pour vous et vos visiteurs légitimes) d’accéder avec succès à ?author=[number] et /author/[username]/.

Ajoutez le code qui suit à votre fichier .htaccess qui se trouve dans le répertoire racine de votre blog (parfois nommé «/www») et assurez-vous que ces règles soient ajoutées avant la ligne qui dit « # BEGIN WordPress ».

Une fois ces quelques lignes ajoutées, la page auteur, listant les articles de n’importe quel utilisateur de votre site renverra vers une page d’erreur

Bloquer la récupération de la liste des utilisateurs WordPress

Une autre méthode permettant de récupérer des informations sensibles sur les utilisateurs d’un site est l’utilisation le l’API JSON de WordPres.

L’URL permettant d’obtenir la liste de l’ensemble des utilisateurs d’un WordPress ressemble à celle-ci : https://www.b2w.fr/wp-json/wp/v2/users/

Aperçu de données brut au format JSON
Aperçu de données brut au format JSON

Le résultat au format JSON semble illisible, sauf si vous passez par un outils pour reformater les texte tel que JSON Viewer

Aperçu de données au format JSON
Aperçu de données au format JSON

Et là, on s’aperçoit un peu mieux qu’en ayant accès a cette page, on peut facilement trouver l’ID et le nom des utilisateurs, dont celui de l’administrateur du site qui est dans la majorité des cas l’ID numéro 1.
Un hackeur pourra se lancer à la recherche du mot de passe, devenu le seul rempart pour pouvoir acccéder frauduleusement à l’administration du site WordPress qui se situe la plupart du temps à l’adresse /wp-admin,
Dans mon exemple, c’est ici : https://www.b2w.fr/wp-admin/

A noter que pour plus de sécurité il est possible de changer l’adresse de connexion de son WordPress, ainsi, même ayant en sa possession l’identifiant de l’administrateur, quelqu’un souhaitant se connecter à l’admin WordPress sera bien embêtée si elle se rend sur la page habituelle.

Voici un plugin vous permettant de faire cela : sf-move-login

Quels sont les plugins pour sécuriser WordPress ?

Un plugin dédié au blocage de l’API Json

Tout d’abord, pour résoudre le soucis d’accès à des données sensibles telles que la liste des utilisateur, des extensions WP existent, voici un plugin dedié à la désactivation de l’API JSON de WordPress : Disable json API

Bloquer l’API Json avec un plugin de sécurité plus généraliste

Personnelement pour sécuriser WordPress j’ai une préférence pour le Plugin iThemes Security (Better WP Security), qui propose tout un panel de solutions de sécurisation d’installations WordPress, dont une option pour retreindre l’accès à l’API REST bloquant ainsi les demandes publiques de données potentiellement privées.

Pour ce faire, il faut vous rendre :

Etape 1 : dans les options du plugin, au niveau des « Ajustements WordPress » et cliquer sur le bouton « Configurer les réglages » :

Ajustement WordPress iThemes Security
Ajustement WordPress iThemes Security

Puis étape 2 : Définir l’API REST en mode restreint (recommandé) :

Ajustement WordPress iThemes Security
Ajustement WordPress iThemes Security

Verifier le dossier d’installation de WordPress

L’adresse de connexion dépend par defaut au dossier d’installation de votre WordPress.

Dans la majorité des cas votre wordpress est installé ç la racine du serveur et l’adresse de connexion est tout simplement https://NOMDEDOMAINE.COM/wp-login.php.

Cependant si ce n’est pas le cas, sachez que certains dossiers semblent être visé par les scripts de hackeurs, c’est ce que j’ai pu noter en effectuant un audit de sécurité WordPress en analysant les logs recents de certains site de client.

Mon conseil serait donc d’éviter d’installer son WP dans les dossier suivants :

/test/wp-login.php
/wp1/wp-login.php
/wordpress/wp-login.php
/blog/wp-login.php
/web/wp-login.php
/new/wp-login.php
/shop/wp-login.php
/wp/wp-login.php
/2020/wp-login.php

Un pirate souhaitant tester des identifiants de connexion avec une methode de type bruteforce pourra facilement se rendre à ces adresses contenant le formulaire.


En résumé

WordPress est un magnifique outil très utilisé pour la création de sites web, malheuresement tout comme Windows, victime de son succès, WP est souvent pris pour cible par les hackeurs qui scannent de façon automatique le web à la recherche de failles exploitables.
Se protéger des attaques est devenu une necessité afin de profiter pleinement des fonctionnalités de notre CMS préféré.

Dernière mise à jour le Auteur : Thomas Dufranne

Repondre

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.