Forum Linux.général chownage et chmodage d'un site web complet

Posté par  . Licence CC By‑SA.
Étiquettes :
-1
7
juin
2013

bonjour à tous

sous debian squeeze
je voudrai savoir quels soucis de sécurités peuvent apparaître en chownant en www-data:www-data et en chmodant en 700 un site web complet

et en utilisant les setuid et setgid ?
chown www-data:www-data site
chmod u+r+w+x site
chmod g+r+w+x+s site

adduser ftp www-data
find siteweb -type d -exec chmod g+s {} \;

  • # ecriture par le site web dans les dossiers

    Posté par  . Évalué à 5.

    si tu chown www-data:www-data le dossier qui contient le site web, il appartient à l'utilisateur www-data (utilisé par apache, ngnix, etc) pour venir lire les fichiers.

    si tu chmod 700 sur l'ensemble des fichiers,
    ca veut dire que apache (ngnix,etc) peut ecrire dans le dossier, et donc remplacer des fichiers dont le fichier de configuration du site
    mais aussi deposer des fichiers non demandé qui seront ensuite accessibles.

    c'est un peu pour ca qu'on fait souvent un utilisateur monsiteweb et qu'on chown monsiteweb:www-data avec un chmod 750 partout et 770 uniquement sur les dossiers ou le serveur web doit pouvoir ecrire (dossiers temporaires, logs, zone d'upload)

    mais cela pose le probleme de la gestion des fichiers depuis le ftp via l'utilisateur monsiteweb si le fichier a été deposé par le site.

  • # client ftp ssh2 et user

    Posté par  . Évalué à -8.

    puis je utiliser mon client ftp local pour me connecter sur le repertoire distant du site web en ssh2 avec comme user www-data pour faire mes transferts de fichiers ?

    quand la clé rsa du site web distant arrive a expiration,qu'arrive t il ?

    • [^] # Re: client ftp ssh2 et user

      Posté par  . Évalué à 2.

      filezilla permet de se connecter en sftp (ftp over ssh), j'imagine que d'autres logiciels clients peuvent aussi le faire

      une clé RSA utilisée pour l'autentufication client/server (lors d'une connection ssh) n'a à ma connaissance pas de date de peremption.

      elle permet d'attester que l'utilisateur peut se connecter sur le compte, ou la clé est installée, sans avoir à entrer de mot de passe.

      par contre la clé peut etre supprimée du serveur pour eviter qu'un client ne se connecte avec,
      il lui faudra alors connaitre le mot de passe de l'utilisateur pour se connecter (en ligne de commande ssh ou en sftp)

  • # rsyncd et rsync

    Posté par  . Évalué à -8. Dernière modification le 07 juin 2013 à 11:47.

    il me semble que rsync préserve les droits,une alternative interessante à ftp

  • # Juste une remarque

    Posté par  . Évalué à 2.

    Je ne sais pas quel shell tu utilises mais je suis à peu près sûr qu'à la place de :

    chmod u+r+w+x site

    tu peux écrire :

    chmod u+rwx site

    ça me semble un poil plus clair comme syntaxe. L'équivalent d'un 777 serait ugo+rwx.

    • [^] # Re: Juste une remarque

      Posté par  . Évalué à 1.

      ça me semble un poil plus clair comme syntaxe. L'équivalent d'un 777 serait ugo+rwx.
      Encore mieux, tu as chmod a+rwx
      le "a" (all) étant un équivalent de "ugo" (user,group,other).

      Il me semble même avoir aperçu un chmod +rwx, mais n'ayant jamais testé je ne suis pas sûr du résultat.

  • # umask

    Posté par  . Évalué à -9.

    je mets l'user toto et le group www-data sur siteweb
    je mets l'user toto dans le groupe www-data
    je mets le setgid sur siteweb
    find . -type d -print0 | xargs -0 chmod g+s

    quand je me connecte en ftp avec l'user toto,les transferts par gftp vers siteweb sont bien en toto:www-data
    le www-data est conservé mais pas le setgid

    pour ajouter le setgid 2000
    j'ai pensé à l'umask 7777-5007=2770

    root@ordix:/home/robertix# echo 5007 5007 > /etc/pure-ftpd/conf/Umask
    root@ordix:/home/robertix# /etc/init.d/pure-ftpd restart
    Restarting ftp server: /usr/sbin/pure-ftpd-wrapper: Invalid configuration file /etc/pure-ftpd/conf/Umask: "5007 5007" not two octal numbers

    pure-ftp refuse

    • [^] # Re: umask

      Posté par  . Évalué à 2.

      Restarting ftp server: /usr/sbin/pure-ftpd-wrapper: Invalid configuration file /etc/pure-ftpd/conf/Umask: "5007 5007" not two octal numbers

      c'est marqué dessus, comme le port salut.
      il est demandé de l'octal dans ce fichier, donc 007 pour qu'il garde les droits 770

      le setgid sera mis automatiquement par le systeme à partir du dossier parents.

  • # rsync chmod et setgid

    Posté par  . Évalué à -9.

    rsync -avz --chmod=o-rwx -p toto/ toto2/

    And here is a full test :
    Create some file in a folder

    $ mkdir toto1
    $ mkdir toto2
    $ cd toto1
    $ touch tyoto
    $ touch tiuti

    The default perms are : u=rw, g=r, o=r

    $ ls -l
    total 0
    -rw-r--r-- 1 romain users 0 fév 16 11:48 tiuti
    -rw-r--r-- 1 romain users 0 fév 16 11:48 tyoto

    Try an rsync without params

    $ cd ..
    $ rsync -avz toto1/ toto2/

    The destination perms are the same than the source files

    $ ls -l toto2
    total 0
    -rw-r--r-- 1 romain users 0 fév 16 11:48 tiuti
    -rw-r--r-- 1 romain users 0 fév 16 11:48 tyoto

    Specify the rsync options --chmod=o-rwx -p

    $ rsync -avz --chmod=o-rwx -p toto1/ toto2/
    $ ls -l toto2
    total 0
    -rw-r----- 1 romain users 0 fév 16 11:48 tiuti
    -rw-r----- 1 romain users 0 fév 16 11:48 tyoto

    avec le setgid
    --chmod Dg+s

    • [^] # Re: rsync chmod et setgid

      Posté par  . Évalué à -9.

      l'idée c'est de pouvoir faire des synchronisations bidirectionnellles de site web en action en conservant leurs permissions

  • # la solution rsync

    Posté par  . Évalué à -9.

    root@ordix:/home/robertix# ls -l toto1
    total 0
    -rw-r--r-- 1 momo momo 0 8 juin 12:37 koko
    -rw-r--r-- 1 momo robertix 0 8 juin 12:50 kuku
    -rw-r--r-- 1 robertix momo 0 8 juin 12:05 tiuti
    -rw-r-Sr-- 1 robertix robertix 0 8 juin 12:05 tyoto

    root@ordix:/home/robertix# rsync -rvogp --delete toto1/ toto2/
    sending incremental file list
    koko
    kuku
    tiuti
    tyoto

    root@ordix:/home/robertix# ls -l toto2
    total 0
    -rw-r--r-- 1 momo momo 0 8 juin 12:54 koko
    -rw-r--r-- 1 momo robertix 0 8 juin 12:54 kuku
    -rw-r--r-- 1 robertix momo 0 8 juin 12:54 tiuti
    -rw-r-Sr-- 1 robertix robertix 0 8 juin 12:54 tyoto

    là je préserve le propriétaire,le groupe,les permissions avec setgid S

    • [^] # Re: la solution rsync

      Posté par  . Évalué à -9.

      en connexion root des deux cotés
      avec le setgid sur la source www
      le bidirectionnel semble être correct

      pour simulation:
      
      source destination
      rsync -e ssh -rpgvon --delete root@192.168.1.100:/www/ /www/
      
      inversion source destination
      rsync -e ssh -rpgvon --delete /www/ root@192.168.1.100:/www/
      
      
      pour action:
      
      source destination
      rsync -e ssh -rpgvo --delete root@192.168.1.100:/www/ /www/
      
      inversion source destination
      rsync -e ssh -rpgvo --delete /www/ root@192.168.1.100:/www/
      
      
      • [^] # Re: la solution rsync

        Posté par  . Évalué à 2.

        je me simplifie la vie, j'utilise rsync -aP --delete SRC DST

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.