Maniatux's Blog

Welcome to the internet

Alternative au FTP: SFTP + My Secure Shell

Rédigé par Xavier - -

Le FTP est une référence en matière de serveur de fichiers, malheureusement quand on ajoute des fonctionnalités de chiffrage, on éprouve des difficultés à passer les parefeu, car le protocole n'est pas très propre. De plus certains serveurs sont soit trop compliqués, soit trop limités (le monitoring sous vsftpd est quasiment inexistant).

Le protocole SFTP, qui est basé sur SSH, est beaucoup plus simple et propre, mais néanmoins limité au niveau du monitoring. C'est là qu'intervient My Secure Shell.

MSS est un shell offrant un outil de monitoring plus complet. Il offre aussi des scripts pour ajouter des utilisateurs aux droits limités (ils pourront se connecter sur le serveur SFTP, mais ne peuvent pas entrer de commandes). C'est la solution idéale pour un partage de fichiers simple et rapide.

Logiciel

  • Ubuntu ou Debian
  • OpenSSH
  • Filezilla client

Requis

  • Avoir un réseau fonctionnel
  • Connaissance des droits Linux

Principe de fonctionnement

Si l'on ajoute un utilisateur sur un système Linux, par défaut le shell /bin/bash lui est attribué. Si on ajoute un utilisateur avec un des outils de mysecureshell, le shell /bin/mysecureshell lui est attribué. C'est ce Shell qui permet un monitoring.

Dans les deux cas, le client se connecte au serveur OpenSSH. Mais c'est son shell qui détermine ses droits. /bin/mysecureshell ne donne pas d'interface en lignes de commandes mais juste l'accès au serveur SFTP, et cela active du monitoring également.

Installation

Commencez par installer OpenSSH serveur:

http://mysecureshell.sourceforge.net/fr/confman.html
# apt-get install openssh-server

Ensuite vous allez devoir télécharger mysecureshell qui n'est pas dans les dépôts. Vous pouvez le trouver à cette adresse (prenez la version qui correspond à cotre système). Ensuite, installez-là. Par exemple, si je suis sur debian 32bits:

# dpkg -i mysecureshell_1.20_i386.deb

Configuration

Le fichier de configuration se trouve dans /etc/ssh/ et se nomme sftp_config.

# nano /etc/ssh/sftp_config

Les grandes lignes du fichier de configuration sont décrites sur cette page. Personnellement, j'ai modifié:

GlobalDownload
Download
Home

Création d'un utilisateur

La commande à utiliser (remplacer $USER par le nom que vous lui donnez) est:

# sftp-user create $USER

Pour supprimer un utilisateur, la commande est:

# sftp-user delete $USER

Pour lister les utilisateurs:

# sftp-user list

Gestion des droits des utilisateurs

En tapant:

# cat /etc/passwd

On peut voir apparaitre les utilisateurs précédemment créés. Ils font donc partie du système, et leurs droits sont gérés par Linux. Ainsi, utilisez chmod et chown pour gérer les droits (voir article Serveur FTP).

Monitoring

Utilisez la commande:

# sftp-who

Pour lister les utilisateurs. Si vous voulez plus de détails (débit, avancement, fichier...) ajoutez l'option -v. Si vous voulez un affichage permanent, ajoutez l'option --while ce qui donne:

# sftp-who -v --while

Autres commandes

Elles sont listées sur le site officiel: à cette adresse.

Limites de My Secure Shell

  • L'utilisateur doit avoir un compte sur le système, contrairement aux serveurs FTP qui permettent de les gérer virtuellement.
  • Les transferts sont chiffrés, ce qui est sécurisant mais pénalisant sur un réseau à très fort débit (1000Mbps) car les processeurs sont très chargés (un Intel Atom ne suit pas, et le débit est divisé par 3 par rapport à un transfert sur protocole léger comme le FTP).
  • A priori ne s'installe pas sur serveur Windows.

Classé dans : Sysadmin - Mots clés : aucun