Aller au contenu
Nous contacter

Sécurité

Sécuriser wp-admin sans plugin : les protections à mettre en place

Il est possible de protéger l’administration WordPress sans installer d’extension, en combinant des réglages serveur et de bonnes pratiques. Voici comment choisir vos mesures et les tester sans perdre l’accès au site.

Ordinateur portable montrant des graphiques et statistiques sur une table
Au sommaire

Pour sécuriser wp-admin sans plugin, vous pouvez limiter l’accès par adresse IP ou ajouter une authentification HTTP côté serveur. Complétez ces protections par HTTPS, des comptes bien gérés et la désactivation de l’éditeur de fichiers WordPress. Testez chaque changement : une règle trop large peut bloquer l’administration ou certaines fonctions publiques.

Préparer la sécurisation de wp-admin sans plugin

L’administration WordPress et la page de connexion sont des points d’entrée connus. L’objectif n’est pas de rendre votre site invisible, mais de limiter les accès non autorisés et les tentatives automatisées.

Avant de modifier une configuration serveur ou un fichier WordPress :

  1. Sauvegardez les fichiers concernés et notez leur emplacement.
  2. Conservez un accès FTP, SFTP ou au gestionnaire de fichiers de votre hébergeur.
  3. Identifiez le serveur utilisé, notamment Apache ou Nginx, et les personnes qui doivent accéder à l’administration.
  4. Prévoyez comment annuler chaque modification si vous obtenez une erreur ou perdez l’accès.

Si votre site utilise un CDN ou un proxy, l’adresse IP vue par le serveur peut différer de celle du visiteur. Vérifiez ce point avant tout filtrage : une mauvaise configuration peut bloquer des utilisateurs légitimes ou rendre la restriction inefficace.

Limiter l’accès à wp-admin par IP ou par mot de passe HTTP

Filtrer les adresses IP autorisées

Si votre équipe se connecte depuis des adresses IP fixes, par exemple celles d’un bureau ou d’un VPN, le serveur peut autoriser ces adresses et refuser les autres avant que la requête n’atteigne WordPress.

Sur Apache, la restriction peut être placée dans un fichier .htaccess du répertoire /wp-admin/, ou dans une configuration serveur ciblée. La syntaxe dépend de la configuration d’Apache ; sur Apache 2.4, les directives Require ip servent à désigner les adresses autorisées. Vérifiez les règles existantes et leur mode de combinaison avant de les modifier.

Sur Nginx, les directives allow et deny peuvent être utilisées dans un bloc location ciblant /wp-admin/. La configuration doit ensuite être vérifiée et rechargée selon les procédures de votre hébergeur.

Cette méthode convient moins bien aux personnes qui changent souvent de réseau. Si votre IP évolue lors d’un déplacement ou d’une connexion mobile, vous risquez de vous bloquer vous-même.

Préserver l’accès à admin-ajax.php

Le fichier /wp-admin/admin-ajax.php peut être utilisé par le site public, notamment par des thèmes et certaines fonctionnalités interactives. Bloquer tout le répertoire sans exception peut donc casser des actions visibles par vos visiteurs.

Prévoyez, si nécessaire, une exception pour ce fichier et testez les fonctions concernées. Cette exception ne doit pas donner accès à l’ensemble de l’administration.

Ajouter une authentification HTTP

Si vous ne disposez pas d’IP fixes, l’authentification HTTP constitue un autre verrou : le serveur demande un identifiant et un mot de passe avant d’afficher la zone protégée.

Sur Apache, elle utilise généralement un fichier .htpasswd et une configuration .htaccess. Sur Nginx, elle repose notamment sur la directive auth_basic dans la zone ciblée. Vous pouvez protéger /wp-admin/ et, selon vos besoins, /wp-login.php, en tenant compte des exceptions nécessaires aux fonctions publiques.

Utilisez HTTPS, un mot de passe long et unique, distinct de vos identifiants WordPress. Si un collaborateur quitte le projet, changez le secret partagé ou retirez son accès. Les erreurs de sécurité WordPress les plus courantes permettent de compléter cette vérification.

Avec W-Maintenance

Confiez la protection de vos accès à W-Maintenance

Notre équipe peut configurer les protections adaptées à votre hébergement et vérifier les accès à votre administration WordPress.

Nettoyer et sécuriser mon site

Protéger wp-login.php et limiter les informations exposées

La page wp-login.php est distincte du répertoire /wp-admin/. Protéger ce dernier ne suffit donc pas nécessairement à empêcher les tentatives directes sur le formulaire de connexion.

Vous pouvez appliquer à wp-login.php une restriction par IP ou une authentification HTTP adaptée à votre usage. Une limitation des requêtes côté serveur ou pare-feu peut aussi freiner les rafales de tentatives. Assurez-vous que les utilisateurs légitimes peuvent toujours se connecter et réinitialiser leur mot de passe.

Le filtrage de certains paramètres ou agents utilisateurs peut réduire une partie du bruit, mais il ne remplace pas une véritable limitation de débit. Pour approfondir les options, consultez notre guide pour limiter les tentatives de connexion sur WordPress.

Faut-il masquer l’adresse de connexion ?

Déplacer réellement /wp-admin/ sans extension est délicat : WordPress et ses fonctionnalités utilisent des chemins standard. Des règles de réécriture ou de filtrage peuvent ajouter une difficulté pour certains robots, mais elles compliquent aussi la maintenance et les tests.

Considérez le masquage comme une mesure complémentaire, pas comme un contrôle d’accès. Un identifiant et un mot de passe solides, associés à une protection serveur, restent nécessaires même si l’adresse est moins visible.

Réduire l’énumération des utilisateurs

Certaines archives d’auteur, réponses de connexion ou routes peuvent donner des indices sur les identifiants utilisés. Vérifiez ce que votre site expose et limitez, au cas par cas, les informations ou routes dont vous n’avez pas besoin.

Ne bloquez pas indistinctement toutes les archives ou API : elles peuvent servir au thème, aux visiteurs ou à des intégrations. La réduction de ces indices ne dispense pas de protéger les comptes et de limiter les tentatives de connexion.

Renforcer WordPress, HTTPS et les fichiers sensibles

Désactiver l’éditeur de fichiers dans l’administration

L’éditeur de thèmes et d’extensions permet de modifier du code depuis le tableau de bord. S’il est inutile à votre fonctionnement, désactivez-le en ajoutant cette ligne dans wp-config.php, avant la ligne indiquant d’arrêter les modifications :

define( 'DISALLOW_FILE_EDIT', true );

Vous pourrez continuer à modifier les fichiers par SFTP ou par un autre moyen adapté à votre hébergement. Cette constante ne bloque pas l’installation d’extensions : elle supprime uniquement l’accès aux éditeurs de fichiers intégrés.

Vérifier HTTPS et les cookies de connexion

Sans HTTPS, les identifiants ou la session peuvent être exposés pendant leur transmission. Vérifiez que :

  • le certificat TLS est valide et ne provoque pas d’avertissement dans le navigateur ;
  • les requêtes HTTP sont redirigées vers HTTPS, de préférence côté serveur ;
  • les adresses WordPress et du site utilisent https dans Réglages > Général ;
  • la connexion et l’administration restent accessibles en HTTPS après modification.

Les cookies d’authentification doivent être transmis dans un contexte sécurisé. Une configuration incorrecte du proxy ou des redirections peut provoquer une boucle : testez les réglages avant de les généraliser.

Vérifier les permissions et la propriété

Des fichiers trop largement modifiables peuvent faciliter l’ajout de code malveillant si une autre faille est exploitée. Les repères courants sont 755 pour les répertoires et 644 pour les fichiers, à adapter aux contraintes de l’hébergement.

Le fichier wp-config.php, qui contient des informations sensibles, peut parfois recevoir des permissions plus restrictives. Vérifiez également la propriété des fichiers : une propriété incohérente peut conduire à ouvrir excessivement les permissions pour faire fonctionner le site.

Contrôler XML-RPC et les en-têtes de sécurité

Restreindre XML-RPC si le site ne l’utilise pas

Le fichier xmlrpc.php peut servir à certaines applications ou intégrations distantes, mais il peut aussi être ciblé par des tentatives automatisées. Si aucune fonctionnalité n’en dépend, vous pouvez envisager une restriction côté serveur ou une configuration WordPress sans extension.

Avant de le bloquer, vérifiez notamment la publication à distance, les intégrations et les outils de surveillance. Si un service légitime en a besoin depuis une IP connue, une restriction aux seules adresses nécessaires peut être envisagée.

Ajouter des en-têtes avec prudence

Les en-têtes HTTP ne corrigent pas un mot de passe faible, mais ils peuvent réduire certains risques liés au navigateur :

  • X-Frame-Options ou la directive CSP frame-ancestors limite l’intégration de l’administration dans une iframe ;
  • X-Content-Type-Options: nosniff limite certains comportements de détection du type de contenu ;
  • Referrer-Policy contrôle les informations de provenance transmises lors de la navigation.

Appliquez ces réglages selon votre configuration et testez l’administration après chaque changement. Une politique CSP trop stricte peut notamment empêcher des scripts légitimes de fonctionner dans l’éditeur de blocs.

Tester les accès et maintenir les protections

Après chaque modification, vérifiez le résultat avant de passer à la suivante. Une règle de sécurité peut produire une erreur 403, une boucle de redirection ou une panne qui ne touche qu’un rôle ou une fonction précise.

Suivez cette liste de contrôle :

  1. Connectez-vous et déconnectez-vous, puis testez Mot de passe oublié.
  2. Essayez la publication, l’éditeur, l’envoi de médias et les mises à jour.
  3. Vérifiez les fonctions publiques qui utilisent admin-ajax.php ou des API.
  4. Testez les intégrations distantes si vous avez restreint XML-RPC.
  5. Vérifiez que les pages publiques et leurs ressources restent accessibles, avec des codes HTTP cohérents.

Les règles visant l’administration ne doivent pas bloquer par inadvertance le rendu ou l’exploration des pages publiques. En cas de doute, suivez la procédure pour vérifier l’indexation de votre site WordPress.

Enfin, documentez les règles, les exceptions et la marche arrière. Contrôlez régulièrement les comptes administrateurs, supprimez les accès inutiles et gérez les secrets lorsque l’équipe change. Sur plusieurs sites ou environnements, une configuration documentée et des tests communs facilitent le suivi.

La protection de l’administration ne remplace pas l’entretien général : thèmes et extensions inutilisés, comptes oubliés ou composants abandonnés augmentent la surface à examiner. Les mises à jour WordPress font partie de cet entretien, avec les sauvegardes et les vérifications de sécurité.

Avec W-Maintenance

Faites vérifier la sécurité de votre site WordPress

W-Maintenance peut examiner vos accès, vos réglages et les points de vigilance de votre site.

Voir les formules

À retenir

  • Sauvegardez les fichiers et gardez un accès de secours avant de modifier les règles serveur.
  • Protégez /wp-admin/ et examinez séparément l’accès à wp-login.php.
  • Préservez les fonctions qui dépendent de admin-ajax.php et testez XML-RPC avant de le restreindre.
  • Utilisez HTTPS, désactivez l’éditeur de fichiers inutile et vérifiez les comptes administrateurs.
  • Testez le site public et l’administration après chaque changement, puis documentez les règles.

Questions fréquentes

Peut-on sécuriser wp-admin sans plugin ?

Oui. Un filtrage par IP ou une authentification HTTP peut être configuré côté serveur, puis complété par HTTPS et la désactivation de l’éditeur de fichiers. Les réglages doivent être adaptés à votre hébergement et testés.

Pourquoi le site public ne fonctionne-t-il plus après le blocage de wp-admin ?

Certaines fonctionnalités publiques utilisent le fichier /wp-admin/admin-ajax.php. Si tout le répertoire est bloqué, elles peuvent cesser de fonctionner. Vérifiez si une exception ciblée est nécessaire et testez les actions concernées.

Faut-il masquer wp-login.php pour protéger WordPress ?

Le masquage peut gêner certains robots, mais il ne remplace pas un contrôle d’accès. Protégez aussi les comptes et envisagez une restriction par IP, une authentification HTTP ou une limitation des tentatives côté serveur.

Article rédigé avec l’aide d’une IA à partir des sources citées et de notre pratique de la maintenance WordPress. Notre méthode éditoriale.

Parlons de votre site

Un souci avec votre site WordPress ?

Mises à jour, panne, piratage, lenteur : décrivez-nous la situation, un expert vous répond en général dans les deux heures ouvrées.

Décrire mon problèmeVoir les formules

Nous contacter