Apache/php - gestion droits, sites et utilisateurs

Bonjour à tous,

Je me permet de vous demandez conseil débutant dans l’utilisation et l’administration de apache2/php sur debian stable. Pour une utilisation de base, la configuration par défaut me convenait avec les paquets Debian. J’ai maintenant un configuration un peu plus avancé à faire et j’aimerais avoir vos avis et méthode sur le sujet.

Trois sites seront disponible sur ce serveur, deux virtualhosts écouteront sur la même ip publique, le dernier sur une ip locale avec le service Openvpn. L’ensemble est mis à jour par deux collaborateurs.
La ou ce trouve le changement pour moi est que je souhaite pouvoir isoler les trois sites les un des autres, typiquement que Robert ne puisse pas remonter à Gérard niveau arborescence de fichier. Même réflexion coté php, il ne faut pas qu’un script puisse remonter l’arborescence et d’un autre coté chaque site doit pouvoir avoir sa propre session php.

Mes interrogations sont les suivantes,

Pour un configuration de ce type, j’avais penser au mod_userdir qui me semble parfait pour ce genre de configuration. Mais cela me semble un peu dangereux, on connais du coup les comptes machine.

La configuration que j’avais pensé était de garder l’ensemble des sites dans l’arborescence /var/www/ . De créer un compte machine par site et de donner les droits 644 pour mon user TOTO et de lui donner data comme groupe. Pour ce qui est des sessions php propre à chaque site, je ne sais pas exactement encore comment mettre cela en place…

Pouvez vous me donner vos avis et expérience à ce sujet ?

Merci encore pour votre aide sur ce forum :slightly_smiling: :smt006

désolé je suis pas expert dans ce domaine
mais je pense que tu doit pouvoir réponses dans la doc apache pour les virtual host
pour les virtual host c’est normalement pas tres dur il te suffit de faire un dossier par site
et de faire des virtual host nommer qui redirige vers ces dossier
mais pour le reste je sais pas trop

Bonjour,

Je te conseillerais plutot de créer un utilisateur qui n’a pas de shell, ensuite tu mets les droits de cet utilisateur sur tous tes fichiers. Le user/group www-data possède un shell valide.

A éviter également les 777 sur tes fichiers. Tu peux faire un script qui fait une boucle et qui recherche automatiquement tous ces fichiers.

Ensuite, une méthode aussi, tu peux enlever les droits d’exécution sur ta partition (noexec dans le fichier /etc/fstab).

Tout dépend de la configuration de ta machine bien entendu.

Quel type de sessions as-tu sur ton site ? Si ce sont des sessions engendrées par les utilisateurs de ton site, évites de les stocker en base de données, les perf ne sont pas bonnes. Utilises plutôt un serveur memcache.

M.

A mon avis : 3 virtualhosts, un pour chacun des sites hébergés dans 3 répertoires distincts.

Pour que les 3 sites ne s’espionnent pas via des scripts php, open_basedir est ton ami : wiki.goldzoneweb.info/configurat … en_basedir

Plus généralement, je te conseille la lecture de toute la page pour sécuriser php via le php.ini.

De plus, tu peux définir un php.ini par virtualhost : wiki.goldzoneweb.info/utilisatio … ost_apache