[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