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.