Durcir la sécurité de WordPress : les réglages qui comptent

Une extension de sécurité ne remplace pas une installation bien réglée. Le durcissement, c’est l’ensemble des petits réglages qui ferment les portes inutiles : chacun, pris seul, paraît modeste, mais ensemble ils rendent ton site beaucoup moins intéressant pour les robots qui balaient le web à la recherche de cibles faciles.
Avant de toucher à quoi que ce soit, fais une sauvegarde complète. Plusieurs réglages ci-dessous se font dans wp-config.php ou .htaccess, et une faute de frappe peut rendre le site inaccessible.
Interdire l’édition de fichiers depuis l’admin
Par défaut, un administrateur peut modifier le code du thème et des extensions depuis le tableau de bord (Apparence > Éditeur de fichiers des thèmes, Extensions > Éditeur de fichiers des extensions). Si un pirate obtient un compte administrateur, c’est sa porte d’entrée la plus directe. Ajoute cette ligne dans wp-config.php, au-dessus du commentaire qui indique d’arrêter l’édition :
define( 'DISALLOW_FILE_EDIT', true );
La constante DISALLOW_FILE_MODS va plus loin en bloquant aussi l’installation et la mise à jour d’extensions depuis l’admin. Elle n’a de sens que si tes mises à jour passent par un autre canal (WP-CLI, déploiement), sinon tu risques d’oublier de mettre à jour.
Clés de sécurité et préfixe de tables
Les clés et « grains de sel » de wp-config.php chiffrent les cookies de connexion. Vérifie qu’elles ne sont pas restées vides ou identiques à un exemple. Le générateur officiel de WordPress.org en fournit un jeu neuf à chaque visite ; les remplacer déconnecte tous les utilisateurs, ce qui est utile après un incident.
Le préfixe de tables (wp_ par défaut) se choisit à l’installation. Le changer sur un site existant est possible, mais délicat : il faut renommer les tables et mettre à jour certaines valeurs en base. Le gain est modeste ; ne t’y lance pas sans sauvegarde et sans méthode éprouvée.
Droits sur les fichiers
Des droits trop larges permettent à un script compromis d’écrire partout. Les recommandations courantes de la documentation WordPress :
| Élément | Droits habituels |
|---|---|
| Dossiers | 755 |
| Fichiers | 644 |
wp-config.php | 440 ou 400 selon l’hébergement |
Ne mets jamais 777, même « pour tester ». Selon la configuration du serveur, certains réglages plus stricts peuvent empêcher les mises à jour : vérifie avec ton hébergeur.
XML-RPC
Le fichier xmlrpc.php permet à des applications externes de publier sur ton site. Il est aussi très utilisé pour tenter des mots de passe en masse. Si tu ne te sers ni de l’application mobile, ni d’un outil qui en dépend (certaines fonctions de Jetpack, par exemple), tu peux le désactiver, par une extension de sécurité ou par une règle serveur qui bloque l’accès au fichier.
Limiter les tentatives de connexion
WordPress n’impose aucune limite au nombre d’essais sur la page de connexion. Une extension de sécurité ou un réglage côté hébergeur peut bloquer une adresse après quelques échecs. Ajoute la double authentification pour les comptes administrateurs : même un mot de passe deviné ne suffira plus. Notre comparatif des extensions de sécurité t’aidera à choisir l’outil qui regroupe ces fonctions.
Comptes et rôles
- supprime l’identifiant
admins’il existe encore et évite un identifiant identique au nom affiché ; - donne à chacun le rôle minimal dont il a besoin : un rédacteur n’a pas à être administrateur ;
- supprime les comptes des anciens prestataires et stagiaires ;
- impose des mots de passe longs et uniques, idéalement gérés par un gestionnaire de mots de passe.
Fais ce ménage dans Comptes > Tous les comptes au moins deux fois par an.
HTTPS partout
Un certificat est aujourd’hui fourni par la plupart des hébergeurs. Vérifie que toutes les pages, l’administration comprise, redirigent vers la version sécurisée et qu’il ne reste pas de contenus appelés en HTTP. Si ce n’est pas encore fait, suis notre guide pour passer ton site de HTTP à HTTPS.
En-têtes de sécurité
Les en-têtes HTTP indiquent au navigateur comment se protéger. Les plus courants :
Strict-Transport-Security: impose HTTPS pour les visites suivantes ;X-Content-Type-Options: nosniff: empêche le navigateur de deviner le type d’un fichier ;X-Frame-Optionsou la directiveframe-ancestors: limite l’affichage de ton site dans un cadre sur un autre site ;Referrer-Policy: contrôle les informations transmises aux sites vers lesquels tu fais des liens ;Content-Security-Policy: liste les sources autorisées pour les scripts et les styles. C’est le plus protecteur, mais aussi le plus facile à mal régler : teste-le en mode « rapport seulement » avant de l’appliquer.
Ils se posent dans .htaccess, dans la configuration du serveur ou par une extension. Ces réglages demandent un peu de rigueur et quelques connaissances serveur : si tu préfères confier le durcissement et son suivi à des professionnels, l’agence NEWP propose ce type d’intervention.
Les mises à jour, encore et toujours
La grande majorité des intrusions passent par une extension ou un thème non mis à jour. Active les mises à jour automatiques des versions mineures de WordPress, surveille celles des extensions et supprime ce qui ne sert plus. Pour les sites importants, teste d’abord sur une copie, comme expliqué dans notre article sur les précautions avant une mise à jour.
Note dans un coin la date de ton dernier passage sur cette liste et refais-le une fois par an : un site évolue, de nouveaux comptes et de nouvelles extensions arrivent, et les portes se rouvrent sans bruit.
Cet article peut contenir des liens partenaires. Ils n'influencent jamais ce que nous écrivons.