Quelles fonctions bloquer ?

7 réponses
AuteurMessage

mirage |
Modérateur

Photo de mirage

Inscrit le : 04/05/2005

# Le 22/10/2005 à 15:33

Hello

Je vais être amené à héberger quelqu'un sur mon serveur et, afin de tout bien sécuriser, je voudrais restreindre l'accès à certaines fonctions de php en plus de l'open_basedir, ...

Ma question est donc la suivante : quelles fonctions bloquer pour ne pas avoir de problèmes de sécurité ? exec() et compagnie, bien sûr mais j'aimerais bien avoir une petite liste pour ne rien oublier

Merci par avance !

mirage | Vincent
Modérateur

Photo de mirage

Inscrit le : 04/05/2005

# Le 22/10/2005 à 15:35

J'en profite aussi pour demander un petit truc. J'ai besoin d'utiliser exec pour supprimer un fichier (rm -f /home/...) mais il semblerait que la restriction open_basedir ne soit pas prise en compte ! C'est normal ? Y a t-il une solution ?

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 23/10/2005 à 23:58

Hello,

le plus simple : SAFE_MODE. Ca va entre autre empecher toute execution exterieur (exec, passthru, system, shell_exec, et les "backs quote").

Voici la liste de Celeonet :

ini_alter, ini_set, escapeshellcmd, escapeshellarg, exec, shell_exec, set_time_limit, system, passthru, proc_open, proc_close, proc_get_status, diskfreespace, disk_free_space, set_socket_blocking, linkinfo, lstat, leak, putenv, getmyuid, getmypid, listen, ignore_user_abord, popen, virtual

Certains trucs me semblent abérants... comme ini_set(), set_socket_blocking() et ignore_user_abort (pour cette dernière, heureusement qu'ils ont fait une faute de frappe).
Virtual() ne me semblait pas dangereuse, et plutot pratique... mais je ne peux dire si elle pose des problèmes de sécurité.

Par contre, moi j'aurais aussi interdit "apache_child_terminate"...

Sinon coté modules de PHP, certains ne respectent pas les parametres SAFE_MODE et open_basedir. Il me semble qu'il y a Oracle, Curl, et Imagick entre autre.



Pour ta suppression, bah oui... tu passes par un programme externe, comme veux tu que PHP puisse intervenir ?

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

mirage | Vincent
Modérateur

Photo de mirage

Inscrit le : 04/05/2005

# Le 24/10/2005 à 00:22

Merci Bool, je regarderais ça toute à l'heure pour bloquer les fonctions.

Et pour rm, je demandais au cas où... va falloir que je trouve une autre solution moins dangereuse que ça...

flush | Jean-Philippe
Modérateur

Photo de flush

Inscrit le : 09/05/2005

# Le 24/10/2005 à 09:31

bool > bien bien (celeonet) ^^

Lol, ini_set(), il faut dire que ca permet d'allonger le time out d'un script ou le mettre en illimité, donc ca px faire monter en charge violement un serveur... (enfin avec des gros scripts ...)

@+ Jean-Philippe

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 24/10/2005 à 13:05

flush : absolument pas. Les options de PHP ont divers "niveaux d'accès", qui peuvent changer avec le SAFE_MODE. Et le time_limit fait justement parti des options que l'on ne peut pas triffouiller.

Et dans le pire des cas, il suffit d'un "php_admin_flag" dans le httpd.conf pour que le paramêtre en question soit définitivement vérrouillé.

Donc je maintiens, le ini_set(), c'est une belle connerie de l'avoir bloqué.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

flush | Jean-Philippe
Modérateur

Photo de flush

Inscrit le : 09/05/2005

# Le 24/10/2005 à 13:11

Peut-être ! Enfin perso je m'en sert juste pour modifier la limite du temps ...

Contacte les, ils sont très réactifs ;) Soit ils changeront, soit il donneront une réponse très pertinante !

@+ Jean-Philippe

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 24/10/2005 à 13:46

Je ne suis pas client, je ne vais pas leur faire changer quoi que ce soit ;)

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 23/11/2024 22:17:28 | Généré en 5.85ms | Contacts | Mentions légales |