OVH Community, votre nouvel espace communautaire.

Gros trou de Sécurité


seal3
14/02/2005, 17h56
Salut. Mon apache tourne en user ET groupe nobody. Donc la restriction GID/UID s'applique de toute facon de en safe_mode.

Que se passet-il si je passe apache en UID : users, que je desactive le safe_mode et que j'active safe_mode_gid ? est-ce que cela suffit à regler mon prob, qui est : Un dossier créé avec php est en nobody:nobody et donc dans ce dossier je peux plus rien y mettre ?

n'est-ce pas genant de passer apache en groupe users ?

La meilleure soluce dans tt ça ne serait-elle pas de passer php en CGI ?

FLCT
06/04/2004, 10h00
bonjour,

tu ne pourras pas faire grand chose sans revoir php.ini !

le safe mode va te permettre de combler le manque de securite. il va entre autre interdire d'inclure/lire/ecrire un fichier qui n'a pas le meme gid/uid (au choix) que le proprietaire du fichier qui est éxecuté (pas celui qui l'execute).

le parametre open_base_dir va pouvoir fixer une racine au dessus de laquelle le script ne pourras pas aller.
note qu'elle est independante du safe_mode

attention aussi le safe mode n'est PAS la solution miracle car certaine fonctions permettent de le contourner. Il faut aussi interdire des fonctions sensibles directement dans le php.ini

on peut aussi chrooter apache tout en gardant à l'esprit que ce n'est pas LA solution miracle.

ceci dit le fait qu'un de tes utilisateurs puisse ce balader sur ton systeme de fichier n'est pas du forcement à des parametres trop laxiste de la config apapche/php !

si je réussis à faire include "/etc/passwd" le probleme se situe à un autre endroit.

tu devrais faire un audit du systeme. voir par exemple quel endroit tu peux atteindre, revoir les permissions, les config des serveurs.

-NC-
06/04/2004, 05h54
et avec les droits d'apache qui exec le php c'est possible ?? c fumeux ton histoire la nan ?

multinetworks
05/04/2004, 22h42
lire ne veut pas dire écrire mais veut bien dire, lire les ficheirs config pour ensuite se connecter via ftp, pop, et meme telnet !

-NC-
05/04/2004, 20h45
lire ne veux pas dire ecrire ? donc le trou est somme toute limite non ? d'accord c'est genant, mais comment y remedier de facon simple et definitive ????

i-services
05/04/2004, 17h17
il est aussi possible d'inclure en php avec include() un fichier venant d'un autre compte utilisateur...

multinetworks
05/04/2004, 16h53
Avec un simple script qui lit les repertoires, on peut aisément parcourir tout le server à partir de n'importe quel compte.

Les script qui font ceci sont els scripts de webftp, gestionnaire de fichier...

Ernest
05/04/2004, 16h49
Bonjour, pourrais tu décrire de façon un peu plus précise ce trou de sécurité ?

Merci

multinetworks
05/04/2004, 16h00
IDEM que le msg au dessus...

i-services
05/04/2004, 15h36
si le répertoire de l'utilisateur est "toto" met ceci dans le virtualhost de toto

php_admin_value open_basedir /home/toto/:/usr/local/lib/php:/tmp

multinetworks
05/04/2004, 14h52
Merci mais il y aurai pas une autre solution ?

MarcP
05/04/2004, 14h44
lis la doc sur le safe mode

multinetworks
05/04/2004, 13h50
Bonjour,
J'ai un gros problème de sécurité sur mon dédier.

J'hébèrge mes propres sites webs et qqes sites de mes potes, en installant un script de webftp, je me suis rendu compte qu'a partir d'un compte hebergé, on peut remonter jusqu'au repertoire /home/ et meme encore plus haut afin de voir les fichiers, les lire, modifier, etc...

Comment dire a php qu'il ne sorte pas du repertoire /home/compte-d-un-pote/ ?