Aller au contenu
Nous contacter

Sécurité

Comment sécuriser wp-config.php et .htaccess sur WordPress

Sécuriser wp-config.php et .htaccess permet de mieux protéger la configuration de votre site WordPress. Découvrez les contrôles à effectuer, les règles adaptées à votre serveur et les tests à mener après chaque modification.

Comment sécuriser wp-config.php et .htaccess sur WordPress
Au sommaire

Pour sécuriser wp-config.php et .htaccess, commencez par sauvegarder votre site, limiter les accès aux fichiers et vérifier que le serveur ne les expose pas aux visiteurs. Sur Apache, une règle adaptée peut compléter cette protection ; sur Nginx, elle doit être configurée dans le serveur. Testez ensuite le site et gardez une copie des fichiers d’origine pour pouvoir revenir en arrière.

Comprendre le rôle de wp-config.php et de .htaccess

Le fichier wp-config.php contient notamment les informations de connexion à la base de données WordPress et les clés de sécurité utilisées pour les sessions. Il peut aussi contenir des réglages propres à votre installation, ajoutés par vous, votre hébergeur ou certaines extensions.

Ces informations ne doivent pas être transmises à un visiteur. En fonctionnement normal, PHP exécute le fichier au lieu d’afficher son contenu. Mais une mauvaise configuration du serveur, une copie de sauvegarde accessible sur le Web ou une installation mal placée peut exposer des données sensibles.

Le fichier .htaccess, quant à lui, est un fichier de configuration utilisé par Apache et par certains serveurs compatibles. WordPress peut y placer des règles pour les permaliens. Des extensions ou l’hébergeur peuvent également y ajouter des redirections et des règles de sécurité.

Une modification incorrecte de .htaccess peut provoquer une erreur 500, bloquer certaines pages ou rendre l’administration inaccessible. Ce fichier peut aussi devenir un point d’entrée pour des redirections indésirables s’il est modifié par une personne malveillante.

Les deux protections à distinguer sont donc :

  • L’accès depuis le Web : un visiteur ne doit pas pouvoir récupérer le contenu de ces fichiers.
  • L’accès sur le serveur : seuls les comptes et processus qui en ont besoin doivent pouvoir les lire ou les modifier.

Une règle Web ne protège pas contre un compte FTP compromis. À l’inverse, des permissions restrictives ne remplacent pas une configuration correcte du serveur Web.

Préparer une sauvegarde et repérer les fichiers sensibles

Avant toute modification des fichiers, des permissions ou de la configuration serveur, effectuez une sauvegarde complète des fichiers et de la base de données. Vérifiez qu’elle est récupérable et que vous connaissez la procédure de restauration de votre hébergeur.

Conservez aussi une copie distincte des deux fichiers d’origine, dans un emplacement privé. Ne créez pas de copie comme wp-config.php.bak dans un dossier accessible sur le Web : elle pourrait être téléchargée comme un simple fichier texte.

Avant de modifier la configuration

Une erreur dans wp-config.php ou .htaccess peut interrompre le site. Assurez-vous de pouvoir accéder aux fichiers par le gestionnaire de votre hébergeur ou par SFTP, même si le tableau de bord WordPress ne fonctionne plus.

Trouver les fichiers sans les exposer

Connectez-vous au gestionnaire de fichiers de votre hébergement ou avec un client SFTP. Le nom et l’emplacement de l’outil varient selon l’hébergeur : consultez son espace client ou sa documentation si nécessaire.

Dans le dossier d’installation de WordPress, cherchez notamment wp-admin, wp-content et wp-includes. Le fichier wp-config.php se trouve généralement au même niveau. Un fichier .htaccess peut également s’y trouver.

Comme son nom commence par un point, .htaccess peut être masqué dans votre gestionnaire de fichiers. Activez l’affichage des fichiers cachés si l’option existe. Son absence n’indique pas nécessairement un problème : notamment, Nginx ne l’utilise pas.

Ne publiez pas le contenu de wp-config.php dans un forum ou dans une capture d’écran. Pour demander de l’aide, indiquez plutôt le symptôme, le type de serveur si vous le connaissez et les opérations déjà effectuées, sans transmettre d’identifiants ni de clés.

Identifier le serveur avant d’appliquer une règle

Consultez les informations de votre hébergement pour savoir si votre site fonctionne avec Apache, Nginx ou une configuration associant plusieurs serveurs. En cas de doute, demandez à l’hébergeur quel composant traite les requêtes et où les règles de protection doivent être placées.

La présence d’un fichier .htaccess ne prouve pas qu’il est lu. Sur Apache, sa prise en compte dépend également de la configuration du serveur. Sur Nginx, les directives de protection se placent dans la configuration Nginx, pas dans .htaccess.

Avec W-Maintenance

Vérifier les accès à vos fichiers WordPress

W-Maintenance peut intervenir pour sécuriser votre site WordPress et examiner les accès à ses fichiers sensibles.

Nettoyer et sécuriser mon site

Régler les permissions de wp-config.php et de .htaccess

Les permissions déterminent les accès accordés au propriétaire du fichier, à son groupe et aux autres utilisateurs du serveur. Elles ne doivent pas autoriser tout le monde à modifier les fichiers sensibles.

Une valeur comme 644 donne au propriétaire le droit de lire et d’écrire, et aux autres catégories le droit de lire. Une valeur comme 640 restreint davantage la lecture. La valeur adaptée dépend toutefois du propriétaire des fichiers, du groupe et du compte sous lequel PHP fonctionne.

Pour wp-config.php, un réglage plus restrictif, tel que 600 ou 640, peut convenir sur certains hébergements, mais pas sur tous. Si PHP ne peut plus lire le fichier, WordPress risque de ne plus fonctionner. Ne choisissez donc pas une valeur uniquement parce qu’elle est présentée comme plus sécurisée.

Pour .htaccess, il faut aussi tenir compte des besoins de WordPress et des extensions : certaines opérations peuvent nécessiter une écriture. Un fichier non modifiable peut être acceptable si vous gérez vous-même les règles, mais un changement de permaliens ou une extension peut alors demander une intervention manuelle.

Modifier les permissions prudemment

Après avoir effectué la sauvegarde et noté les valeurs actuelles :

  1. Dans le gestionnaire de fichiers de l’hébergeur ou votre client SFTP, repérez le fichier concerné.
  2. Ouvrez l’option de permissions ou de droits d’accès. Son nom dépend de l’outil utilisé.
  3. Relevez la valeur existante et, si elle est affichée, l’identité du propriétaire et du groupe.
  4. Appliquez la valeur recommandée par votre hébergeur pour votre configuration.
  5. Testez immédiatement l’accueil, une page interne et l’administration. Si une erreur apparaît, rétablissez la valeur précédente.

Évitez 777 : cette valeur accorde lecture, écriture et exécution à toutes les catégories d’utilisateurs. Elle ne constitue pas une solution adaptée pour régler un problème d’accès à wp-config.php ou à .htaccess.

Ne changez pas les permissions de tous les dossiers et fichiers en une seule opération sans comprendre les conséquences. Si vous ne pouvez pas identifier le compte utilisé par PHP ou le propriétaire des fichiers, demandez à votre hébergeur avant de poursuivre.

Bloquer l’accès Web aux fichiers sur Apache

Si votre site utilise Apache et que l’hébergeur autorise les règles d’accès dans .htaccess, vous pouvez ajouter une protection explicite. Elle complète la configuration du serveur et les permissions ; elle ne remplace ni l’une ni les autres.

Avant de modifier .htaccess, sauvegardez le site et téléchargez une copie privée du fichier existant. Ouvrez-le ensuite dans un éditeur de texte adapté, sans supprimer les règles déjà présentes.

Vous pouvez ajouter les directives suivantes en dehors du bloc de règles géré par WordPress :

<Files "wp-config.php">
    Require all denied
</Files>

<Files ".htaccess">
    Require all denied
</Files>

Ces directives utilisent la syntaxe d’autorisation Apache Require. Leur fonctionnement dépend de la configuration du serveur et des modules disponibles. Si le site affiche une erreur 500 après l’ajout, restaurez immédiatement le fichier d’origine et vérifiez la compatibilité auprès de votre hébergeur.

Évitez de placer vos propres règles entre les commentaires qui délimitent le bloc géré par WordPress : ce bloc peut être réécrit. De même, ne supprimez pas les règles de redirection, de cache ou de sécurité existantes sans avoir identifié leur rôle.

La protection par nom de fichier ne couvre pas automatiquement les copies portant d’autres noms, comme une ancienne sauvegarde. Le moyen le plus sûr est de conserver ces copies hors de l’espace accessible sur le Web, plutôt que de multiplier les règles pour chaque variante.

Que faire avec Nginx ou un serveur géré ?

Nginx ignore .htaccess. Il faut donc vérifier les règles dans sa configuration serveur, qui peut être accessible uniquement à l’hébergeur ou à l’administrateur système. Une protection ajoutée dans .htaccess ne prouve rien si ce fichier n’est pas interprété.

Demandez à votre hébergeur de confirmer que wp-config.php et les fichiers cachés concernés ne sont pas servis aux visiteurs, et que PHP traite correctement les fichiers PHP. Si Apache se trouve derrière un autre serveur, faites vérifier l’ensemble de la chaîne.

Si vous soupçonnez qu’une règle existante provoque une panne, consultez aussi notre guide sur les problèmes du fichier .htaccess sur WordPress. Ne remplacez pas le fichier complet par un modèle trouvé en ligne : vous pourriez perdre des règles propres à votre site.

Vérifier la protection et réagir à une exposition

Après chaque changement, contrôlez le site depuis un navigateur, de préférence dans une fenêtre privée. Testez l’accueil, plusieurs pages internes, la connexion à l’administration et les fonctionnalités importantes, comme une réservation ou un formulaire.

Essayez ensuite d’accéder aux URL correspondant à wp-config.php et à .htaccess, à partir de l’adresse de votre site. Le contenu ne doit pas être affiché ni téléchargé. Une réponse 403 ou 404 peut indiquer que l’accès est refusé ou que le fichier n’est pas servi à cette adresse.

Un écran vide pour wp-config.php ne suffit pas à démontrer que toutes les protections sont en place : PHP peut simplement avoir exécuté un fichier qui ne produit aucun affichage. Faites confirmer la configuration par l’hébergeur, notamment si vous ne savez pas quel serveur traite la demande.

Vérifiez également que les copies anciennes, fichiers temporaires et archives ne sont pas présents dans les dossiers accessibles aux visiteurs. Faites cette recherche dans le gestionnaire de fichiers, sans tenter de publier ou de partager ces documents.

Si le contenu de wp-config.php a été visible

Si vous avez pu lire ou télécharger le contenu de wp-config.php depuis le Web, considérez ses secrets comme potentiellement compromis. Ne vous contentez pas de masquer le fichier après coup.

  1. Faites corriger sans attendre la configuration qui permet l’exposition.
  2. Après sauvegarde et avec l’aide de l’hébergeur si nécessaire, remplacez les identifiants de base de données concernés et mettez la configuration WordPress en cohérence. Une modification incomplète peut couper la connexion au site.
  3. Remplacez les clés et sels de sécurité WordPress par de nouvelles valeurs. Cette opération déconnecte les utilisateurs dont les sessions reposent sur ces clés.
  4. Examinez les comptes, les fichiers et les journaux disponibles pour rechercher d’éventuels accès ou modifications suspects.
  5. Changez aussi les autres secrets éventuellement présents dans le fichier, selon les services concernés.

Si vous constatez des fichiers modifiés sans explication, des comptes inconnus ou des redirections, suivez une démarche de détection d’un site WordPress piraté. L’exposition d’un fichier ne prouve pas à elle seule qu’une intrusion a eu lieu, mais elle justifie une vérification.

Maintenir la protection dans le temps

Sécuriser wp-config.php et .htaccess n’est pas une opération isolée. Une migration, un changement d’hébergement, une restauration ou l’installation d’une extension peut modifier les règles ou les accès. Après ce type d’intervention, reprenez les contrôles essentiels : permissions, accès Web et fonctionnement des pages.

Limitez également les accès à l’hébergement et aux comptes SFTP aux personnes qui en ont besoin. Utilisez des mots de passe distincts et robustes, et activez une authentification supplémentaire lorsqu’elle est proposée. Un accès serveur compromis peut permettre de modifier les fichiers, même si leur accès depuis le navigateur est bloqué.

Gardez une trace de vos réglages dans un document privé : emplacement des fichiers, permissions recommandées par l’hébergeur, règles ajoutées et procédure de retour arrière. Ne placez pas les mots de passe ni le contenu complet de wp-config.php dans un document partagé sans protection.

Enfin, maintenez WordPress, ses thèmes et ses extensions à jour après sauvegarde et vérification de compatibilité. Des fichiers correctement protégés ne corrigent pas une extension vulnérable ni un compte administrateur compromis. Pour élargir les contrôles, consultez notre audit de sécurité WordPress.

Si les règles du serveur sont difficiles à identifier ou si vous suspectez une intrusion, W-Maintenance propose une intervention ponctuelle de nettoyage et sécurisation d’un site WordPress piraté.

Avec W-Maintenance

Faire examiner la sécurité de votre site WordPress

L’équipe W-Maintenance assure la sécurité et la réparation de sites WordPress. Vous pouvez demander une intervention adaptée à votre situation.

Voir les formules

À retenir

  • Sauvegardez les fichiers et la base de données avant de modifier une configuration ou des permissions.
  • Gardez les copies de wp-config.php hors des dossiers accessibles sur le Web.
  • Adaptez les permissions au compte utilisé par PHP et aux recommandations de votre hébergeur.
  • Les règles .htaccess concernent Apache lorsqu’il est configuré pour les lire ; Nginx utilise sa propre configuration.
  • Après chaque changement, testez le site et vérifiez que les fichiers sensibles ne sont pas exposés.

Questions fréquentes

Peut-on sécuriser wp-config.php uniquement avec les permissions ?

Non. Les permissions limitent les accès sur le serveur, mais elles ne remplacent pas une configuration correcte du serveur Web. Vérifiez les deux aspects et adaptez les droits au fonctionnement de votre hébergement.

La protection placée dans .htaccess fonctionne-t-elle sur Nginx ?

Non, Nginx ne lit pas .htaccess. La protection doit être définie dans la configuration Nginx, avec l’aide de l’hébergeur si vous n’y avez pas accès.

Que faire si une modification de .htaccess provoque une erreur 500 ?

Rétablissez la copie du fichier conservée avant la modification, puis vérifiez que le site fonctionne de nouveau. Demandez ensuite à votre hébergeur si la syntaxe utilisée est compatible avec sa configuration Apache.

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