Dangers des repertoires en 777 ? - PHP - Programmation
Marsh Posté le 24-11-2005 à 12:13:56
pourquoi faire du 777? Quel est l'interet? Il faut te donner les acces en lecture ecriture pour le repertoire, lecture pour le groupe (www-data, apache ou autre), et 0 pour le reste. Voir 4 si tu veux que d'autres utilisateurs puissent voir les sources.
Ce qui donne un 640.
Ca peut etre 740 ou 744.
Marsh Posté le 24-11-2005 à 12:15:09
ReplyMarsh Posté le 24-11-2005 à 12:30:02
En fait l'utilisateur repond a un formulaire. Et les reponses (sous forme de page html) sont sauvegardées dans un repertoire spécifique sur le serveur.
Hors a part en 777, je narrive pas a créer ce fichier avec fopen.
Marsh Posté le 24-11-2005 à 12:33:07
bah il faut affecter le bon groupe au repertoire. Je suppose que ton PHP qui fait le fopen est appelé par Apache. Il faut donc modifier le groupe pour qu'il soit celui d'apache (généralement www-data, www, ...). Tu peux voir le groupe utiliser par Apache dans le httpd.conf.
Marsh Posté le 24-11-2005 à 12:48:22
Pareil, j'aimerais bien une réponse à la première question.
On voit souvent ici des gens dire "Houlàlà, des répertoires en 777, bonjour la sécurité". Mais où est le danger exactement ?
Marsh Posté le 24-11-2005 à 13:29:50
C'est de la precaution. 777 c'est donner tous les droits à tous le monde. C'est une porte ouverte en cas de faille sur le site.
Marsh Posté le 24-11-2005 à 13:31:52
The-Shadow a écrit : On voit souvent ici des gens dire "Houlàlà, des répertoires en 777, bonjour la sécurité". Mais où est le danger exactement ? |
C'est comme pour bcp de choses en sécurité : tu colmates partout où c'est possible tant que ça n'en devient pas "fascite" (au sens jargon, pour utiliser un terme qui me déplaît). La sécurité ne tient pas qu'à une seule mesure ou une seule précaution, mais à toutes les précautions que tu prends. En soit, 777 ne va probablement pas te compromettre - encore que! - mais si qqn utilises une autre faille et obtient n'importe quel accès, tu seras sans protection avec ton "7" pour "others". Bien entendu, si une ou plusieurs failles aboutissent à laisser ouvrir un shell et à obtenir les privilèges root, même ton 660 ne te sera pas d'un grand secours.
Marsh Posté le 24-11-2005 à 13:36:01
ReplyMarsh Posté le 24-11-2005 à 13:38:27
Je propose un sticky-bit dans un répertoire dédié à ça, ce qui donne un répertoire créé avec les droits 1777 (rwxrwxrwt).
C'est exactement pareil qu'un 777, sauf que seul le propriétaire du fichier ou le propriétaire du répertoire peut effacer un fichier.
Quant aux fichiers eux-mêmes, tu les crées avec 600 en droits.
Marsh Posté le 24-11-2005 à 15:03:27
fo faire un chmod 01777 ?
C encore tres floupour moi les mecs
Marsh Posté le 24-11-2005 à 15:24:55
Elmoricq a écrit : sauf que seul le propriétaire du fichier ou le propriétaire du répertoire peut effacer un fichier. |
only by root or their owner
Citation : fo faire un chmod 01777 ? |
http://unixhelp.ed.ac.uk/CGI/man-cgi?chmod
man chmod
Le sticky bit possède au moins un effet supplémentaire tout à fait dépendant de l'OS :
Citation : On older Unix systems, the sticky bit caused executable files to be hoarded in swap space. This feature is not useful on modern VM systems, and the Linux kernel ignores the sticky bit on files. Other kernels may use the sticky bit on files for system-defined purposes. |
Marsh Posté le 24-11-2005 à 15:38:51
ReplyMarsh Posté le 24-11-2005 à 15:54:17
Elmoricq a écrit : Le propriétaire du répertoire peut aussi. |
Tu veux jouer au plus fin ?
Marsh Posté le 25-11-2005 à 20:04:02
sircam a écrit : Tu veux jouer au plus fin ? |
Ou alors j'ai mal compris ton quote. Tu l'as fait pour ajouter root dans la liste ou pour en enlever le propriétaire du répertoire ?
J'avais compris la seconde possibilité, mais maintenant j'ai un doute.
EDIT : (plus sioux encore, vu que c'est un script qui va lire un fichier et donc qu'il n'a lui pas besoin de lister : droits en 1733... par contre comme j'ai eu très peu recours à ce genre de droits tordus, je ne sais pas s'il n'y a pas d'autres limitations que celle que l'absence de consultation du contenu)
Marsh Posté le 25-11-2005 à 20:21:55
Non, c'était uniquement pour te taquiner.
Et oui, c'était pour ajouter root dans la liste, pour pinailler. Owner et root, pas uniquement owner. Vraiment, pour chicaner, quoi !
Marsh Posté le 24-11-2005 à 11:39:07
Salut
Pour pouvoir créer un fichier (page html toute simple) a la suite d'un script en php g crée un repertoire en 777.
Quels sont les dangers existants?
Faut il que je change les droits sur le repertoire juste apres la création de ce fichier?