[Tuto] Chrooté un utiliseur SFTP dans son Home avec Mysecureshell.

Pourquoi?

Il me fallait un accès SFTP pour un utilisateur mais uniquement bloqué dans son dossier pour des raisons de simplicité et de sécurité. En effet cela nous évite de mettre en place un serveur FTP ainsi que la mise en place d’un certificat SSL pour sécurisé l’accès en FTPS.

Un seule port est donc ouvert (22 par défault) et vous bénéficiez du cryptage de votre tunnel SSH .

Installation

Pré-requis: openssh

Rajoutez ceci dans votre fichier /etc/apt/sources.list :

[quote] deb http://mysecureshell.free.fr/repository/index.php/debian testing main

deb-src http://mysecureshell.free.fr/repository/index.php/debian testing main[/quote]

 

Pour importer la signature GPG du repository, il faut exécuter les commandes suivantes:

[quote]gpg –keyserver hkp://pool.sks-keyservers.net –recv-keys E328F22B; gpg –export E328F22B | sudo apt-key add -[/quote]

Mettez ensuite à jour votre liste de packages :

[quote]apt-get update[/quote]

Et finalement installer mysecureshell:

[quote]apt-get install mysecureshell[/quote]

Configuration

Par défaut la configuration limite le download à 50K et place votre user dans /home/$USER même si le home du user est définit sur un autre répertoire.

Il faut donc modifier  /etc/ssh/sftp_config:

[quote] nano /etc/ssh/sftp_config[/quote]

Et commenter les lignes:

[quote]#       Download                5k      #limit speed download for each connection

et #       Home                    /home/$USER     #overrite home of the user but if you want you can use[/quote]

J’ai également commenté la limitation de connexion par utilisateurs:

[quote]#       LimitConnectionByUser   1       #max connection for the account[/quote]

Le CHROOT ne fonctionne pas forcement par défault, il vaut mieux créer un utilisateur dans le fichier de config également:

[quote]

<default>#Votre conf par défaut

</default>

L’utilisateur:

<User sftpuser>
Home /home/torrent/share
StayAtHome true
VirtualChroot true
</User>
[/quote]

StayAtHome true, permet de bloquer l’utilisateur dans le dossier Home définit, il ne peut donc pas remonter dans votre arborescence.

VirtualChroot true, Vous permet d’empêcher l’utilisateur de voir le chemin exact de vos fichiers sur le serveur, pour lui il est donc dans « / »

Ensuite vous pouvez limiter le nombre de connexions de l’utilisateur par IP et aussi en connexion simultanées:

[quote]LimitConnection 5
LimitConnectionByIP 1[/quote]

Redémarrer mysecureshell

N’oubliez pas de redémarrer mysecureshell:

[quote]/etc/init.d/mysecureshell restart[/quote]

 

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *