Dans le paysage numérique actuel, la nécessité de méthodes de transfert de fichiers efficaces et sécurisées est primordiale. Le FTP reste un choix populaire pour le transfert de fichiers vers et depuis des serveurs. Parmi les différents serveurs FTP disponibles, VSFTPD se distingue comme une option largement utilisée et gratuite, offrant des fonctionnalités de sécurité robustes.

Etapes d’installation

Commençons par le processus d’installation de VSFTPD sur Ubuntu. Ouvrez votre terminal et suivez les commandes ci-dessous :

# Rafraîchir l'index des paquets
sudo apt-get update

# Installer VSFTPD
sudo apt-get install vsftpd

Pour vérifier l’installation réussie, vérifiez la version et l’état de VSFTPD :

# Version VSFTPD
sudo vsftpd-version

# Etat VSFTPD
sudo systemctl status vsftpd

Si la sortie affiche la version et l’état de VSFTPD, cela signifie que l’installation a réussi. Cependant, s’il ne fonctionne pas ou n’est pas activé, vous pouvez utiliser les commandes suivantes pour l’activer et le démarrer :

# Activer VSFTPD
sudo systemctl enable vsftpd

#Démarrer VSFTPD
sudo systemctl start vsftpd

Configuration de VSFTPD

Maintenant que VSFTPD est opérationnel, passons à sa configuration. Nous mettrons à jour le fichier de configuration principal situé à /etc/vsftpd.conf. Il est toujours bon de créer une copie de sauvegarde du fichier de configuration original avant de faire des modifications :

# Sauvegarder la configuration de VSFTPD
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Pour mettre à jour les configurations, ouvrez le fichier de configuration à l’aide de votre éditeur préféré (dans ce guide, nous utiliserons nano) :

# Ouvrir la configuration avec l'éditeur nano
sudo nano /etc/vsftpd.conf

Passons maintenant en revue certaines configurations importantes que vous pourriez vouloir modifier selon vos besoins :

1. Fonctionner en autonome ou à partir d’inetd

Par défaut, VSFTPD fonctionne comme un démon autonome. Pour activer cela, assurez-vous que la directive listen est définie sur NO :

listen=NO

2. Activer l’écoute IPv6

Si vous souhaitez activer l’écoute sur les sockets IPv6, décommentez la ligne suivante :

listen_ipv6=YES

3. Permettre aux utilisateurs locaux de se connecter

Pour permettre aux utilisateurs locaux de se connecter, décommentez la ligne suivante :

local_enable=YES

4. Activer les commandes d’écriture FTP

Si vous souhaitez activer toute forme de commande d’écriture FTP, décommentez la ligne suivante :

write_enable=YES

5. Changer le umask par défaut pour les utilisateurs locaux

Si vous souhaitez changer le umask par défaut pour les utilisateurs locaux, modifiez la ligne suivante :

local_umask=022

6. Activer les messages de répertoire

Pour activer les messages de répertoire qui sont donnés aux utilisateurs distants lorsqu’ils entrent dans un certain répertoire, décommentez la ligne suivante :

dirmessage_enable=YES

7. Activer la journalisation des téléchargements/uploads

Pour activer la journalisation des téléchargements et des uploads, décommentez la ligne suivante :

xferlog_enable=YES

8. Restreindre les utilisateurs locaux à leurs répertoires personnels

Si vous souhaitez restreindre les utilisateurs locaux à leurs répertoires personnels, décommentez la ligne suivante :

chroot_local_user=YES

9. Définir le nom du service PAM

Spécifiez le nom du service PAM que VSFTPD utilisera :

pam_service_name=vsftpd

10. Configurations supplémentaires

Vous pouvez personnaliser davantage votre configuration VSFTPD en ajoutant les lignes suivantes :

vsftpd_log_file=/var/log/vsftpd.log
tcp_wrappers=YES
pasv_enable=Yes
pasv_min_port=50000
pasv_max_port=50100
allow_writeable_chroot=NO
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

Sauvegardez le fichier de configuration et quittez l’éditeur. Maintenant, redémarrez VSFTPD pour appliquer les modifications :

# Redémarrer VSFTPD
sudo systemctl restart vsftpd

Gestion des utilisateurs FTP locaux

Maintenant que le serveur VSFTPD est configuré, nous pouvons créer et gérer des utilisateurs FTP locaux. Ces utilisateurs pourront se connecter au serveur FTP à l’aide de clients FTP sur des systèmes distants. Pour ajouter un nouvel utilisateur local, suivez ces étapes :

# Ajouter un utilisateur
sudo useradd -m -c "Utilisateur FTP 1" -s /bin/bash ftpuser1

# Définir un mot de passe
sudo passwd ftpuser1

Remplacez ftpuser1 par le nom d’utilisateur souhaité. Vous serez invité à définir un mot de passe pour l’utilisateur. Une fois l’utilisateur créé, nous devons créer des répertoires pour stocker les fichiers FTP et définir les autorisations appropriées :

sudo mkdir /home/ftpuser1/ftp
sudo chown nobody:nogroup /home/ftpuser1/ftp
sudo chmod a-w /home/ftpuser1/ftp
sudo mkdir /home/ftpuser1/ftp/files
sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1/ftp/files
sudo chmod -R 0770 /home/ftpuser1/ftp/files

Pour mettre à jour la liste des utilisateurs autorisés de VSFTPD, modifiez le fichier /etc/vsftpd.userlist :

# Ajouter un utilisateur - Mettre à jour la liste des utilisateurs
echo "ftpuser1" | sudo tee -a /etc/vsftpd.userlist

Maintenant, votre utilisateur FTP local est prêt à se connecter au serveur VSFTPD à l’aide d’une application client FTP.

Sécurisation du serveur VSFTPD

Pour renforcer la sécurité de votre serveur VSFTPD, nous pouvons le configurer pour permettre la communication FTP sur TLS. Cela nécessite un certificat SSL valide. Vous pouvez obtenir un certificat SSL gratuit en utilisant Let’s Encrypt pour Apache ou Nginx. Alternativement, vous pouvez générer un certificat auto-signé en utilisant OpenSSL.

Une fois que vous avez obtenu un certificat SSL, ouvrez à nouveau le fichier de configuration VSFTPD :

# Ouvrir la configuration avec l'éditeur nano
sudo nano /etc/vsftpd.conf

Mettez à jour les configurations suivantes pour activer FTP sur TLS :

rsa_cert_file=
rsa_private_key_file=
ssl_enable=YES

De plus, vous pouvez ajouter les lignes suivantes pour sécuriser davantage votre serveur VSFTPD :

debug_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
require_ssl_reuse=NO
ssl_ciphers=HIGH

Sauvegardez le fichier de configuration et redémarrez VSFTPD :

# Redémarrer VSFTPD
sudo systemctl restart vsftpd

Félicitations ! Vous avez réussi à installer et sécuriser le serveur VSFTPD sur Ubuntu 20.04 LTS.

Chez Shape.host, nous proposons des solutions d’hébergement cloud fiables et évolutives pour les entreprises. Nos plans VPS SSD Linux fournissent la plateforme idéale pour héberger votre serveur FTP en toute sécurité. Visitez notre site web pour en savoir plus sur nos services et commencer votre voyage vers un environnement de transfert de fichiers sécurisé et efficace.