Installer et configurer le serveur VSFTPD sur Ubuntu 18.04 LTS

Vsftpd, également connu sous le nom de démon FTP très sécurisé, est un serveur FTP pour les systèmes de type Unix. FTP est le protocole réseau standard le plus utilisé pour le chargement/téléchargement de fichiers entre deux ordinateurs sur un réseau. Par défaut, FTP n’est pas sécurisé car il transmet les données avec les informations d’identification de l’utilisateur sans cryptage.

Dans ce tutoriel, nous allons apprendre à installer Vsftpd avec la prise en charge de SSL/TLS sur le serveur Ubuntu 18.04.

Exigences

  • Un serveur exécutant Ubuntu 18.04.
  • Un utilisateur non-root avec des privilèges sudo.
  • L’adresse IP statique 192.168.0.102 est configurée.

Installer Vsftpd

Par défaut, Vsftpd est disponible dans le dépôt par défaut d’Ubuntu 18.04. Tu peux donc facilement l’installer en exécutant simplement la commande suivante :

sudo apt-get install vsftpd -y

Une fois que Vsftpd est installé, démarre le service Vsftpd et active-le pour qu’il démarre au démarrage :

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

Créer une structure de répertoire pour le FTP

Avant de commencer, tu dois créer un utilisateur pour l’accès FTP.

Tu peux créer un utilisateur avec la commande suivante :

sudo adduser vsftp

Ensuite, crée le répertoire ftp et définis la propriété avec la commande suivante :

sudo mkdir /home/vsftp/ftp
sudo chown nobody:nogroup /home/vsftp/ftp
sudo chmod a-w /home/vsftp/ftp

Ensuite, crée un répertoire où les fichiers peuvent être téléchargés et donne la propriété à l’utilisateur vsftp:

sudo mkdir /home/vsftp/ftp/test
sudo chown vsftp:vsftp /home/vsftp/ftp/test

Configurer Vsftpd

Ensuite, tu devras effectuer certaines configurations pour mettre en place le serveur FTP.

Tout d’abord, crée une sauvegarde du fichier de configuration original :

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Ensuite, ouvre le fichier vsftpd.conf :

sudo nano /etc/vsftpd.conf

Ajoute les lignes suivantes :

 listen=NO
 listen_ipv6=YES
 anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 use_localtime=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 chroot_local_user=YES
 secure_chroot_dir=/var/run/vsftpd/empty
 pam_service_name=vsftpd
 pasv_enable=Yes
 pasv_min_port=10000
 pasv_max_port=11000
 user_sub_token=$USER
 local_root=/home/$USER/ftp
 userlist_enable=YES
 userlist_file=/etc/vsftpd.userlist
 userlist_deny=NO

Sauvegarde et ferme le fichier. Tu peux modifier la configuration ci-dessus en fonction de tes besoins.

Ensuite, tu devras aussi ajouter l’utilisateur vsftp au fichier /etc/vsftpd.userlist pour autoriser l’accès FTP :

sudo nano /etc/vsftpd.userlist

Ajoute la ligne suivante :

vsftp

Sauvegarde et ferme le fichier, puis redémarre le service Vsftpd pour appliquer ces modifications :

sudo systemctl restart vsftpd

Maintenant, ouvre ton navigateur Web et tape l’URL ftp://192.168.0.102, il te sera demandé d’entrer ton nom d’utilisateur et ton mot de passe pour accéder à FTP. Entre ton nom d’utilisateur et ton mot de passe vsftp, puis clique sur le bouton Ok. Tu devrais voir la page suivante :

Accéder au serveur par FTP

Sécuriser Vsftpd en utilisant SSL/TLS

Ensuite, tu devras activer SSL/TLS pour crypter les données transférées par FTP.

Pour ce faire, tu devras créer un certificat. Tu peux créer un certificat en utilisant OpenSSL à l’aide de la commande suivante :

sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

Ensuite, tu devras modifier le fichier vsftpd.conf et y apporter quelques changements :

sudo nano /etc/vsftpd.conf

Ajoute les lignes suivantes :

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Sauvegarde le fichier, puis redémarre Vsftpd à l’aide de la commande suivante :

sudo systemctl restart vsftpd

Accéder à FTP via SSL/TLS

Tu ne peux pas accéder à ton serveur FTP sur SSL/TLS via un navigateur. Tu dois donc installer le client FTP FileZilla pour accéder à ton serveur FTP. Parce que FileZilla prend en charge FTP sur SSL/TLS.

Tu peux installer le client FileZilla à l’aide de la commande suivante :

sudo apt-get install filezilla -y

Une fois que FileZilla est installé, ouvre-le depuis ton tableau de bord Unity. Tu devrais voir l’image suivante :

FileZilla FTP Client

Maintenant, clique sur le Fichier>Gestionnaire de sites. Tu devrais voir l’image suivante :

Ajouter un site dans FileZilla

Ici, ajoute Nouveau site et indique le nom de l’hôte/site, ajoute l’adresse IP, définis le protocole à utiliser, le cryptage et le type de connexion. Puis clique sur le bouton Connecter. Tu devrais voir l’image suivante :

Accept SSL certificate

Maintenant, vérifie le certificat utilisé pour la connexion SSL/TLS, et clique une fois de plus sur OK pour te connecter au serveur FTP. Tu devrais voir le contenu de ton serveur FTP sur la page suivante :

Connexion FTP au serveur Vsftpd établie

Vous aimerez aussi...