Combiné au serveur sftp intégré à sshd, il est possible de limiter l'utilisateur à une partie du système de fichier ne possédant aucun binaire, aucune bibliothèque, ni aucun node, comme ça aurait du être le cas si le server sftp n'était pas intégré à sshd. Par exemple, les hébergeurs web pourront maintenant, grâce à cette fonctionnalité, remplacer ftp par sftp. Pour rendre l'accès limité au sftp pour l'utilisateur michu, en supposant que son repertoire de pages web est dans /var/www/users/michu, rajoutez ça à votre /etc/ssh/sshd_config (avec la version CVS d'OpenSSH) :
Match group webuser
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /var/www/users
Il peut également être nécessaire de changer le système sftp par celui inclu dans sshd :
#Subsystem sftp /usr/libexec/sftp-server
Subsystem sftp internal-sftp
Mettez madame michu dans le groupe webuser en groupe principal, et mettez-lui comme home /michu. Faites bien attention aux droits du répertoire /var/www/users/ pour qu'elle n'ait accès qu'à /var/www/users/michu et rien d'autre. Vous pouvez alors mettre ftp à la poubelle.
Petit inconvénient : Madame Michu ne pourra pas utiliser scp, elle sera limité à sftp.
Aller plus loin
- Le commit (48 clics)
- La nouvelle chez Undeadly (13 clics)
- Les lutins sont prem's (36 clics)
# Remplacer ? Pas tout à fait
Posté par Arnaud . Évalué à 3.
Mais pour les geeks en herbe qui administrent leurs machines et pour les entreprises, c'est une excellente nouvelle. Plus de daemon FTP = un process de moins = moins d'administration et de failles potentielles. Surtout que ça pullulait à une certaine époque, les problèmes de sécurité avec les serveurs FTP...
[^] # Re: Remplacer ? Pas tout à fait
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 7.
[^] # Re: Remplacer ? Pas tout à fait
Posté par herodiade . Évalué à 10.
... et plus de vilains bricolages dans les firewall pour laisser passer le traffic FTP DATA en mode actif et en mode passif.
[^] # Re: Remplacer ? Pas tout à fait
Posté par libre Cuauhtémoc . Évalué à 2.
Bon, ftp en moins, c'est juste moins de mots de passe en claire, mais i lreste notamment le pop3 qui transite pour bcp de mailer en clair, notamment les mailers des FAI
[^] # Re: Remplacer ? Pas tout à fait
Posté par psychoslave__ (site web personnel) . Évalué à 3.
[^] # Re: Remplacer ? Pas tout à fait
Posté par alexissoft . Évalué à 2.
[^] # Re: mots de passe POP3
Posté par dombon45 . Évalué à 1.
pas toujours : j'utilise des adresses mail obtenues il y a longtemps avec des connexions accès libres chez tiscali et wanadoo. L'avantage : je ne perd pas mes adresses lorsque je change de FAI (ça m'est arrivé plusieurs fois depuis mes premiers forfaits 5h en 56k...). J'y accède en POP3 depuis de nombreux réseaux différents : celui de mon labo, le FAI chez moi, le FAI chez mes parents...
Ça faisait longtemps que ces histoires de mots de passe qui transitent en clair sur les réseaux m'ennuyaient. C'est une des raisons principales qui vont causer ma migration totale vers mon récent compte Gmail : Google permet le POP3S, l'IMAPS (en plus du webmail) : que du bonheur.
[^] # Re: mots de passe POP3
Posté par Pierre Jarillon (site web personnel) . Évalué à 4.
[^] # Re: mots de passe POP3
Posté par dombon45 . Évalué à 5.
La NSA ne va pas piquer mes identifiants pour envoyer du spam porno ni pour voler mon identité sur divers sites web.
[^] # Re: mots de passe POP3
Posté par Pierre Jarillon (site web personnel) . Évalué à 1.
Tu peux voir http://epic.org/privacy/profiling/tia/ qui donne pas mal de renseignements sur Total Information Awareness (TIA) devenu Terrorism Information Awareness. Le fameux réseau Echelon en fait partie et son rôle déborde largement de sa dénomination puisqu'il sert aussi à l'espionnage économique et industriel. TCPA : http://www.lebars.org/sec/tcpa-faq.fr.html
Qu'est-ce que le TIA :
- http://www.erta-tcrg.org/analyses/tia.htm (en français)
- http://en.wikipedia.org/wiki/Information_Awareness_Office (en anglais)
- http://www.consciencedupeuple.com/html/le_projet_echelon.htm(...) (en français)
[^] # Re: Remplacer ? Pas tout à fait
Posté par patrick_g (site web personnel) . Évalué à 3.
s/plus grand dénominateur commun/plus petit dénominateur commun
[^] # Re: Remplacer ? Pas tout à fait
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 2.
[^] # Re: Remplacer ? Pas tout à fait
Posté par Jean B . Évalué à 2.
[^] # Re: Remplacer ? Pas tout à fait
Posté par Anonyme . Évalué à 7.
[^] # Re: Remplacer ? Pas tout à fait
Posté par reno . Évalué à 3.
[^] # Re: Remplacer ? Pas tout à fait
Posté par windu.2b . Évalué à 3.
Répète après moi : "Windows est multi-taches, Linux est multi-tâches"
[^] # Re: Remplacer ? Pas tout à fait
Posté par windu.2b . Évalué à 1.
tache et [[tâche]] bien sûr... Wikipedia nous dit même que "tâche" vient d'une racine latine qui a donné "tasche", et qui se rapproche de "task" en anglais. Du coup, plus de raisons de faire l'erreur (mais je préfère ma phrase mnémotechnique quand même :-p )
Wiktionnary[1] nous donne même une étymologie
1 http://fr.wiktionary.org/wiki/tache
[^] # Re: Remplacer ? Pas tout à fait
Posté par barmic . Évalué à -4.
Mais sérieusement intégrer ftp dans le démon ssh ça me chagrine légèrement. Ça fait une appli plus grosse, plus compliquée à maintenir, etc Moi qui croyait qu'unix voulais des appli petites et flexible.
Là ça fait un peu usine à gaz, même si c'est léger à l'exécution.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Remplacer ? Pas tout à fait
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 2.
[^] # Re: Remplacer ? Pas tout à fait
Posté par Pierre Jarillon (site web personnel) . Évalué à 5.
[^] # Re: Remplacer ? Pas tout à fait
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 2.
[^] # Re: Remplacer ? Pas tout à fait
Posté par Matthieu Moy (site web personnel) . Évalué à 5.
Avec le sftp actuel, par défaut, on a accès à tout ce que peut faire l'utilisateur sur la machine distante (i.e. en général, lecture à peu près partout dans / et lecture-écriture dans $HOME). Pour un fournisseur d'accès, c'est pas très classe, il ne veut pas que l'utilisateur puisse voir en dehors de son $HOME, bref, que le / qu'il voit soit son $HOME physique.
Sinon, sftp, c'est pas du tout un truc « lourd », c'est juste un programme que le démon ssh peut lancer, et qui obéit à quelques requetes assez simples (lister un répertoire, uploader et télécharger un fichier, ...).
Contrairement au ftp classique, y'a pas de bidouille à rouvrir une nouvelle connexion pour telecharger un fichier ou quoi, tout passe dans le même tunnel, et donc beaucoup moins de soucis avec les firewalls et les NATs.
# C'est déja possible avec scponly
Posté par Aurelien . Évalué à 4.
Voir http://sublimation.org/scponly/wiki/index.php/Main_Page pour plus d'information.
Je l'utilise pas mal car j'aime pas donner des shells a qui doit juste deposer/effacer/... des fichiers dans les répertoire applicatifs des serveurs.
Tant mieux si cette fonctionnalité est directement intégrée a OpenSSH, ce sera plus propre.
[^] # Re: C'est déja possible avec scponly
Posté par matt23 . Évalué à 5.
[^] # Re: C'est déja possible avec scponly
Posté par niol (site web personnel) . Évalué à 3.
# excellente nouvelle
Posté par William Dauchy (site web personnel) . Évalué à 3.
# Je commence à être perdu...
Posté par Zenitram (site web personnel) . Évalué à 1.
SFTP (Secure FTP)
FTPS (FTP over SSL)
Je commence à être perdu moi!
Quel est l'avantage de SFTP par rapport à FTPS?
Pour moi, un FTP sécurisé existait déjà, et ce n'est pas cette modification qui va changer la non-volonté des gens à passer à du secure, pourquoi cet optimisme?
Et ca commence à me faire bizarre de tout faire passer par SSH...
Pour moi, une appli une fonction SSH pour l'accès, et FTP(S) pour les transferts...
Et si je comprend bien la présentation (n'hésitez pas à me corriger!), si je configure pour avoir du SFTP chrooté pour mes "clients", je ne pourrai plus faire de scp? Ou tout le monde n'est pas logé à la même enseigne et on peut chrooter à la tête du login?
PS : sinon, une première page pour un commit CVS, ca fait pas un peu beaucoup?
[^] # Re: Je commence à être perdu...
Posté par Larry Cow . Évalué à 5.
FTPS et ses innombrables variantes (FTP via SSL, FTP via TLS explicite/implicite) sont simplement une manière de faire passer les commandes FTP classiques dans une connexion chiffrée (la distinction se faisant sur la version de l'infrastructure de chiffrement utilisée, ainsi que sur le port par défaut).
Jusqu'ici, j'ai toujours un peu vu SCP/SFTP comme un "FTP du pauvre". Super pratique parce qu'installé par défaut partout où on a un shell, mais clairement pas les mêmes taux de transferts qu'un FTP. C'est pratique pour uploader un fichier de configuration, nettement moins pour récupérer une sauvegarde intégrale d'un système.
FTPS, je m'en sert essentiellement pour fournir de l'espace de stockage "sécurisé" à des tiers, et limiter d'autant l'envoi de grosses pièces jointes par mail sans toutefois imposer de mettre des trucs confidentiels sur dl.free.fr ou rapidshare (ou pire: une page perso Free).
L'autre grande différence, c'est que SFTP s'appuie sur OpenSSH (et donc le partage de clé qui va avec), tandis que FTPS s'appuie sur X509 (et donc une hiérarchie de certificats chapeautés par une autorité toute puissante).
[^] # Re: Je commence à être perdu...
Posté par phyce . Évalué à 6.
Le problème de FTP est que c'est un protocole complètement inadapté à la sécurité des réseaux moderne. SFTP fonctionnant sur un seul port me semble répondre plutot bien a ce besoin.
[^] # Re: Je commence à être perdu...
Posté par Olivier (site web personnel) . Évalué à 2.
Coté client, il ne faut se connecter qu'en mode PASSIF, car en mode ACTIF, le firewall du CLIENT ne laissera rien passer.
Pour PROFTPD, c'est l'option "PassivePorts 45000 45100" qui permet de n'ouvrir les ports de 45000 à 45100 en mode PASSIF.
J'utilise cette technique depuis des années sur mes serveurs FTP+TLS
[^] # Re: Je commence à être perdu...
Posté par briaeros007 . Évalué à 3.
Ce qui n'est pas propre : tu laisse ouvert de ports qui vont renvoyer un RST, et qui n'ont pas besoin normalement d'être ouvert.
Bref, : berk!
[^] # Re: Je commence à être perdu...
Posté par Olivier (site web personnel) . Évalué à 1.
Quel est le problème ? C'est que ta machine n'est plus un "trou noir" sur Internet ? De toute façon, il est déjà visible, car tu as laissé le port FTPS d'ouvert
Tu crains une attaque par DoS sur ces ports là ? Netfilter peut limiter ses réponses avec le paramètre "--limit"
Si tu as une meilleur solution, je suis preneur. Mais netfilter n'ayant aucun moyen de décoder le flux de commande, il n'y a pas moyen de faire autrement.
[^] # Re: Je commence à être perdu...
Posté par briaeros007 . Évalué à 2.
J'ai pas dis qu'il n'y de moyen, j'ai dis que ce n'était pas propre (ie que le protocole est merdique et pas vraiment firewall friendly).
En réalité il y a bien une solution, c'est d'avoir une authentification par certificat, et d'avoir la clée privée du serveur dupliquée sur le fw, pour qu'il puisse lire les flux. C'est déjà utilisé par certains équipements de monitoring pour le https ce genre de solutions.
[^] # Re: Je commence à être perdu...
Posté par reno . Évalué à 2.
Vu le nombre de remarque, visiblement ce n'est pas le cas!
Sinon pour répondre a ta question, le gros interet de pouvoir faire la même chose avec SFTP qu'avec FTP, c'est que ça va simplifier les choses: plus de serveur FTP qui fait doublon avec le serveur SFTP/SSH, plus de double gestion des comptes, simplification de la configuration du firewall..
Et j'ajouterai aussi: plus de problème lié a un client FTP en mode ASCII (quelle c... cette fonctionnalité!).
Donc clairement: a sab FTP, eviv SFTP.
[^] # Re: Je commence à être perdu...
Posté par Larry Cow . Évalué à 3.
[^] # Re: Je commence à être perdu...
Posté par Jean-Philippe Garcia Ballester (site web personnel) . Évalué à 1.
à sab ERL, eviv EERL...
[^] # Re: Je commence à être perdu...
Posté par yvan . Évalué à 2.
Et SSH va très au delà de la possibilité de s'ouvrir un shell distant:
-Forward de ports via tunnels, pour sécuriser des applis pas sécurisées à la base (en association avec le firewall qui bloque les connections directes au service): VNC en est un exemple courant.
-Tunnels dynamiques=un proxy socks qui permet de faire passer toutes les connections sous SSH des applis supportant cette config (extrèmement courant: navigateurs web, clients mail...), ou de toute appli ne le prévoyant pas mais lancée via tsocks: Utile pour contourner les filtrages WEB des entreprises (via sa propre connection ADSL perso). Parfois, il faut combiner avec une appli de connect proxy et faire écouter le daemon ssh sur le port 443 en plus du 22 afin de faire croire au proxy/firewall qu'on fait du HTTPS ;o), mais c'est chez les + paranos!
-Reverse tunnels: Encore plus fort: On peut littérallement bypasser la necessité du VPN pour se connecter de l'extérieur sur tout intranet.
-SCP pour copier des fichiers sécurisés (sur un lien fiable: pas de reprise comme en FTP).
-SFTP pour faire la même chose sur un lien moins fiable/s'interfacer avec la plupart des clients FTP et ne pas modifier les habitudes des utilisateurs.
Bref, SSH c'est vraiment top. Je ne sais même pas comment je bosserait dans ma boite si ses multiples finesses ne me permettaient pas de bypasser toutes les limitations/firewalls débiles entre les sous-réseaux de la boite. C'est tellement bien, que ça a prévu les admins cons!
# Plus précisément
Posté par Anonyme . Évalué à 3.
Je veux dire que là, michu est chrooté dans /var/www/users, et donc il "voit" les autres répertoires, et doit rentrer dans le sien. Même si les droits sont mis en place pour qu'il ne puisse pas rentrer dans les autres répertoires, il les voit.
Y a t-il une possibilité de chroot unique pour un user, ou alors est-ce une feature qui sera fait dans l'avenir/jamais ?
[^] # Re: Plus précisément
Posté par herodiade . Évalué à 6.
Non, au login sftp va placer l'utilisateur directement dans /chroot/$HOME/
> Même si les droits sont mis en place pour qu'il ne puisse pas
> rentrer dans les autres répertoires, il les voit.
Voila une astuce simple décrite sur Undeadly, pour éviter que
les utilisateurs ne voient les autres homes :
1) Modifier l'indication des chemins des répertoires home
dans /etc/passwd pour qu'ils ressemblent à : /user1, /user2, ...
2) Créer cette structure de répertoires :
/chroot/user1/user1
/chroot/user2/user2
3) Puis, dans ssh_config :
Et hop, c'est réglé, l'utilisateur ne voit pas les autres homes, seulement la sienne.
[^] # Re: Plus précisément
Posté par Anonyme . Évalué à 1.
Ca peut fonctionner de faire plusieurs directives "Match Group". Comme ça, si chaque user à un GID unique, on peut le chrooter ailleurs.
A voir si ça peut marcher, et si ça peut être mieux...
[^] # Re: Plus précisément
Posté par herodiade . Évalué à 2.
Si on est prêt à faire une entrée dans sshd_config par utilisateur, alors
Match User
convient aussi bien (dans ce cas, il n'est pas nécessaire que les utilisateurs aient des gid uniques).[^] # Re: Plus précisément
Posté par Anonyme . Évalué à 1.
Merci beaucoup.
[^] # Re: Plus précisément
Posté par Mathieu . Évalué à 1.
[^] # Re: Plus précisément
Posté par herodiade . Évalué à 6.
Non, sftp va se chrooter dans ChrootDir, puis va faire un chdir() dans la home de l'user (telle qu'indiquée dans /etc/passwd, mais relative à la chroot).
Autrement dit, si la home de toto indiquée dans /etc/passwd est "/home/toto", que le ChrootDir indiqué dans sshd_config est est "/chroot", alors sftp :
1- se chrootera dans /chroot
2- puis se déplacera dans /home/toto, relativement à sa chroot (donc en vrai, dans /chroot/home/toto).
3- l'utilisateur toto pourra voir les répertoires contigus à sa home (c'est à dire tout ceux en dessous du répertoire /chroot, y compris /chroot/home/pouet/, s'il existe).
Ce qui me fait penser, au passage et pour compléter la réponse que j'ai donné juste au-dessus, que si on veux garder une arborescence des homes du type /home/user1, /home/user2, alors on doit pouvoir faire :
Et dans /etc/passwd, indiquer "/" comme path de toutes les homes des utilisateurs qu'on veut chrooter.
# Utilité de FTP ?
Posté par Nerdiland de Fesseps . Évalué à 5.
La seule raison que je connaisse, c'est que comme il y a moins de bande passante réservée aux contrôles, le taux de téléchargement peut être un peu supérieur (au prix d'un risque d'erreurs plus élevé).
On peut très bien télécharger via HTTP, gérer ses données aussi avec les extensions WebDav, on a SSH et SFTP, on a Bittorrent... Que reste-t-il au vilain petit canard ?
[^] # Re: Utilité de FTP ?
Posté par Epy . Évalué à 2.
Le fait que tous les FAI ne proposent que ce protocole pour uploader les données de "monsieurs Michu" et qui donc s'orientent et préfèreront ce protocole si un jour ils ont à en mettre un en place (habitudes toussa .. )
[Halte à la dictature de madame Michu, elle n'est pas plus bête que monsieur Michu]
[^] # Re: Utilité de FTP ?
Posté par MalMok . Évalué à 2.
Concernant ton histoire de bande passante supérieure et de risque d'erreurs, c'est un problème qui est quand même réglé depuis très très longtemps... FTP est un protocole qui fonctionne bien avec un problème de sécurité résolu par SSL.
D'autre part, tout faire passer par HTTP me pose un énorme problème : quid de la maîtrise des flux ? HTTP, c'est pour HyperText, donc du texte. Je ne vois pas ce que le fait de télécharger un binaire à quelque chose à faire avec HTTP... Mais bon, il parait que c'est à la mode de faire des protocoles applicatifs sur un protocole déjà applicatif... C'est pas comme si HTTP était lourd...
Pour finir, SFTP c'est très bien, mais ça ne fonctionne qu'avec des machines ayant SSH, ce qui est loin d'être le cas de tout serveur (en particulier ceux dont tu n'as pas complètement la main)
[^] # Re: Utilité de FTP ?
Posté par herodiade . Évalué à 2.
Et, à part la dimension tartufesque de ftp (et le risque sécurité bien connu de cette fonctionnalité de ftp, la fameuse "FTP bounce attack"), quel est l'intérêt de FXP par rapport à un simple :
scp user1@server1.com:/truc user2@server2.com:/chose ?
# Utilisable depuis longtemps grace à un patch
Posté par Olivier (site web personnel) . Évalué à 1.
Le patch ne fait que quelques lignes, et il il suffisait de déclarer le chroot dans le /etc/passwd :
ftpuser:1010:1010:FTP anonymous account,,,:/var/chroot/ftpuser/./:/bin/sh
C'est le "./" à la fin du paramètre "HOME" du /etc/passwd qui déclenche l'utilisation du chroot par SSH.
J'ai utilisé cette technique pendant longtemps sur mes serveurs SSH/SFTP, avant de passer en FTPS (ProFTPD+TLS)
[^] # Re: Utilisable depuis longtemps grace à un patch
Posté par yvan . Évalué à 1.
C'est pourquoi il est assez dommage que SCP ne soit pas ainsi chrootable: J'observe généralement 25/30% de taux de transfert en moins via SFTP comparé à SCP. Ceci essayé avec les 2 clients windows classiques (filezilla et winscp) utilisé par ceux qui se connectent chez moi et qui permettent de faire du scp ou du tftp.
Mais bon, c'est quand même un beau progrès, surtout que tftp s'en sort tout de même mieux sur les liens peu fiables avec ses possibilités de reprise.
[^] # Re: Utilisable depuis longtemps grace à un patch
Posté par TeXitoi (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.