Comment installer le serveur FTP vsftpd sur Debian 11

FTP, abréviation de File Transfer Protocol, est un protocole populaire pour transférer des fichiers vers et depuis un serveur FTP. Cependant, il présente des risques de sécurité car il envoie des données et des informations sensibles telles que des noms d’utilisateur et des mots de passe en texte brut. VSFTPD (Very Secure FTP Daemon) est un serveur FTP rapide, sécurisé et stable qui utilise le cryptage pour sécuriser les données échangées avec le serveur.

Dans ce tutoriel, nous apprenons à installer le serveur FTP vsftpd au Debian 11.

Étape 1 : Installer vsftpd sur Debian 11

Tout d’abord, ouvrez le terminal et mettez à jour les listes de paquets sur votre serveur Debian.

$ sudo apt update

Le paquet vsftpd est hébergé sur les dépôts officiels de Debian. Par conséquent, utilisez le gestionnaire de packages APT comme indiqué.

$ sudo apt install vsftpd

La commande installe vsftpd, aux côtés d’autres dépendances. Une fois installé, vsftpd démarre automatiquement. Vous pouvez le confirmer en exécutant la commande :

$ sudo systemctl status vsftpd

À partir de la sortie, vous pouvez voir que vsftpd s’exécute comme prévu.

Si le service vsftpd ne fonctionne pas dans votre cas, vous pouvez le démarrer comme indiqué.

$ sudo systemctl start vsftpd

Activez ensuite le démarrage du service au démarrage.

$ sudo systemctl enable vsftpd

Étape 2 : Créez un utilisateur FTP unique

Ensuite, nous allons créer un compte utilisateur FTP unique que nous allons utiliser pour nous connecter au serveur FTP. Utilisez simplement le adduser commande suivie du nom de l’utilisateur et répondez aux invites en conséquence.

$ sudo adduser ftpuser

Créer un utilisateur FTP sur Debian 11Créer un utilisateur FTP sur Debian 11

Étape 3 : ajouter un utilisateur FTP à la liste des utilisateurs de connexion autorisés

En continuant, nous ajouterons l’utilisateur FTP au vsftpd.userlist déposer. Les utilisateurs locaux spécifiés dans ce fichier sont autorisés à accéder au serveur FTP.

Alors, exécutez la commande :

$ echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist

Ajouter un utilisateur FTP au fichier de liste d'utilisateurs vsftpdAjouter un utilisateur FTP au fichier de liste d’utilisateurs vsftpd

Parfait. Continuons maintenant et configurons vsftpd.

Étape 4 : Créer un répertoire d’utilisateurs FTP

Ensuite, créez un répertoire FTP pour l’utilisateur FTP et attribuez les autorisations et la propriété de répertoire appropriées.

$ sudo mkdir -p /home/ftpuser/ftp_dir

$ sudo chmod -R 750 /home/ftpuser/ftp_dir

$ sudo chown -R ftpuser: /home/ftpuser/ftp_dir

Étape 5 : Configurer vsftpd

Quelques étapes supplémentaires sont nécessaires avant que nous puissions nous connecter et commencer à interagir avec le serveur. Continuez et éditez le fichier de configuration principal – /etc/vsftpd.conf.

$ sudo vim /etc/vsftpd.conf

Vous devez vous assurer que certains paramètres sont définis.

Commençons d’abord par Accès FTP. Par défaut, l’accès est accordé aux utilisateurs anonymes. Mais ce n’est pas ce que nous voulons pour des raisons de sécurité. Par conséquent, nous désactiverons la connexion par l’utilisateur anonyme et n’accorderons l’accès qu’à l’utilisateur local.

anonymous_enable=NO

local_enable=YES

Ensuite, vous devez autoriser l’utilisateur local à télécharger des fichiers et à accéder à son répertoire de base, ainsi qu’à apporter des modifications aux fichiers comme indiqué.

write_enable=YES

chroot_local_user=YES

allow_writeable_chroot=YES

De plus, vous pouvez limiter les utilisateurs locaux qui peuvent accéder et télécharger des fichiers en spécifiant uniquement les utilisateurs contenus dans le vsftpd.userlist déposer.

userlist_enable=YES

userlist_file=/etc/vsftpd.user_list

userlist_deny=NO

Pour fournir une connexion FTP sécurisée au serveur, nous devons crypter le serveur à l’aide d’un certificat SSL. Nous allons générer un certificat SSL auto-signé pour chiffrer le serveur. Pour ce faire, exécutez la commande.

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Revenez au fichier de configuration par défaut et collez ces lignes pour spécifier le chemin des certificats SSL générés et activer SSL.

rsa_cert_file=/etc/ssl/private/vsftpd.pem

rsa_private_key_file=/etc/ssl/private/vsftpd.pem

ssl_enable=YES

En résumé, votre fichier de configuration doit contenir ces lignes :

écouter = NON
listen_ipv6=OUI
anonyme_enable=NON
local_enable=OUI
write_enable=OUI
dirmessage_enable=OUI
use_localtime=OUI
xferlog_enable=OUI
connect_from_port_20=OUI
chroot_local_user=OUI
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=OUI
user_sub_token=$USER
racine_locale=/home/$USER/ftp
userlist_enable=OUI
userlist_file=/etc/vsftpd.user_list
userlist_deny=NON

Pour que les modifications prennent effet, redémarrez le serveur.

$ sudo systemctl restart vsftpd

Juste pour vous assurer que tout va bien, vous pouvez vérifier son état de fonctionnement.

$ sudo systemctl status vsftpd

Étape 5 : Accéder au serveur vsftpd

Nous en avons maintenant terminé avec les configurations. Le dernier bit consiste à vous connecter. Si vous avez un pare-feu activé, autorisez les ports 20 et 21.

$ sudo ufw allow 20/tcp

$ sudo ufw allow 21/tcp

Rechargez ensuite le pare-feu pour que les modifications s’appliquent.

$ sudo ufw reload

Enfin, récupérez votre client FTP tel que FileZilla et remplissez les détails comme suit :

Héberger: sftp://serveur-IP

Nom d’utilisateur: ftpuser

Mot de passe: Mot de passe de ftpuser

Une fois que vous avez rempli les détails, cliquez sur le bouton « QuickConnect ».

FileZilla se connecte au serveur FTP

Une fois la liste des répertoires réussie, vous pouvez maintenant commencer à transférer des fichiers en toute sécurité via SSL.

FileZilla connecté au serveur FTP

Sur la ligne de commande, exécutez simplement la commande :

$ sftp ftpuser@server-IP

Tapez « oui » lorsque vous êtes invité à continuer et fournissez le mot de passe à l’utilisateur FTP pour se connecter.

Connectez-vous au serveur vsftpd à partir de la ligne de commande

Conclusion

Il s’agissait d’un didacticiel où nous avons appris à installer le serveur FTP vsftpd sur Debian 11. Nous sommes allés de l’avant et avons créé l’utilisateur, configuré le serveur et connecté à partir d’un client FTP et sur la ligne de commande.