Serveur FTP · 8 min read · Dec 22, 2025
Comment installer un serveur FTP sécurisé avec vsftpd sur Debian 12

vSFTPd ou Very Secure FTP Daemon est un logiciel de serveur FTP gratuit et open-source. C’est un démon FTP pour les systèmes d’exploitation de type Unix et est sous licence GNU General Public License. vSFTPd est l’un des démons FTP les plus utilisés, il est rapide et léger en termes de ressources système, sécurisé grâce à l’intégration de PAM et SSL, et stable. vSFTPd a gagné la confiance de grandes entreprises telles que RedHat, SUSE, Debian, Gnome, KDE, etc. en raison de sa sophistication.
vSFTPd peut fonctionner avec IPv6 et prend en charge les configurations et utilisateurs IP virtuels. Il peut être exécuté en tant que démon autonome ou via inetd. Pour la gestion des utilisateurs, vSFTPd fournit une fonctionnalité qui permet aux utilisateurs de définir leur propre configuration, comme des restrictions par IP source, la reconfigurabilité et la limitation de bande passante. De plus, vSFTPd prend en charge un module d’authentification par plug-in (PAM) pour les utilisateurs virtuels et fournit également une intégration de sécurité avec SSL/TLS.
Dans ce tutoriel, vous apprendrez à configurer et créer un serveur FTP sécurisé avec vsftpd sur un serveur Debian 12. Dans ce guide, vous apprendrez également à sécuriser votre installation de serveur FTP via UFW (Uncomplicated Firewall) et comment vous connecter au serveur FTP en utilisant le client FTP FileZilla.
Prérequis
Avant de continuer, assurez-vous d’avoir les éléments suivants :
- Un serveur Debian 12.
- Un utilisateur non-root avec des privilèges d’administrateur sudo.
- Le package openssl est installé sur votre serveur.
Installation de vsftpd
Le vsftpd est une implémentation du protocole FTP pour les systèmes d’exploitation UNIX et Linux. Le package vsftpd est disponible sur la plupart des distributions Linux, y compris Debian. Maintenant, vous allez installer vsftpd via APT et vérifier le service vsftpd pour vous assurer que le service fonctionne.
Avant d’installer le package vsftpd, exécutez la commande suivante pour mettre à jour votre dépôt Debian.
sudo apt update
Maintenant, installez le package vsftpd en utilisant la commande apt install ci-dessous.
sudo apt install vsftpdConfirmez l’installation en tapant y et appuyez sur ENTRÉE.

Après l’installation de vsftpd, le service vsftpd sera automatiquement en cours d’exécution et activé. Vérifiez le service vsftpd en utilisant la commande suivante.
sudo systemctl is-enabled vsftpd
sudo systemctl status vsftpdLa sortie suivante confirme que le service vsftpd est en cours d’exécution et activé. De plus, le service vsftpd sera exécuté automatiquement au démarrage du système.

Configuration de vsftpd
Dans l’étape suivante, vous allez configurer et créer un serveur FTP sécurisé avec vsftpd. Vous allez générer des certificats SSL/TLS et modifier la configuration par défaut de vsftpd /etc/vsftpd.conf.
Tout d’abord, exécutez la commande openssl ci-dessous pour générer de nouveaux certificats TLS qui seront utilisés pour votre installation de serveur vsftpd.
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemEntrez vos informations lorsque cela est demandé. Une fois le processus terminé, vos certificats TLS seront disponibles à /etc/ssl/private/vsftpd.pem.

Maintenant, exécutez la commande ci-dessous pour créer un nouveau fichier /etc/vsftpd.userlist pour stocker les utilisateurs FTP.
touch /etc/vsftpd.userlistAprès cela, exécutez la commande suivante pour sauvegarder la configuration de vsftpd. Ensuite, ouvrez la configuration de vsftpd /etc/vsftpd.conf en utilisant l’éditeur nano.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
sudo nano /etc/vsftpd.confDésactivez l’accès anonyme à votre serveur vsftpd en changeant l’option anonymous_enable en NO.
anonymous_enable=NOAutorisez les utilisateurs locaux dans le fichier /etc/passwd et les utilisateurs PAM à se connecter au serveur vsftpd en changeant l’option local_enable en YES.
local_enable=YESAutorisez les utilisateurs FTP à télécharger des fichiers sur le serveur vsftpd en changeant l’option write_enable en YES.
write_enable=YESMaintenant, activez chroot ou jail pour les utilisateurs FTP en ajoutant les options suivantes. Cela verrouillera l’utilisateur FTP dans le répertoire /home/$USER/chroot. Par exemple, l’utilisateur FTP bob sera verrouillé dans le répertoire /home/bob/chroot.
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/chrootEnsuite, ajoutez la configuration suivante pour configurer les utilisateurs virtuels vsftpd. Tout utilisateur dans le fichier /etc/vsftpd.userlist sera autorisé à se connecter au serveur vsftpd.
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NOAjoutez les lignes suivantes pour sécuriser votre serveur vsftpd avec des certificats SSL/TLS. Cela forcera la connexion de connexion utilisateur et de transfert de données à utiliser des connexions sécurisées.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
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=HIGHMaintenant, ajoutez la configuration ci-dessous pour configurer les connexions en mode passif utilisant des ports entre 20000 et 25000.
pasv_min_port=20000
pasv_max_port=25000Enregistrez et quittez le fichier lorsque vous avez terminé.
Maintenant, exécutez la commande systemctl suivante pour redémarrer le service vsftpd et appliquer les modifications que vous avez apportées.
sudo systemctl restart vsftpdAvec cela, votre serveur vsftpd fonctionne maintenant avec de nouvelles configurations.
Configuration du pare-feu
Dans l’étape suivante, vous allez installer UFW (Uncomplicated Firewall) sur votre serveur Debian et sécuriser votre installation de serveur FTP avec. Vous allez installer UFW via APT, ouvrir le port du serveur FTP 20:21/tcp, et le port de connexion de données en mode passif 20000:25000/tcp.
Installez UFW en utilisant la commande apt suivante. Tapez y pour continuer avec l’installation.
sudo apt install ufw
Après l’installation de UFW, exécutez les commandes ufw ci-dessous pour ouvrir le port pour le service OpenSSH, les ports du serveur vsftpd 20:21, et la connexion FTP en mode passif entre les ports 20000 et 25000.
sudo ufw allow OpenSSH
sudo ufw allow 20:21/tcp
sudo ufw allow 20000:25000/tcpEnsuite, exécutez la commande ufw ci-dessous pour démarrer et activer UFW.
sudo ufw enableTapez pour confirmation et UFW devrait être en cours d’exécution et activé sur votre système Debian.

Vérifiez le statut détaillé de UFW en utilisant la commande ci-dessous.
sudo ufw statusLa sortie active confirme que UFW est en cours d’exécution et activé. De plus, le service OpenSSH est ajouté, et certains ports pour le serveur vsftpd 20:21/tcp et 20000:25000/tcp sont ajoutés.

Configuration des utilisateurs FTP virtuels
À ce stade, vous avez terminé la configuration de votre serveur vsftpd, maintenant vous allez créer un nouvel utilisateur FTP qui sera utilisé pour se connecter au serveur FTP et télécharger des fichiers.
Exécutez la commande suivante pour créer un nouveau fichier /bin/ftponly. Ensuite, rendez-le exécutable via la commande chmod ci-dessous. Le fichier /bin/ftponly sera utilisé comme shell par défaut pour les utilisateurs FTP.
echo -e '#!/bin/sh
echo "Shell for FTP users only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponlyAjoutez le fichier /bin/ftponly à /etc/shells pour vous assurer qu’il s’agit d’un shell valide.
sudo echo "/bin/ftponly" >> /etc/shellsMaintenant, créez un nouvel utilisateur FTP bob et configurez le mot de passe en exécutant la commande ci-dessous. Entrez votre mot de passe et répétez.
sudo useradd -m -s /bin/ftponly bob
sudo passwd bobAprès cela, exécutez la commande suivante pour créer un nouveau répertoire chroot /home/bob/chroot pour l’utilisateur bob. De plus, vous vous assurerez que le répertoire chroot /home/bob/chroot a la propriété appropriée.
sudo -u bob mkdir -p /home/bob/chroot
sudo chown -R bob: /home/bob/chrootEnsuite, exécutez la commande ci-dessous pour créer d’autres nouveaux répertoires data et upload qui seront utilisés pour stocker les données des utilisateurs FTP. Assurez-vous de configurer la propriété appropriée pour ces répertoires.
sudo -u bob mkdir -p /home/bob/chroot/{data,upload}
sudo chown -R bob: /home/bob/chroot/{data,upload}Maintenant, exécutez la commande ci-dessous pour changer la permission du répertoire /home/bob/chroot en 550 et les deux répertoires data et upload en 750.
sudo chmod 550 /home/bob/chroot
sudo chmod 750 /home/bob/chroot/{data,upload}Maintenant que vous avez créé un nouvel utilisateur, exécutez la commande ci-dessous pour ajouter l’utilisateur bob au fichier /etc/vsftpd.userlist.
echo "bob" >> /etc/vsftpd.userlistEnfin, exécutez la commande suivante pour redémarrer le service vsftpd et appliquer les modifications. Après avoir exécuté la commande, votre utilisateur FTP bob est prêt.
sudo systemctl restart vsftpdTéléchargement de fichiers sur le serveur FTP
Pour vérifier votre installation du serveur vsftpd, vous allez vous connecter au serveur FTP avec le nouvel utilisateur que vous avez créé via un logiciel client FTP. Ensuite, vous téléchargerez également de nouveaux fichiers pour vous assurer que votre installation est réussie.
Téléchargez et installez le client FTP pour votre machine locale. Vous pouvez utiliser FileZilla, qui peut être installé sur Windows, Linux et MacOS. Une fois FileZilla installé, ouvrez-le pour vous connecter à votre serveur FTP sécurisé.
Entrez l’adresse IP de votre serveur FTP, ainsi que le nom d’utilisateur et le mot de passe de votre utilisateur FTP. Ensuite, cliquez sur Quickconnect pour confirmer.
Sélectionnez l’option Always trust this certificate in future sessions et cliquez sur OK pour confirmer.

Une fois connecté à votre serveur FTP, vous devriez voir deux répertoires de données et de téléchargement disponibles sur votre serveur FTP. Vous pouvez télécharger des fichiers dans les deux répertoires de données et de téléchargement, mais vous ne pouvez pas télécharger de fichiers en dehors de ces répertoires protégés via chroot.

Vous pouvez faire glisser et déposer vos fichiers pour les télécharger sur le serveur FTP.

Conclusion
Pour conclure, vous avez réussi à créer un serveur FTP sécurisé avec vsftpd sur un serveur Debian 12. Vous avez également sécurisé votre installation de serveur FTP via UFW (Uncomplicated Firewall) et appris à créer des utilisateurs FTP. Vous pouvez maintenant utiliser le serveur FTP comme principal moyen de transfert de données entre votre machine locale et votre serveur. Vous pouvez également trouver un autre logiciel client FTP selon vos préférences.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.