OVH Cloud OVH Cloud

PHP & Securite & Suexec

3 réponses
Avatar
Fr
Salut à vous..

Quelques questions de sécurité avant d'installer un serveur dédié....:

Imaginons... le serveur top de chez top qui fait de l'hébergement
mutualisé....

- Il faut donc que les clients, à partir de leurs scripts php, ne puissent
pas se ballader partout sur le serveur, mais juste dans LEUR repertoire...

- Il faut aussi qu'ils puissent utiliser la commande EXEC, pour utiliser
certains programmes linux comme aspell, imagemagick...

- Enfin, le serveur doit permettre de gérer des fonctions system ROOT via
une interface PHP (pour utiliser vpopmail, créer des sous-domaines ect....)
(via la commande SUDO par exemple)


C'est possible de concevoir toutes ces possibilités sur un seul serveur ?

Et si oui, est-il indispensable d'utiliser SuExec ?

.. Heu, vous l'aurez surement remarqué, je suis encore un peu un débutant..
Dites moi si je me trompe...

Si je compile Apache avec Suexec... et que l'utilisateur par défaut d'Apache
est nobody,
il me faut rajouter dans les VirtualHosts un "User" et "Group"....... ?
Ce qui veut dire que si j'execute un script "exec('whoami')", j'obtiendrai
"USER" et non pas nobody ?

...........
Que ceux qui ont été confrontés à ce pb durant leur intall n'hésitent pas à
conter leurs exploits !!


++

3 réponses

Avatar
Etienne SOBOLE
"Fr" a écrit dans le message de news:
blf1r6$bms$
C'est possible de concevoir toutes ces possibilités sur un seul serveur ?


Oui, mais à mon avis, faut oublier le php en module apache et limiter a une
utilisation en CGI.

Donc si c'est pour proposer ca à des clients que tu ne connait pas, ils vont
gueuler parce que le php en cgi ca nécessite de retourcher un peu tous les
scripts pour ajouter le chemin du php.

Sinon tu fais comment tout le monde, un serveur qui sera une vrai passoire
:)
Tu crées un utilisateur par site (pour donner l'illusion d'un peu de
securité :) qui font tous parti du groupe d'apache.

Mais là, faut pas se leurrer, le premier rigolo qui fait un script qui
permet de naviguer dans les fichiers de ton serveur pourra lire les scripts
PHP (et donc les mots de passe mySQL (beurk) ou autre) de tous les sites
hébergés sur ton serveur.

Il doit y avoir des méthode pour limiter (voir peut etre meme empècher! faut
voir) de faire ca dans les paramètre du php.ini me semble t-il.

Le problème c'est que lorsque tu es hébergeur, tu optes souvent pour le mode
rewrite de apache qui t'evite de devoir redémarrer apache (modifier et
relire le fichier de conf) à chaque nouvel installation de site pour eviter
ainsi que les process en cours ne soient interrompus. Hors le mode rewrite
voit tous tes clients comme un seul et meme client... donc se partageant
l'espace disque disponible.

Bref. c'est pas facile de faire du mutualise secure... (sans meme parler du
sudo ou autre).

Chez mon hébergeur par exemple, j'ai essayé, et j'ai aucun problème pour
aller voir les sources des autres personnes partageant le serveur :)
Pourtant ce ne sont pas les moins cher du marché ;)

Etienne

Avatar
Vincent Briet
Fr wrote:

Si je compile Apache avec Suexec... et que l'utilisateur par défaut d'Apache
est nobody,
il me faut rajouter dans les VirtualHosts un "User" et "Group"....... ?
Ce qui veut dire que si j'execute un script "exec('whoami')", j'obtiendrai
"USER" et non pas nobody ?

Pour info SuExec ne fonctionne pas avec PHP en module.


--
Vincent.

Avatar
dominique
il me semble avoir parcouru un article la dessus sur le MISC du mois de
septembre


--
Dom