Comment vérifier la sécurité de mon site WordPress et ce qu’il expose ?
Par Eureka Studio · Mis à jour le
En bref
Testez votre site depuis l’extérieur avec de vraies requêtes, sans être connecté : ouvrez /wp-login.php, /xmlrpc.php, /wp-json/wp/v2/users, /?author=1 et /wp-sitemap-users-1.xml. Chacune indique si une porte de connexion est ouverte ou si un identifiant fuite. Vous pouvez les lancer avec un navigateur ou curl, ou laisser une extension d’analyse les lancer et nommer ce qu’elle trouve.
Étapes
1Étape 1
Ouvrez une fenêtre privée ou un terminal
Testez comme un inconnu, pas comme vous-même. Les requêtes connectées voient plus de choses que le public : vérifiez donc toujours en étant déconnecté.
Cinq requêtes que ferait un robot curl -sI https://yoursite.com/wp-login.phpcurl -s https://yoursite.com/xmlrpc.phpcurl -s https://yoursite.com/wp-json/wp/v2/userscurl -sI https://yoursite.com/?author=1curl -sI https://yoursite.com/wp-sitemap-users-1.xml2Étape 2
Vérifiez les portes de connexion
Si wp-login.php affiche un formulaire de connexion, la connexion par défaut est publique. Si xmlrpc.php répond « accepts POST requests only », une seconde porte de connexion est ouverte elle aussi.
3Étape 3
Recherchez les identifiants qui fuitent
Une liste JSON renvoyée par /wp/v2/users, une redirection de ?author=1 vers /author/nom/ ou un plan du site des utilisateurs révèlent tous des identifiants de connexion.
4Étape 4
Lancez l’Analyse de surface pour avoir une vue complète
Dans Hushfort, ouvrez la Vue d’ensemble et cliquez sur Relancer l’analyse dans l’Analyse de surface. Elle envoie de vraies requêtes à votre site et nomme chaque identifiant qu’elle trouve.

5Étape 5
Fermez ce que vous avez trouvé, puis relancez l’analyse
Activez le Durcissement de surface et cliquez sur Relancer l’analyse. Les portes qui étaient en rouge affichent maintenant une coche verte ; ce qui reste est marqué Attention, avec une correction suggérée.

Pourquoi c’est important
La plupart des conseils de sécurité parlent d’interrupteurs : activez ceci, désactivez cela. Mais un interrupteur vous dit ce que vous avez demandé, pas ce qui s’est passé. Une couche de cache peut servir une ancienne réponse. Une règle de CDN peut bloquer un fichier avant même que WordPress ne voie la requête. Une extension peut rouvrir ce qu’une autre avait fermé. La seule réponse honnête à la question « que révèle mon site ? » consiste à l’interroger comme le ferait un inconnu.
La bonne nouvelle : côté connexion, la liste des points à vérifier est courte. Les robots cherchent la même poignée d’adresses sur chaque site WordPress :
| Adresse | Ce qu’elle révèle quand elle est ouverte |
|---|---|
/wp-login.php, /wp-admin |
Le formulaire de connexion par défaut |
/xmlrpc.php |
Une seconde porte de connexion, avec des tentatives en masse via system.multicall |
/wp-json/wp/v2/users |
Une liste des auteurs et de leurs slugs de connexion |
/?author=1 |
Une redirection vers /author/login-name/ |
/wp-sitemap-users-1.xml |
Les URL des archives d’auteur, qui contiennent les slugs de connexion |
Aucune n’est catastrophique à elle seule. Ensemble, elles offrent à un robot une liste de noms et deux portes où les essayer. Savoir lesquelles sont ouvertes vous permet de les fermer dans le bon ordre : les portes d’abord, les noms ensuite.
Erreurs courantes
- Tester en étant connecté. WordPress en montre davantage aux utilisateurs connectés. Utilisez une fenêtre privée ou
curl. - Tester la page en cache. Si vous venez de modifier un réglage, videz d’abord votre cache de page et le cache de votre CDN, sinon vous verrez l’ancienne réponse.
- S’arrêter au premier feu vert. Fermer le formulaire de connexion en laissant XML-RPC ouvert est la demi-mesure la plus courante que nous voyons.
- S’attendre à un audit de sécurité complet. Ces vérifications portent sur les accès. Elles ne disent rien des malwares, des modifications de fichiers ou des extensions obsolètes.
Sans extension
Les cinq commandes curl de l’étape 1 constituent la méthode manuelle, et elles valent la peine d’être connues. Lisez les
résultats ainsi :
HTTP/2 200surwp-login.php: la connexion par défaut est publique.404: elle est masquée.XML-RPC server accepts POST requests only.surxmlrpc.php: le point d’accès est actif. Pour savoir si la connexion est acceptée, il faudrait envoyer un appelwp.getUsersBlogsavec un compte de test.- Un tableau JSON renvoyé par
/wp/v2/usersavec des champs"slug": les identifiants sont publics.401ou un tableau vide : fermé. Location: /author/name/sur?author=1: une fuite. Répétez avec 2, 3 et ainsi de suite pour voir combien d’utilisateurs un robot pourrait collecter.200sur le plan du site des utilisateurs : les URL des auteurs sont listées.
L’inconvénient, c’est le temps et l’interprétation. Il faut tout recommencer après chaque modification, et tester correctement la connexion XML-RPC implique de rédiger du XML à la main.
En cas de problème
- L’analyse indique « ouvert » alors que vous l’avez désactivé. Videz les caches de page et de CDN, puis relancez l’analyse. Si c’est toujours ouvert, une autre extension ou une règle du serveur prend peut-être le pas sur le réglage.
- L’analyse n’arrive pas à joindre votre site. Certains hébergeurs empêchent un site de s’envoyer des requêtes à lui-même
(loopback). Demandez à votre hébergeur d’autoriser les requêtes loopback, ou utilisez la méthode
curldepuis l’extérieur. - Un identifiant fuite encore après le durcissement. Vérifiez l’encart auteur de votre thème et le plan du site des auteurs de votre extension SEO. Changez le nom affiché de l’auteur si le thème l’imprime.
Avec Hushfort
L’Analyse de surface est incluse dans Hushfort Security, l’extension de sécurité WordPress gratuite. L’Analyse de surface se trouve dans le panneau Durcissement de surface de Hushfort. Elle mesure ce que votre site expose réellement avec de vraies requêtes, exactement comme la méthode manuelle, et liste nommément les identifiants qu’elle trouve. Chaque constat correspond à une couche Hushfort qui le ferme :
- Connexion XML-RPC → Verrou XML-RPC (Pro)
- Liste des utilisateurs REST, scan des auteurs, plan du site → Bouclier des identifiants (Pro)
- Connexion par défaut → Connexion masquée (gratuit)
Nous avons créé l’Analyse de surface après qu’une boutique a continué de recevoir des tentatives de mot de passe via XML-RPC alors même que sa page de connexion était masquée. Le réglage semblait correct ; seule une vraie requête a révélé la porte ouverte.
Questions fréquentes
Est-il légal d’analyser mon propre site WordPress ?
Pourquoi tester avec de vraies requêtes plutôt que de lire les réglages ?
Cette vérification détecte-t-elle les malwares ou les extensions vulnérables ?
À quelle fréquence dois-je vérifier ?
Guides associés
Comment empêcher l’énumération des utilisateurs et masquer les identifiants sur WordPress ?
WordPress publie vos identifiants à quatre endroits. Bloquez la liste REST des utilisateurs, les scans ?author=N, les archives d’auteur et le plan du site.
Voir les étapesQu’est-ce que xmlrpc.php, et comment désactiver XML-RPC sur WordPress ?
Désactivez XML-RPC sur WordPress : xmlrpc.php est une seconde porte de connexion que masquer la connexion ne ferme pas. Gardez les pingbacks, puis testez.
Voir les étapesComment changer l’URL de connexion de WordPress ?
Changez l’URL de connexion WordPress et masquez wp-admin en cinq étapes sûres. Testez avant de vous déconnecter et sachez retrouver l’accès en cas d’oubli.
Voir les étapes

