[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Confidentialités des données d'Apache avec PHP
Hello,
J'aimerais avoir vos avis et vos conseils pour la sécurité des fichiers
Apache. J'utilise PHP 5 (module, pas en CGI). Je vois qu'Apache est
chrooté, mais cela n'est pas suffisant. A l'heure actuelle, un client
hébergé peut voir les fichiers de l'autre personne (en utilisant des
fonctions comme exec, system,...) et remonter un peu dans
l'arborescence. Je peux l'empêcher aisément de voir/ouvrir des fichiers
en dehors du docroot d'Apache. Mais pas dans celui-ci, puisque les
fichiers appartiennent tous au owner d'Apache.
J'ai souvent été habitudé à utiliser la solution suPHP, mais dans ce
cas-là, je ne pourrais pas l'utiliser. J'ai toujours été habitué à
l'utiliser, celui-ci me sécurisant mes fichiers PHP, et me garantissant
la confidentialité des données.
Ce qui veut dire que ça ressemblerait à ça :
Répertoire www :
dossier 1 - user
dossier 2 - user
dossier 3 - user
dossier 4 - user
Ce qui veut dire qu'un fichier dans le dossier 1 pourrait voir et
afficher les fichiers dans le dossier 2 (fonction PHP exec('ls ..') par
exemple).
Que tous les fichiers soient éxécutés sur le même user ne me dérange pas
trop, mais j'aimerais que chaque user ne voit pas ce qu'il y a dans les
autres dossiers où il a accès !
Comment procéder dans ces cas-là ? Comment faites-vous sur vos serveurs
Apache ?
Comment faire en sorte que chaque client hébergé ne voit rien d'autre ?
Chaque client est spécifié dans un Vhost. Les openbasedir() dans le
vhost ne sont pas complets. De même pour le safe_mode. Doit-on forcément
passer par une solution de type suPHP (qui impose que PHP soit en CGI) ?
Comment font les grands mutualisés ?
Merci !
--
Nicolas Letellier, administrateur systèmes
Site personnel : http://nicoelro.net
Curriculum-vitae : http://nletellier.info