Mise en place de vsFTPd

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Services réseaux Mots clés : FTP, vsFTPd

Tout d'abord pourquoi vsFTPd ?


vsFTPd est reconnu comme l'un des serveurs FTP les plus sûrs dispos dans le monde *nix (IBM, Redhat, kernel.org l'utilisent). Il est simple à mettre en œuvre et ne comporte pas de fonctionnalités exotiques.

L'autre serveur FTP qu'il est bien est Pure-FTPd. Il est aussi très sûr, mais contient nettement plus de fonctionnalités que vsFTPd et sa mise en place est un peu plus difficile.

Installation de vsFTPd


On l'installe comme d'habitude avec
apt-get install vsftpd

Tout se passe ensuite dans /etc/vsftpd.conf qui est plutôt bien commenté. Voici les principales modifications à y apporter à l'aide d'un éditeur de texte en root :
# on désactive les connexions anonymes
anonymous_enable=NO
# on autorises les comptes locaux a se connecter
local_enable=YES
# si vous voulez activer l'écriture
write_enable=YES
# droit par défaut des fichiers envoyés sur le serveur : ici droits
# max pour le possesseur, droit de lecture pour le groupe, droit de
# lecture pour tout le monde, un plus restrictif est 077, aucun droit
# pour le groupe et tout le monde
local_umask=022
# on interdit l'envoi de fichier sur le serveur en anonyme
anon_upload_enable=NO
# on interdit la création des répertoires pour les anonymes
anon_mkdir_write_enable=NO
# l'utilisateur sous lequel sera exécuté le serveur FTP, un
# utilisateur sans privilège pour éviter tout problème
nopriv_user=ftp
# on désactive les requêtes asynchronous ABOR qui ont un code pouvant
# poser des problèmes de sécurité car non trivial
async_abor_enable=NO
# on interdit l'envoi de fichier en ASCII car source de problème de
# sécurité, on va plutôt privilégier les envois en binaires
ascii_upload_enable=NO
# on interdit le téléchargement en ASCII car source de problème de
# sécurité, on va plutôt privilégier les téléchargements en binaires
ascii_download_enable=NO
# pour bloquer les utilisateurs dans leur répertoire afin qu'ils ne
# se promènent pas dans toute l'arborescence du serveur
chroot_local_user=YES
# le fichier contenant les utilisateurs non bloqués dans leur
# répertoire
chroot_list_file=/etc/vsftpd.chroot_list

Gestion des utilisateurs


Fichier /etc/ftpusers


Ce fichier contient les comptes locaux disponibles sur le serveur Linux n'ayant pas le droit de se connecter au FTP. Pour le remplir une première fois :
cat /etc/passwd |cut -d ":" -f1 > /etc/ftpusers

On met tous les comptes présents sur le serveur, car on va ensuite créer les comptes qui ont le droit de s'y connecter en FTP.

Création des comptes


On crée ensuite les comptes qui pourront accéder au serveur FTP :
adduser --home /monrepertoireftp --ingroup nogroup nomutilisateur

Remplir uniquement le mot de passe, le reste des informations étant facultatif.

Le répertoire spécifié par --home est celui dans lequel se rendra l'utilisateur quand il sera connecté au serveur FTP et c'est dans ce répertoire qu'il peut être bloqué avec chroot .

Blocage des utilisateurs dans leur répertoire


Pour interdire aux utilisateurs de se promener dans tout le serveur, on peut les bloquer dans leur répertoire en utilisant le fichier /etc/vsftpd.chroot_list.
Dans ce fichier, on rajoute les utilisateurs qui ne seront pas bloqués dans leur répertoire (défini par adduser avec --home) et qui pourront se déplacer dans toute l'arborescence du système. Il faut remplir un nom par ligne.

Les commentaires sont fermés.