La faille de sécurité de PHP
Sur la plupart des serveurs Apache, PHP fonctionne tel un module Apache. Ainsi, il est directement dans l'usager " nobody", mais ne semble pas avoir besoin d'avoir le drapeau "exécutable".
Alors, afin d'exécuter un fichier PHP, il a simplement besoin d'être "lisible".
Le problème est qu'il permet à tous les usagers sur le serveur de lire vos fichiers PHP!
Permettre aux autres usagers de lire vos fichiers n'est pas un problème car ils peuvent être affichés dans Internet Explorer, mais les fichiers PHP ne sont pas "lisibles, ils sont cachés.
Chez Cablan.net, nous avons fermé cette faille
Nous l'avons fait en installant un module appellé PHPsuexec, qui exécute les scripts PHP sous votre nom d'usager.
Ainsi, au lieu d'utiliser les permissions de tous, il utilise les permissions de l'usager.
Vous pouvez changer les permissions de vos scripts PHP à : 0700 or 0400 et toujours être capables de les lire et de les exécuter. Mais les scripts ne seront plus accessibles aux autres usagers.
Table des permissions illegales/requises pour des fichiers PHP
|
lire |
Écrire |
exécuter. |
usager |
|
Pour écrire |
|
groupe |
|
|
|
tous |
|
|
|
Comme vous pouvez le voir, la seule permission requise est "lisible par l'usager"(0400), mais si vous avez besoin d'écrire dans ce fichier, vous pouvez aussi activer la permission "écrivable par l'usager" (0600).
Cablan.net recommande d'avoir les permissions 0400 or 0600 pour tous vos fichiers PHP.
La permission "exécutable" n'est jamais requise, et la permission pour le groupe et tous peut être laissée à 0.
Répertoires
Pour ajouter de la complexité à la question, PHPsuexec valide aussi les répertoires dans lesquels les fichiers PHP sont situés.
Un fichier PHP ne peut être exécuté dans un répertoire qui est "écrivable par un groupe" ou"écrivable par tous"
Mais dans le but d'accéder un répertoire, il peut être "exécutable par tous", si c'est sécuritaire de le faire.
Ainsi, les répertoires contenant des fichiers PHP devraient avoir les permissions 0755 ou 0555.
Table de droits illégaux/requis pour les répertoires
|
lire |
Écrire |
exécuter |
usager |
|
Pour écrire |
|
groupe |
|
|
|
tous |
|
|
|







