Le 24/12/2012 12:08, Pierre Jaury a écrit :
A défaut et dans l'urgence (solution absolument pas viable à long
terme), il est envisageable de limiter drastiquement l'accès aux
fonctions autorisant un fork() et de contraindre PHP à coups de
open_basedir.

La question portait sur le cloisonnement entre les sites hébergés, open_basedir limitera uniquement l'accès au système, pas aux autres sites web.

Reste un classique qui tourne de mieux en mieux en production : quite à
forker pour séparer les utilisateurs côté Apache, autant se contenter de
forker le fautif (PHP) et se tourner vers des technos type fcgi
(php-fpm, etc.) qui ont en prime le mérite d'être proprement
standardisées et de faciliter grandement la transition de frontend
(apache vers nginx est de plus en plus populaire).

Nous utilisons php en fcgi, d'où le premier module pour remplacer suexec, qui ne fonctionne qu'en mod apache. Hébergeant plusieurs milliers de sites, nous ne pouvons pas nous permettre de lancer plusieurs milliers de process. Notre site tourne sous nginx, mais la solution apache reste incontournable pour nos utilisateurs à cause des htaccess.


J'ai pour ma part en prod un gid par vhost et des utilisateurs rajoutés
au cas par cas dans les groupes adéquats.

Nous ne souhaitons pas créer un vhost par user, le premier module (php5-suphp) nous permet d'utiliser php-fcgi avec l'uid/gid des users, et le second (php5-override) nous permet de limiter l'action des users mal intentionnés (ou hackés).


On Sat, 2012-12-22 at 12:45 +0100, Yann Autissier wrote:
Bonjour,

Le 21/12/2012 18:28, Patrick Proniewski a écrit :

Quelles techniques utilisez-vous avec Apache/PHP quand vous voulez cloisonner 
des sites web ?


Nous avons développé deux modules PHP :

- un suphp 'light' pour php-fcgi qui set{u,g}id les process php [1]
- une surcharge à la volée des fonctions PHP, qui nous permet de modifier le
comportement des fonctions sensibles (mail, exec, fopen, fsockopen, ...) [2]

[1]. https://github.com/anotherservice/php5-suphp
[2]. https://github.com/anotherservice/php5-override

--
Yann Autissier
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/


_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/


_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à