Dangers des repertoires en 777 ?

Dangers des repertoires en 777 ? - PHP - Programmation

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?

Reply

Marsh Posté le 24-11-2005 à 11:39:07   

Reply

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.


---------------
MZP est de retour
Reply

Marsh Posté le 24-11-2005 à 12:15:09    

sinon si c'est le PHP qui créé le HTML, un 660 doit fonctionner.


---------------
MZP est de retour
Reply

Marsh 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.

Reply

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.


---------------
MZP est de retour
Reply

Marsh Posté le 24-11-2005 à 12:37:15    

tu peux preciser stp ? je suis largué la

Reply

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 ?

Reply

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.


---------------
MZP est de retour
Reply

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.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 24-11-2005 à 13:36:01    

en privilège root, c'est sur. :lol:


---------------
MZP est de retour
Reply

Marsh Posté le 24-11-2005 à 13:36:01   

Reply

Marsh 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.

Message cité 1 fois
Message édité par Elmoricq le 24-11-2005 à 13:38:36
Reply

Marsh Posté le 24-11-2005 à 15:03:27    

fo faire un chmod 01777 ?
 
C encore tres floupour moi les mecs  :??:


Message édité par Profil supprimé le 24-11-2005 à 15:12:18
Reply

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
 
[:moundir]
 

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.


 [:pingouino]

Message cité 1 fois
Message édité par sircam le 24-11-2005 à 15:25:07

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 24-11-2005 à 15:38:51    

sircam a écrit :

only by root or their owner


 
Le propriétaire du répertoire peut aussi.

Reply

Marsh 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 ? :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 25-11-2005 à 20:04:02    

sircam a écrit :

Tu veux jouer au plus fin ? :o


 :??:  
 
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)


Message édité par Elmoricq le 25-11-2005 à 20:07:59
Reply

Marsh Posté le 25-11-2005 à 20:21:55    

Non, c'était uniquement pour te taquiner. :D
 
Et oui, c'était pour ajouter root dans la liste, pour pinailler. Owner et root, pas uniquement owner. Vraiment, pour chicaner, quoi ! :o


Message édité par sircam le 25-11-2005 à 20:22:04

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed