Autorisations de fichiers WordPress : le guide pour configurer les autorisations de sites Web et de serveurs Web sécurisés
Publié: 2020-07-02WordPress peut pratiquement fonctionner sur n'importe quel système d'exploitation qui exécute PHP. Cependant, la grande majorité des sites Web WordPress fonctionnent sous Linux. Par conséquent, il est important que vous compreniez les autorisations de fichiers Linux.
Il est crucial d'obtenir les bonnes autorisations de fichiers. La définition d'autorisations de fichiers incorrectes peut ouvrir votre site Web aux attaques. Des autorisations de fichiers incorrectes peuvent permettre à des utilisateurs non autorisés d'accéder à des fichiers et des données potentiellement sensibles. Ces données peuvent ensuite être utilisées comme tremplin vers une attaque plus importante.
En tant qu'administrateur WordPress, les autorisations de fichiers peuvent sembler un peu intimidantes, surtout si vous êtes nouveau sur Linux. N'ayez pas peur ! Ce guide explique quelles sont les autorisations de fichiers sur Linux à partir de zéro. Il explique également comment les autorisations de fichiers Linux s'appliquent à votre site Web WordPress.
Table des matières
- Que sont les autorisations de fichiers ?
- Groupes d'autorisations
- Types d'autorisations
- Représentation des autorisations
- Autorisations recommandées pour les fichiers WordPress
- Comment réparer les autorisations de fichiers WordPress
- Sur un service d'hébergement mutualisé
- par FTP
- par SSH
- Astuce bonus : la sécurité au-delà des autorisations de fichiers
Que sont les autorisations de fichiers ?
Groupes d'autorisations
Tout commence par qui . Comme tout autre système d'exploitation, Linux a un concept d' utilisateurs et de groupes . Lorsque vous définissez qui a accès à un fichier, chaque fichier et répertoire d'un système Linux dispose de trois groupes d'autorisations.
- Propriétaire
- Chaque fichier ou répertoire a un propriétaire.
- Les autorisations de propriétaire s'appliquent uniquement au propriétaire du fichier ou du répertoire. Ils n'auront pas d'impact sur les actions des autres utilisateurs.
- Grouper
- Chaque fichier ou répertoire peut être attribué à un groupe d'utilisateurs qui y ont accès.
- Les autorisations de groupe s'appliquent uniquement au groupe qui a été affecté au fichier ou au répertoire. Ils n'auront pas d'impact sur les actions des autres utilisateurs.
- Autre
- Chaque fichier ou répertoire peut définir les autorisations dont disposent "tous les autres". Autrement dit, en dehors du propriétaire ou du groupe que nous avons défini.
- Les autres autorisations s'appliquent à tous les autres utilisateurs du système. Il s'agit du groupe d'autorisations que vous souhaitez surveiller le plus, car vous pouvez involontairement autoriser l'accès à tout le monde.
Types d'autorisation
Maintenant que nous savons comment spécifier qui a accès à un fichier ou à un répertoire, nous devons choisir le type d'autorisations que nous accordons à chaque propriétaire , groupe et autre pour les fichiers ou répertoires. Voici les types d'autorisations que nous pouvons accorder à un groupe d'autorisations ( propriétaire , groupe , autre ) :
- Lire
- Le type d'autorisation de lecture fait référence à la capacité d'un utilisateur à lire le contenu du fichier.
- Écrivez
- L'autorisation d' écriture fait référence à la capacité d'un utilisateur à écrire et/ou modifier le contenu du fichier.
- Il est possible d'autoriser un utilisateur à écrire dans un fichier sans qu'il puisse lire son contenu.
- Exécuter
- L'autorisation d' exécution affecte la capacité d'un utilisateur à exécuter un fichier, par exemple un script.
- L'autorisation d' exécution permet également à un utilisateur de visualiser le contenu d'un répertoire.
Représentation des autorisations
Maintenant que nous comprenons comment fonctionnent les autorisations, regardons comment une autorisation Linux serait réellement représentée. Les autorisations de fichiers sont stockées sous la forme d'une série de 3 chiffres. Cependant, ils peuvent également être représentés sous forme de lettres, ce qui les rend un peu plus faciles à lire. Commençons par comprendre ce que signifient ces chiffres.
- Premier numéro
- Autorisations données au propriétaire
- Deuxième numéro
- Autorisations accordées au groupe
- Troisième numéro
- Autorisations accordées à d' autres (tous les autres, sauf le propriétaire et le groupe )
Chaque numéro correspond à une combinaison d'un ou plusieurs types d'autorisations dont nous avons parlé précédemment. Comprendre cela est beaucoup plus facile lorsqu'il est visualisé. Chaque type d'autorisation porte un poids qui est additionné pour chaque groupe d'autorisations .
Embrouillé? Cela peut prendre un certain temps et un peu de pratique pour comprendre cela. En attendant, voici un tableau de toutes les autorisations de fichiers possibles que vous pouvez attribuer à chaque groupe d'autorisations .
Nombre | Des lettres | La description |
---|---|---|
0 (0+0+0) | --- | Pas d'accès |
1 (0+0+1) | --X | Exécuter |
2 (0+2+0) | -w- | Écrivez |
3 (0+2+1) | -wx | Écrire et exécuter |
4 (4+0+0) | r-- | Lire |
5 (4+0+1) | réception | Lire et exécuter |
6 (4+2+0) | rw- | Lire et écrire |
7 (4+2+1) | rwx | Lire, écrire et exécuter |
Pour voir un exemple concret, une autorisation de fichier 644 signifie
- autorisation du propriétaire de lire et d' écrire le fichier ou le répertoire
- le groupe est autorisé à lire le fichier ou le répertoire
- autre a la permission de lire le fichier ou le répertoire
Vous verrez généralement ces valeurs représentées sans aucun espace entre elles, et avec un – ou d supplémentaire au début. Le – indique un fichier régulier. d désigne un répertoire. Voici un exemple utilisant la commande Linux ls -la pour répertorier les fichiers dans un répertoire.
$ ls -la totale 0 drwxr-xr-x 4 groupe d'utilisateurs 128 25 mai 23:25 . drwxrwxrwt 8 roue racine 256 25 mai 23:25 .. drwxr-xr-x 2 groupe d'utilisateurs 64 25 mai 23:25 répertoire -rw-r--r-- 1 groupe d'utilisateurs 0 25 mai 23:25 file.txt
Autorisations recommandées pour les fichiers WordPress
La définition d'autorisations de fichiers WordPress incorrectes pourrait entraîner l'octroi accidentel d'un accès à d'autres utilisateurs que vous ne le souhaitez. Dans le pire des cas, cela peut permettre à un attaquant de modifier le contenu d'un fichier important auquel il n'est pas censé avoir accès. Cela peut également permettre à tout utilisateur sur Internet de lire des fichiers sensibles dans votre installation WordPress.
C'est pourquoi vous ne devez jamais définir les autorisations de fichiers WordPress sur 777 (-rwxrwxrwx). Cela permettrait un accès complet en lecture, écriture et exécution à toute personne en mesure de contrôler ce fichier. Il peut s'agir d'un tiers effectuant des modifications via FTP ou SSH, ou d'un attaquant via un formulaire de téléchargement.
D'un autre côté, vous devez faire attention à ne pas rendre les choses trop restrictives pour que WordPress puisse faire son travail. Étant donné que WordPress lui-même, ainsi que les thèmes et les plugins, devront souvent apporter des modifications en toute sécurité à plusieurs fichiers. Par exemple, lorsque WordPress se met à jour automatiquement pour protéger votre site contre les failles de sécurité.
Donc, pour les besoins de l'argumentation, une autorisation de 444 (-r–r–r–) peut entraîner un dysfonctionnement de votre site Web WordPress. Avec 444 , WordPress ne sera autorisé qu'en lecture , donc les mises à jour automatiques échoueront . Cela étant dit, il est possible d'exécuter WordPress avec des autorisations en lecture seule ( 444 , ou r–r–r–). Ce sera une installation très sucrée. Cependant, vous devrez tenir compte des limitations susmentionnées.
Certains fournisseurs d'hébergement WordPress gérés prennent en charge cette fonctionnalité prête à l'emploi. Cependant, si vous souhaitez exécuter WordPress avec de telles autorisations, essayez-le d'abord sur l'environnement de staging.
Les autorisations de fichiers recommandées par WordPress sont les suivantes.
Taper | Nombres | Des lettres | La description |
---|---|---|---|
Annuaires | 755 | drwx-wx-wx | Répertoires d'installation de WordPress |
Des dossiers | 644 | -rwxr--r-- | Noyau WordPress, thèmes et plugins WordPress (des exceptions peuvent s'appliquer à certains thèmes et plugins) |
wp-config.php | 600 | -rw------- | Le fichier de configuration WordPress |
.htaccess | 644 ou 600 | -rw-r--r-- -rw------- | Fichier de configuration Apache HTTP Server (peut ne pas s'appliquer si vous utilisez Nginx ou un serveur Web autre qu'Apache HTTP Server) |
Comment réparer les autorisations de fichiers WordPress
Bien qu'un environnement d'hébergement diffère d'un autre, vous aurez toujours un moyen de contrôler les autorisations de fichiers WordPress.
Correction des autorisations de fichiers WordPress via votre panneau de contrôle d'hébergement partagé
Si vous utilisez un hébergement partagé, vous aurez probablement accès à un panneau de contrôle tel que cPanel ou Plesk. Dans ce cas, vérifiez auprès de votre fournisseur d'hébergement les étapes à suivre pour modifier les autorisations de fichiers sur votre site WordPress.
Correction des autorisations de fichiers WordPress via FTP
La correction des autorisations de fichiers WordPress peut être effectuée facilement via un client FTP tel que FileZilla ou Cyberduck. La capture d'écran suivante provient de Cyberduck. Cliquez simplement avec le bouton droit sur le fichier ou le répertoire dont vous souhaitez modifier les autorisations, cliquez sur Info , puis cliquez sur l'onglet Autorisations .
Le processus est similaire sur Filezilla. Cliquez avec le bouton droit sur le fichier, sélectionnez Autorisations de fichier et une boîte de dialogue similaire s'affichera.
Correction des autorisations WordPress via SSH
Si vous utilisez déjà un client SSH, vous pouvez exécuter la commande Linux chmod pour modifier les autorisations de fichiers. En prenant le même exemple que ci-dessus, pour changer les permissions de wp-config.php de 644 à 600 , nous utiliserons les commandes suivantes :
# changez de répertoire à l'emplacement de votre installation WordPress $ cd /var/www/html # liste les détails du fichier wp-config.php $ ls -la wp-config.php -rw-r--r-- 1 www-data www-data 7368 2 sept. 2019 wp-config.php # changer les permissions de wp-config.php du 644 actuel au 600 $ chmod 600 wp-config.php # vérifier votre changement $ ls -la wp-config.php -rw------- 1 www-data www-data 7368 2 septembre 2019 wp-config.php
Des autorisations de fichiers WordPress correctement configurées signifient un site Web plus sécurisé
Récapitulons ce qui a été couvert. Nous avons vu que les autorisations de fichiers nous permettent de spécifier qui et comment un fichier ou un répertoire peut être consulté et/ou modifié sur un système Linux. Nous avons également expliqué comment modifier les autorisations à la fois à l'aide d'un client SFTP et via SSH. Cependant, la chose la plus importante dont nous avons discuté est la raison pour laquelle vous devez veiller à définir correctement les autorisations de fichiers sur votre site Web WordPress.
Même si cela peut être un processus fastidieux au début, des autorisations de fichiers incorrectes peuvent exposer des fichiers sensibles sur votre site Web WordPress. De plus, ils peuvent permettre à un attaquant de transformer une vulnérabilité de faible gravité en une vulnérabilité plus dangereuse dans les bonnes circonstances.
Maintenant que vous avez une meilleure compréhension du fonctionnement des autorisations de fichiers sous Linux et de la manière dont elles affectent la sécurité de votre site WordPress, utilisez ces informations pour renforcer les autorisations de fichiers WordPress qui sont trop libérales.
Conseils de sécurité bonus : au-delà des autorisations de fichiers WordPress
Les autorisations de fichiers WordPress correctes sont un excellent point de départ pour travailler sur la sécurité de WordPress. Cependant, ils sont loin d'être la seule chose à craindre. Les autres choses que vous devriez faire pour améliorer la posture de sécurité de votre site Web WordPress sont :
- Gardez une trace de tout ce qui se passe sur votre site dans un journal d'activité WordPress,
- Utilisez un plugin de surveillance de l'intégrité des fichiers WordPress,
- Appliquer des politiques de mot de passe WordPress fortes,
- Ajoutez une authentification à deux facteurs à votre site Web WordPress,
- Installez un pare-feu WordPress / utilisez un service de pare-feu WordPress en ligne.