VsFTPd (Very Secure FTP Daemon) est un serveur FTP conçu avec la problématique d’une sécurité maximale. Contrairement aux autres serveurs FTP (ProFTPd, PureFTPd, etc.), aucune faille majeure de sécurité n’a jamais été décelée dans VsFTPd.
La configuration par défaut de VsFTPd est très restrictive :
1. Seul le compte anonyme est autorisé à se connecter au serveur
2. Les utilisateurs ne peuvent pas accéder à leurs répertoires
Installation et Configuration de Vsftpd
# apt -y install vsftpd
Nous allons maintenant configurer le ficher vsftpd.conf
# nano /etc/vsftpd.conf
#ligne 14 : Changer pour écouter IPv4
listen=YES
# ligne 22: retirer IPv6
listen_ipv6=NO
# ligne 31: Décommenter
write_enable=YES
# ligne 99,100 : Décommenter ( autoriser le transfert en mode ascii)
ascii_upload_enable=YES
ascii_download_enable=YES
# ligne 122: décommenter ( activer chroot )
chroot_local_user=YES
# ligne 123: décommenter ( activer la liste chroot )
chroot_list_enable=YES
# ligne 125: décommenter
chroot_list_file=/etc/vsftpd.chroot_list
# ligne 131: décommenter
ls_recurse_enable=YES
# Ajouter à la fin de fichier
# désactiver le filtre seccomp
seccomp_sandbox=NO
# décommenter si vous le souhaitez changer le port d’écoute par défaut
# listen_port=2121
Créer les utilisateurs :
# adduser user1
# adduser user2
Les identifiants des utilisateurs concernés doivent être renseignés dans /etc/vsftpd.chroot.list sous la forme d’une simple liste:
# nano /etc/vsftpd.chroot_list
# ajouter des utilisateurs que vous autorisez à se déplacer sur leur répertoire personnel
user1
user2
# systemctl restart vsftpd
Configurer Vsftpd pour utiliser SSL/TLS.
Nous allons créer un certificat auto-signé
# cd /etc/ssl/private
# openssl req -x509 -nodes -newkey rsa:2048 -keyout vsftpd.pem -out vsftpd.pem -days 365
Nous allons changer les droits sur le fichier :
# chmod 600 vsftpd.pem
Il faut modifier le fichier de configuration en ajoutant à la fin les lignes suivantes :
# nano /etc/vsftpd.conf
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
ssl_ciphers=HIGH
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
# systemctl restart vsftpd
Configurer un client FTP pour utiliser la connexion FTPS
Pour Windows, on peut utiliser FilleZilla.
Ouvrir Fichier ensuite Gestion des sites et mettre Connexion FTP explicite sur TLS

A la connexion, un message s’affichera pour vous demandez de valider le certificat.
ça marche pas ça me dit impossible d’etablir une connexion au serveur