Discussion:
Safe Mode et php 6
(trop ancien pour répondre)
Julien Arlandis
2009-01-25 23:34:45 UTC
Permalink
Bonjour,

Je viens de voir que le Safe Mode disparait de php 6, comment fera t-on
pour limiter la visibilité des scripts ?
Mickael Wolff
2009-01-26 09:34:27 UTC
Permalink
Post by Julien Arlandis
Je viens de voir que le Safe Mode disparait de php 6, comment fera t-on
pour limiter la visibilité des scripts ?
Le safe mode ne limite pas la visibilité des scripts. C'est tout au
plus un outil permettant d'avoir des accès contrôlés à certaines
ressources. Le problème c'est que ce genre de fonctionnalité est parfois
mal comprise, et qu'elle donne un sentiment de sécurité alors que les
mécanismes peuvent souvent être contournés.

Bref, c'est avec l'OS qu'il va falloir jouer pour améliorer la
sécurité. Et écrire des applications PHP sécurisées à la base, et non
avec le filet du safemode.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>
Julien Arlandis
2009-01-26 21:23:00 UTC
Permalink
Post by Mickael Wolff
Post by Julien Arlandis
Je viens de voir que le Safe Mode disparait de php 6, comment fera
t-on pour limiter la visibilité des scripts ?
Le safe mode ne limite pas la visibilité des scripts. C'est tout au
plus un outil permettant d'avoir des accès contrôlés à certaines
ressources. Le problème c'est que ce genre de fonctionnalité est parfois
mal comprise, et qu'elle donne un sentiment de sécurité alors que les
mécanismes peuvent souvent être contournés.
Bref, c'est avec l'OS qu'il va falloir jouer pour améliorer la
sécurité. Et écrire des applications PHP sécurisées à la base, et non
avec le filet du safemode.
Dans un environnement mutualisé les scripts PHP doivent être accessibles
soit en lecture à l'utilisateur réservé à l'exécution d'Apache soit à
son groupe. Donc potentiellement tout script php qui utilise la fonction
fopen() peut accéder en lecture à un fichier dont il n'est pas le
propriétaire, comment empêcher cela?
Olivier Miakinen
2009-01-26 21:39:38 UTC
Permalink
Post by Julien Arlandis
Post by Mickael Wolff
Bref, c'est avec l'OS qu'il va falloir jouer pour améliorer la
sécurité. Et écrire des applications PHP sécurisées à la base, et non
avec le filet du safemode.
Dans un environnement mutualisé les scripts PHP doivent être accessibles
soit en lecture à l'utilisateur réservé à l'exécution d'Apache soit à
son groupe. Donc potentiellement tout script php qui utilise la fonction
fopen() peut accéder en lecture à un fichier dont il n'est pas le
propriétaire, comment empêcher cela?
En le mettant en prison ?

http://www.freebsd.org/cgi/man.cgi?query=chroot&sektion=2
http://www.freebsd.org/cgi/man.cgi?query=jail&sektion=2
http://www.freebsd.org/cgi/man.cgi?query=jail&sektion=8
Mickael Wolff
2009-01-27 07:18:17 UTC
Permalink
Post by Julien Arlandis
Dans un environnement mutualisé les scripts PHP doivent être accessibles
soit en lecture à l'utilisateur réservé à l'exécution d'Apache soit à
son groupe. Donc potentiellement tout script php qui utilise la fonction
fopen() peut accéder en lecture à un fichier dont il n'est pas le
propriétaire, comment empêcher cela?
Il y a les modules SuExec et suPHP qui permettent ce genre de chose.
Personnellement je préfère utiliser PHP en CGI, avec le CGI qui
fonctionne avec des autorisations restrictives.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>
Pascal PONCET
2009-01-27 15:09:42 UTC
Permalink
Post by Julien Arlandis
Dans un environnement mutualisé les scripts PHP doivent être accessibles
soit en lecture à l'utilisateur réservé à l'exécution d'Apache soit à
son groupe. Donc potentiellement tout script php qui utilise la fonction
fopen() peut accéder en lecture à un fichier dont il n'est pas le
propriétaire, comment empêcher cela?
Bonjour,

J'ai cru comprendre que :
1. les aspects de sécurité devraient être traités par le serveur et non
PHP, ce qui en principe est déjà le cas sur du mutualisé.
2. les mutualisés offrant quasi systématiquement d'autres langages que
PHP, le safe mode peut facilement être compromis s'il ne repose que sur
des directives PHP.
3. dans tous les cas, la directive "open_basedir" n'est pas affectée par
le choix du safe mode.

Cela dit, je ne suis pas un expert en sécurité, alors certaines choses
peuvent m'échapper.
Si tel est le cas, je suis d'ailleurs intéressé d'en savoir plus,
utilisant moi-même exclusivement des offres mutualisées.

Cordialement,
Pascal

Loading...