Demande #3145
ouvert
Faut-il renforcer l'isolation des applications PHP sur la VM lamp ?
Ajouté par Christian P. Momon il y a plus de 6 ans.
Mis à jour il y a plus de 2 ans.
Description
Actuellement, sur la VM lamp, il n'y a pas de restriction d'accès entre application PHP installée.
C'est à dire que le code PHP d'une application peut accéder aux fichiers d'une autre application, et même de tout le système.
Exemple : https://date.chapril.org/test.php (qui accède à un fichier dans paste.chapril.org).
D'expérience, il est d'usage d'utiliser la directive open_basedir pour augmenter la sécurité : http://php.net/manual/fr/ini.core.php#ini.open-basedir
De son côté, Didier remonte que la procédure d'installation de paste.chapril.org cite PHP-FPM : https://php-fpm.org/
Pour information : https://paste.chapril.org/phpinfo.php
Question : quel niveau d'isolation voulons-nous ?
1) par défaut : on a confiance dans le code et ce n'est pas grave ;
2) open_basedir : c'est le minimum chez les professionnels ;
3) php-fpm : le maximum est le mieux.
Je suis d'avis d'appliquer open_basedir.
Votre avis ?
4) une machine virtuelle par projet
open_basedir actif pour date et paste
Voici ce que je vois habituellement chez mes clients :
- aucune isolation particulière en général
- pour les services accédant à des données sensibles (données personnelles, données de santé, etc.), une machine séparée par service
Chez infini on héberge tous les services de type frama sur les mêmes machines sans isolation particulière, mais on pourrait probablement faire mieux.
Je partage l'avis de Edouard.On peut mettre un gloubi boulga de php sur lamp là où ce n'est pas critique, mais les applications qui présentent de la criticité doivent être isolées.
- Projet changé de Chapril à Infra Chapril
- Version cible mis à Backlog
Personnellement je déploie mes applis PHP de la même façon partout :
- un compte unix dédié
- une config php-fpm dédiée
- un compte MySQL ou postgreSQL dédié
Il me semble que ça suffit pour isoler les applis les unes des autres même si elles tournent sur la même VM.
Par exemple, j'ai documenté comment j'ai procédé pour déployer Movim chez Parinux : https://wiki.parinux.org/si/movim#installation
- Assigné à mis à pitchum .
Formats disponibles : Atom
PDF