Je connais les exigences de WP pour que certains répertoires et fichiers soient accessibles en écriture. Je suis également conscient que le fait de laisser des autorisations trop lâches peut ouvrir des failles de sécurité. Enfin, je sais que l'utilisateur qui (insérez votre serveur ici) fonctionne comme sur les systèmes Linux peut être un facteur.
Hormis la sécurité, j'aime pouvoir télécharger des thèmes et des plugins sur mon blog, et les mettre à jour si nécessaire. Les autorisations appropriées semblent un peu en contradiction avec cette préférence.
J'ai rassemblé de petits détails ici et là, mais j'aimerais voir une réponse plus définitive, s'il y en a une: quelle est la configuration préférée avec un clin d'œil à la sécurité? Quelles autorisations doivent être en place, quel utilisateur le site doit fonctionner, etc.
Réponses:
Si vous avez un accès FTP à votre serveur, la configuration la plus sécurisée n'est pas d'avoir votre répertoire de thèmes ou de plugins inscriptible par votre serveur Web et d'avoir à la place des fichiers de mise à jour WordPress via FTP. Lorsque vous allez mettre à jour un plugin, WordPress vous demandera vos détails FTP.
La méthode FTP est beaucoup plus lente que l'écriture directe de fichiers, mais elle est beaucoup plus sécurisée car un script escroc ne pourra pas modifier vos fichiers.
la source
Comme l'a noté @ Viper007Bond, la mise à jour de votre noyau, de vos plugins et de vos thèmes via les mécanismes de mise à jour intégrés est assez sûre, en ce qui concerne les autorisations de fichier, car ils peuvent utiliser vos informations d'identification d'utilisateur réelles. Pour une sécurité maximale, vous devez vous assurer que l' extension PHP SSH2 est installée. La méthode d'installation (si possible) peut varier d'un hôte à l'autre, donc si elle n'est pas déjà là, vous devrez peut-être demander au service d'hébergement ou faire des recherches sur Google.
De nombreux services d'hébergement partagé utiliseront
suexec
dans leur configuration Apache, afin que le service Web fonctionne en tant qu'utilisateur réel. Cela élimine la plupart des problèmes d'autorisation et aide à protéger vos fichiers contre les autres utilisateurs du serveur. Cependant, dans les cas où Apache s'exécute en tant qu'utilisateur distinct, si vous souhaitez télécharger des fichiers dans WordPress, vous devez ouvrir des autorisations sur le répertoire de téléchargement.Dans ce cas, vous souhaitez probablement que votre
wp-content/uploads
répertoire dispose d'0713
autorisations (AKArwx--x-wx
). Cela donne au propriétaire du répertoire des autorisations complètes, son groupe peut lire des fichiers s'il connaît le chemin complet, et d'autres (y compris le serveur Web) peuvent lire des fichiers dont ils connaissent le chemin et peuvent créer / écrire des fichiers.Certains plugins de mise en cache s'attendent également à disposer d'un
wp-content/cache
répertoire (ou similaire) sur lequel ils peuvent écrire. Les mêmes conseils d'autorisation s'appliqueraient à cela.Enfin, pour de jolis permaliens, WordPress doit pouvoir modifier le
.htaccess
fichier, sauf si vous prévoyez de le mettre à jour manuellement. Dans ce cas, vous souhaitez0646
le mode fichier. Cependant, une fois que vous avez défini votre structure de permalien, vous n'aurez normalement pas besoin de la modifier à nouveau, vous pouvez donc désactiver les autorisations d'écriture supplémentaires et la définir sur0644
. Parfois, un plugin ou une mise à niveau de base peut nécessiter un accès à celui-ci, et vous pouvez réactiver temporairement les autorisations d'écriture pour cela, puis le désactiver à nouveau.Tous les autres fichiers doivent avoir des
0644
autorisations. Les répertoires devraient l'être0711
si vous êtes extra-paranoïaque, mais cela pourrait interférer avec tous les plugins qui ont besoin d'obtenir une liste de fichiers à partir d'un répertoire. Dans ce cas, ou si vous n'êtes pas aussi paranoïaque, utilisez0755
, ce qui permettra aux autres de lire, mais pas d'écrire.La plupart de cela est principalement une préoccupation si vous êtes sur un hébergement partagé. Si vous avez un serveur dédié (y compris VPS), sans aucun autre utilisateur ayant un accès ssh / ftp, alors vous pouvez vous détendre un peu plus. Je ne veux pas dire que vous devez simplement rendre tout accessible en écriture, mais vous pouvez probablement simplement faire confiance aux valeurs par défaut du système, qui seront probablement des
0755
autorisations sur les répertoires au lieu de0711
.Si c'est une option, installez un certificat SSL pour le site et une fois que vous avez testé que vous pouvez accéder à votre site via
https
, vous pouvez forcer SSL pour les connexions administrateur et l'accès en ajoutant ces lignes à votrewp-config.php
fichier, juste avant le ' Arrêter la modification du commentaire:la source