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 NeoX . É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.
[^] # Re: ecriture par le site web dans les dossiers
Posté par robertix . Évalué à -9.
donc tu ajoutes l'utilisateur www-data dans le groupe ftp
parce je cherche le bon choix d'interactivité entre les deux serveurs ftp et http,pour le chown et le chmod
[^] # Re: ecriture par le site web dans les dossiers
Posté par Bernez . Évalué à 2.
Mets l'utilisateur monsiteweb dans le groupe www-data.
Autres remarques tant que j'y suis : utilise SSH (scp) à la place de FTP, et ne rends pas exécutables des fichiers qui n'ont pas à l'être.
[^] # Re: ecriture par le site web dans les dossiers
Posté par robertix . Évalué à -8.
le 7 global c'était trop facile
je peux quand même faire un script global sur le repertoire pour le chownage global et le chmodage selectif ?
[^] # Re: ecriture par le site web dans les dossiers
Posté par Axone . Évalué à 7.
Pour info, l'option '+X' au lieu de '+x' ne touche que les répertoires.
# client ftp ssh2 et user
Posté par robertix . É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 NeoX . É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 robertix . É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 Marotte ⛧ . Évalué à 2.
Je ne sais pas quel shell tu utilises mais je suis à peu près sûr qu'à la place de :
tu peux écrire :
ça me semble un poil plus clair comme syntaxe. L'équivalent d'un 777 serait ugo+rwx.
[^] # Re: Juste une remarque
Posté par SidStyler . Évalué à 1.
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 robertix . É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 NeoX . Évalué à 2.
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 robertix . É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 robertix . É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 robertix . É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 robertix . Évalué à -9.
en connexion root des deux cotés
avec le setgid sur la source www
le bidirectionnel semble être correct
[^] # Re: la solution rsync
Posté par NeoX . É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.