sftp et chroot


8 posts
by voxmundix » Thu Oct 10, 2013 3:14 pm
Salutation la compagnie.
Je me suis monté mon NAS maison avec un RPI et plusieurs disques dur et je souhaiterais pouvoir partager mes fichiers multimédia sans compromettre la sécurité.
Ainsi j'ai tenté de suivre plusieurs tutos (et de créer le mien en passant afin de m'y retrouver), mais cela ne fonctionne pas.
En effet quand je tente de me connecter, j'ai un message d'erreur:
sur pc: "Le programme SSH s'est terminé de manière inattendue."
sur tablette: "connexion erronée"

Voila ce que j'ai fais:
http://azure.lescigales.org/wordpress/?p=102


Merci d'avance pour toute aide.

PS: j'espère ne pas avoir créé de doublon, je n'ai rien trouvé sur ce fofo
Posts: 6
Joined: Thu Oct 10, 2013 2:37 pm
by zephura » Fri Oct 11, 2013 3:17 pm
Bonjour ;)

voxmundix wrote:Salutation la compagnie.
Je me suis monté mon NAS maison avec un RPI et plusieurs disques dur et je souhaiterais pouvoir partager mes fichiers multimédia sans compromettre la sécurité.

Par curiosité, on parle d'une grappe de disque monté en RAID ? ou autre chose?
voxmundix wrote:Ainsi j'ai tenté de suivre plusieurs tutos (et de créer le mien en passant afin de m'y retrouver), mais cela ne fonctionne pas.
En effet quand je tente de me connecter, j'ai un message d'erreur:
sur pc: "Le programme SSH s'est terminé de manière inattendue."
sur tablette: "connexion erronée"

Voila ce que j'ai fais:
http://azure.lescigales.org/wordpress/?p=102

Merci d'avance pour toute aide.

PS: j'espère ne pas avoir créé de doublon, je n'ai rien trouvé sur ce fofo


J'ai juste une question...
tu essaies de partager des fichiers, qui seraient ensuite accessible sous windows, linux, ou autre
ou tu essaies de sécuriser la connexion vers un "coffre" de fichier.

Je suis loin d'être un spécialiste, mais j'ai toujours cru que SFTP cela signifiait "SSH File Transfer Protocol" (en gros Protocole de Transfert de Fichier par tunnel SSH).


Par cette phrase :
voxmundix wrote:... je souhaiterais pouvoir partager mes fichiers multimédia sans compromettre la sécurité....
j'ai plutot l'impression que tu cherches à faire un partage de contenu avec authentification sécurisée.
Si c'est le cas, je ne suis pas sûr que SFTP fera ce que tu souhaites....

partage de contenu : SAMBA/CIFS (client windows) ou partage NFS (client linux)

avec SAMBA et les bonnes options, tu peux "sécuriser" convenablement tes partages.
avec NFS, c'est une question de permission, mais il faut authentifier au préalable l'utilisateur (ajouter un utilisateur sans droit, sans shell, etc...)
Posts: 41
Joined: Mon Jul 15, 2013 9:53 am
by voxmundix » Fri Oct 11, 2013 4:21 pm
Non ici je parle juste d'un petit serveur multimedia, le rasp est équipé de plusieurs disques durs USB contenant ma bibliothèque a laquelle j'accède via sftp sans problème sur linux (totalement intégré dans l'explorateur comme sur android avec Astro).
D'après les quelques recherches que j'ai fais, SMB semble moins sécurisé et moins adapté a une éventuelle mise en ligne que SFTP.
Donc comme ça fonctionne pour moi, je souhaite pouvoir donner accès a ma bibliothèque au reste de l'appartement sans donner accès au fichier système a n'importe qui ^^. (d'où le besoin du chroot pour limiter les accès aux utilisateurs a risques)

Pour NFS, je ne connais pas je vais me renseigner la dessus.

PS: période prism oblige, la connexion doit être chiffrée :)
Posts: 6
Joined: Thu Oct 10, 2013 2:37 pm
by zephura » Fri Oct 11, 2013 8:49 pm
ok,

tu as juste mis des disques USB sur ton RPi et tu espères que tu sentiras une défaillance avec qu'undrame n'arrive.
J'ai compris.

Ensuite, tu fais de "la mise à disposition" vers un client adapté, en effet SFTP est une solution.

Pour répondre à ta question initiale, la première chose à vérifier c'est que l'accès au shell via ssh est opérationnel; le démon sshd est lancé et accepte les connections.
Ensuite, on adapte la connectivité pour permettre les transferts SFTP.

Donc:
1- tout dépend de la distribution utilisée
2- avec les distributions linux "classiques" le démon SSH est normalement activé et opérationnel, mais.... il faut vérifier et là ca dépend du nom de ta distro. tu as installé quoi comme linux?
Posts: 41
Joined: Mon Jul 15, 2013 9:53 am
by voxmundix » Sat Oct 12, 2013 10:42 am
Côté client il n'y a aucun soucis, que se soit sur android ou linux (Voyager OS) j'ai accès au sftp du RPI et même le streaming est supporté (c'est juste dommage pour la vitesse qui plafonne a 1->2Mo/s).

C'est côté RPI que ça flanche. Là pour le moment je passe par l'utilisateur principale (pi) et je souhaiterais pouvoir passer par l'utilisateur "multimedia" qui, dans un monde parfait, ne devrait avoir accès qu'à ses dossiers personnels ainsi qu'a /media/

Habituellement quand je créé un user j'y ai automatiquement accès via SFTP, mais ici les manip que j'ai fait semblent bloquer l'accès a l'utilisateur "multimedia".

Merci pour ta patience ;)
Posts: 6
Joined: Thu Oct 10, 2013 2:37 pm
by zephura » Tue Oct 15, 2013 1:52 pm
Bon, d'après ce que tu écris c'est une "simple" question de droit d'accès...

Alors dans le tuto que tu as appliqué, il y a des vérifications à faire
Créer l’utilisateur (ici pour l’exemple « multimedia »):
sudo adduser multimedia

ok, mais vu que tu change le shell après, tu aurais pu le faire en une fois...
Ensuite on va modifier son shell par défaut dans /etc/passwd afin de remplacer
multimedia:x:1001:1002:,,,:/home/multimedia:/usr/bin/bash
Par
multimedia:x:1001:1002:,,,:/home/chroot:/usr/bin/rssh

bon, là c'est sensé fonctionné, mais c'est pas terrible...
là il est ECRIT, que l'utilisateur multimedia avec l'UID 1001 fait parti du groupe principal 1002 (je suppose, "c'est mal de supposer", qu'il s'agit du groupe multimedia)
perso, je préfère travailler ainsi :
Code: Select all
$sudo usermod -g multimedia -s /usr/bin/rssh -d /home/chroot multimedia

pour l'utilisateur multimedia (à la fin) je change le groupe principal par le groupe multimedia (là je suis SUR de pas me planter sur les uid, gid...), je change le shell par /usr/bin/rssh et je change le home_dir par /home/chroot
histoire de vérifier tu peux faire un
Code: Select all
$ cat /etc/group

tu devrais voir quelquepart 1002:multimedia......
pour le reste, histoire d'être certain que multimedia:multimedia soient proprietaire et groupe_propriétaire, tu peux faire :
Code: Select all
$ ls -al /home/chroot


On change le groupe propriétaire des dossiers que l’on veut partager:
sudo chgrp -R multimedia /media/*
Cette commande peut prendre du temps suivant la taille et la vitesse de vos disques.

bon, curieuse façon de faire, mais après tout.... si ca marche.


Pour être clair sur ta demande, est-ce qu'il n'existerait pas un "groupe" sftp?? :
cat /etc/group : est-ce que tu vois quelquechose qui ressemble à sftp justement ?
sinon, est-ce qu'il n'y a pas une option dans ton /etc/rssh qui n'autoriserait que les membres d'un certain groupe à accéder à sftp ou ssh ?


Bon ensuite, dans ton tuto, je vois qu'il est fait référence à "/usr/local/bin/rssh" et à "/usr/bin/rssh"
lequel des 2 est le bon? modifie en conséquence le fichier /etc/shell ou les paramètres de l'utilisateur multimedia
Posts: 41
Joined: Mon Jul 15, 2013 9:53 am
by voxmundix » Thu Oct 17, 2013 11:51 am
Pour le moment j'ai toujours "Le programme SSH s'est terminé de manière inattendue." quand je tente de me connecter sur cet utilisateur :(

zephura wrote:perso, je préfère travailler ainsi :
Code: Select all
$sudo usermod -g multimedia -s /usr/bin/rssh -d /home/chroot multimedia

pour l'utilisateur multimedia (à la fin) je change le groupe principal par le groupe multimedia (là je suis SUR de pas me planter sur les uid, gid...), je change le shell par /usr/bin/rssh et je change le home_dir par /home/chroot
histoire de vérifier tu peux faire un
Code: Select all
$ cat /etc/group


Code: Select all
 $ cat /etc/group
multimedia:x:1002:


zephura wrote:tu devrais voir quelquepart 1002:multimedia......
pour le reste, histoire d'être certain que multimedia:multimedia soient proprietaire et groupe_propriétaire, tu peux faire :
Code: Select all
$ ls -al /home/chroot



Code: Select all
ls -al /home/chroot
total 20
drwxr-xr-x 5 root root       4096 oct 10 15:40 .
drwxr-xr-x 5 root root       4096 oct 10 14:50 ..
drwxr-xr-x 3 root root       4096 oct 10 15:14 lib
drwxr-xr-x 2 root multimedia 4096 oct 10 15:40 media
drwxr-xr-x 4 root root       4096 oct 10 15:14 usr



zephura wrote:Pour être clair sur ta demande, est-ce qu'il n'existerait pas un "groupe" sftp?? :
cat /etc/group : est-ce que tu vois quelquechose qui ressemble à sftp justement ?


Alors d'après la commande "cat /etc/group" il n'y a pas de groupe sftp.
En effet le groupe "multimedia" s'est créé de lui même quand j'ai créé l'utilisateur du même nom.

zephura wrote:sinon, est-ce qu'il n'y a pas une option dans ton /etc/rssh qui n'autoriserait que les membres d'un certain groupe à accéder à sftp ou ssh ?

D'après les tuto que j'ai lu, cette option est disponible mais étonnamment :
Code: Select all
cat /etc/rssh
cat: /etc/rssh: Aucun fichier ou dossier de ce type


zephura wrote:Bon ensuite, dans ton tuto, je vois qu'il est fait référence à "/usr/local/bin/rssh" et à "/usr/bin/rssh"
lequel des 2 est le bon? modifie en conséquence le fichier /etc/shell ou les paramètres de l'utilisateur multimedia

"/usr/bin/rssh" il me semble, je viens de corriger:
Code: Select all
cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/rssh
Posts: 6
Joined: Thu Oct 10, 2013 2:37 pm
by jeanluc » Sat Oct 26, 2013 6:48 pm
Bonsoir;
Bien plus simple, et j'ai testé et ça fonctionne, alors si ça t'intéresse:
Image.
Et tu peux sécuriser ta connexion SSH avec clé publique et privée.
Posts: 47
Joined: Thu Apr 11, 2013 9:44 am