[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: /var/www appartient à root ?



> Le 9 mars 2016 à 19:39, Ph. Gras <ph.gras@worldonline.fr> a écrit :
> 
> Le 9 mars 2016 à 18:59, Pierre Malard <plm@teledetection.fr> a écrit :
> 
>> 
>>> Le 9 mars 2016 à 13:38, andre_debian@numericable.fr a écrit :
>>> 
>>> On Wednesday 09 March 2016 12:52:38 Ph. Gras wrote:
>>>> Le 9 mars 2016 à 12:29, Benoit B <benoitlst@gmail.com> a écrit :
>>>>> Est-ce normal que lorsqu'on installe apache2, /var/www appartient à
>>>>> root et pas à www-data ?
>>>>> Benoit
>>> 
>>> Le user et group doivent être : www-data:www-data
>>> 
>>> # chown -Rf  www-data:www-data  /var/www/*
>>> 
>>> Sinon ça peut poser problèmes pour éditer des fichiers en ligne.
>>> 
>>> Sans doute par défaut, Apache met les droits à root.
>> 
>> Je ne pense pas que laisser à www-data la propriété de tout ce qui est accessible via HTTP soit véritablement une « bonne idée » et il me semble normal que, par défaut, ce ne soit pas le cas.
>> 
>> En effet, comme beaucoup de failles de sécurité viennent par là (PHP, CGI foireux, …) est-il pertinent de laisser le pirate la facilité d’exploiter ces failles pour déposer et modifier ce qu’ils veulent sur les dépôts Apache (ou autre) ?
>> Enfin, à quoi cela sert-il de laisser « www-data » avoir accès à un .html ou même un .php lorsqu’il s’agit d’afficher le contenu d’un fichier HTML ou d’exécuter un PHP ?
>> 
>> Il est bien plus prudent de ne laisser un accès en écriture à www-data uniquement sur les répertoires sur lesquels il DOIT avoir accès (dépôt de document par le ouaibe par exemple). Même si c’est bien pratique d’installer un bidule par une connexion HTTP, il y a bien trop de danger à laisser un tel accès à demeure.
>> 
>> Cordialement
>> 
>> --
>> Pierre Malard
> 
> À ce moment-là, je vais vous faire partager le fruit de mon expérience qui m'a mené à prendre des décisions différentes,
> mais que j'applique avec la pleine conscience de ce que je fais est mal.
> 
> Quand je fais tourner le bazar avec des droits en 755 pour les répertoires et 644 pour les fichiers, avec root:www-data en
> user, j'ai des problèmes pour utiliser le FTP. Chaque site est rangé dans une home et il faut que je donne user:www-data
> en droits, et 775 pour les répertoires et 644 pour les fichiers PHP. Sinon, ça ne fonctionne pas.
> 
> J'ai lu qu'il était possible de faire une manip avec les UID et GID, mais je ne l'ai pas bien comprise, alors j'ai laissé choir :
> http://www.yann.com/fr/hebergement-web-sous-gnulinux-quels-permissions-pour-les-fichiers-09/05/2011.html
> 
> Mais je suis prêt à m'amender ;-)

Si c’est pour déposer les fichiers avec un FTP, il est certain qu’une autorisation root:www-data, quelque soit les autorisations, est problématique. Par contre, une autorisation ftpuser:www-data est tout à fait envisageable si on configure son serveur FTP avec une authentification « virtuelle » non Unix. Pure-FTP et ProFTP savent très bien faire ça. Dans ce cas, les utilisateurs authentifiés n’utilisent qu’un seul UID FTP (« ftpuser ») dont on peut aisément gérer les droits pour que www-data n’ait que des droits de lecture et l’utilisateur ftpuser les droits d’écriture. L’utilisateur FTP doit alors appartenir au groupe www-data et un masque du type 027 pour que ça marche lors des dépôts FTP. Chaque utilisateur FTP doit avoir un accès sur son (ou ses) dépôt(s) HTTP dans son pseudo-répertoire d’accueil.

Du coup, l’appartenance de l’arborescence des dépôts HTTP est ftpuser:www-data et les droits 750 (répertoires) et 640 (fichiers). Il n’y a pas besoin que les autres utilisateurs Unix aient ne serait-ce qu’un accès en lecture sur ces dépôts.


--
Pierre Malard

   « La vérité ne triomphe jamais, mais ses ennemis finissent
    toujours par mourir... »
                                                   Max Placnk (1858-1947)
   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,4-  ) )-,_. ,\ (  `'-'
 '---''(_/--'  `-'\_)   πr

perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail


Reply to: