Serveur FTP · 5 min read · Dec 18, 2025
Comment installer et configurer vsftpd avec TLS sur Debian 8 (Jessie)
Cet article explique comment configurer un serveur vsftpd activé TLS sur un serveur Debian 8 et comment accéder au serveur FTP avec FileZilla. FTP est un protocole très peu sécurisé par défaut car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, toute la communication peut être chiffrée, rendant ainsi FTP beaucoup plus sécurisé.
1 Remarque Préliminaire
Dans ce tutoriel, j’utiliserai le nom d’hôte server1.example.com avec l’adresse IP 192.168.1.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où cela est approprié. J’utilise la configuration minimale du serveur Debian 8 comme base pour ce tutoriel.
2 Installation de vsftpd et OpenSSL
OpenSSL est nécessaire pour TLS ; pour installer vsftpd et OpenSSL, nous exécutons simplement :
apt-get -y install vsftpd openssl3 Création du Certificat SSL pour TLS
Afin d’utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/ssl/private - si le répertoire n’existe pas, créez-le maintenant ::
mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/privateEnsuite, nous pouvons générer le certificat SSL comme suit :
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemNom du pays (code à 2 lettres) [AU] : <– Entrez le nom de votre pays (par exemple, “FR”).
Nom de l’État ou de la province (nom complet) [Some-State] : <– Entrez le nom de votre État ou province.
Nom de la localité (par exemple, ville) [] : <– Entrez votre ville.
Nom de l’organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <– Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l’unité organisationnelle (par exemple, section) [] : <– Entrez le nom de votre unité organisationnelle (par exemple, “Service informatique”).
Nom commun (par exemple, VOTRE nom) [] : <– Entrez le nom de domaine pleinement qualifié du système (par exemple, “server1.example.com”).
Adresse e-mail [] : <– Entrez votre adresse e-mail.
4 Activation de TLS dans vsftpd
Pour activer TLS dans vsftpd, ouvrez /etc/vsftpd.conf…
nano /etc/vsftpd.conf… et ajoutez ou modifiez les options suivantes :
[...]
# Activer SSL
ssl_enable=YES
# Autoriser les utilisateurs anonymes à utiliser des connexions SSL sécurisées
allow_anon_ssl=YES
# Tous les connexions non anonymes sont forcées d'utiliser une connexion SSL sécurisée pour
# envoyer et recevoir des données sur les connexions de données.
force_local_data_ssl=YES
# Tous les connexions non anonymes sont forcées d'utiliser une connexion SSL sécurisée pour envoyer le mot de passe.
force_local_logins_ssl=YES
# Autoriser les connexions au protocole TLS v1. Les connexions TLS v1 sont préférées
ssl_tlsv1=YES
# Autoriser les connexions au protocole SSL v2. Les connexions TLS v1 sont préférées
ssl_sslv2=NO
# autoriser les connexions au protocole SSL v3. Les connexions TLS v1 sont préférées
ssl_sslv3=NO
# Désactiver la réutilisation de session SSL (nécessaire pour WinSCP)
require_ssl_reuse=NO
# Sélectionner quels ciphers SSL vsftpd autorisera pour les connexions SSL chiffrées (nécessaire pour FileZilla)
ssl_ciphers=HIGH
# Cette option spécifie l'emplacement du certificat RSA à utiliser pour les connexions SSL
# chiffrées.
rsa_cert_file=/etc/ssl/private/vsftpd.pem
[...] Si vous utilisez force_local_logins_ssl=YES et force_local_data_ssl=YES, alors seules les connexions TLS sont autorisées (cela bloque tout utilisateur avec d’anciens clients FTP qui n’ont pas de support TLS) ; en utilisant force_local_logins_ssl=NO et force_local_data_ssl=NO, les connexions TLS et non-TLS sont autorisées, selon ce que le client FTP prend en charge.
En plus des options TLS, assurez-vous d’avoir également les paramètres suivants dans votre vsftpd.conf pour activer les connexions non anonymes :
[...]
# Décommentez ceci pour permettre aux utilisateurs locaux de se connecter.
local_enable=YES
#
# Décommentez ceci pour activer toute forme de commande d'écriture FTP.
write_enable=YES
#
# Le umask par défaut pour les utilisateurs locaux est 077. Vous pouvez souhaiter changer cela en 022,
# si vos utilisateurs s'y attendent (022 est utilisé par la plupart des autres ftpd)
local_umask=022
[...] Redémarrez ensuite vsftpd :
service vsftpd restartC’est tout. Vous pouvez maintenant essayer de vous connecter en utilisant votre client FTP ; cependant, vous devez configurer votre client FTP pour utiliser TLS (c’est un must si vous utilisez force_local_logins_ssl=YES et force_local_data_ssl=YES) - voir le chapitre suivant comment faire cela avec FileZilla.
5 Ajouter un utilisateur vsftpd
Dans cette étape, nous allons ajouter un utilisateur Linux local que nous pouvons utiliser pour nous connecter. Je vais créer un utilisateur “till” avec le mot de passe “howtoforge”. Tous les utilisateurs FTP doivent avoir leurs répertoires personnels dans mkdir /var/ftproot, donc je vais d’abord créer ce répertoire.
mkdir /var/ftprootEnsuite, ajoutez l’utilisateur avec la commande :
adduser --home /var/ftproot/till tillLa commande adduser vous demandera le mot de passe de l’utilisateur et d’autres détails
root@server1:/# adduser --home /var/ftproot/till till
Ajout de l'utilisateur `till' ...
Ajout du nouveau groupe `till' (1001) ...
Ajout du nouvel utilisateur `till' (1001) avec le groupe `till' ...
Création du répertoire personnel `/var/ftproot/till' ...
Copie des fichiers depuis `/etc/skel' ...
Entrez le nouveau mot de passe UNIX : <-- Entrez le nouveau mot de passe ici
Retapez le nouveau mot de passe UNIX : <-- Entrez le nouveau mot de passe ici
passwd : mot de passe mis à jour avec succès
Changement des informations de l'utilisateur pour till
Entrez la nouvelle valeur, ou appuyez sur ENTRER pour la valeur par défaut
Nom complet [] : <-- Entrez votre nom ici ou appuyez sur entrer pour ignorer
Numéro de chambre [] : <-- Entrez le numéro de chambre ici ou appuyez sur entrer pour ignorer
Téléphone au travail [] : <-- Entrez le téléphone au travail ici ou appuyez sur entrer pour ignorer
Téléphone à domicile [] : <-- Entrez le téléphone à domicile ici ou appuyez sur entrer pour ignorer
Autre [] : <-- Entrez d'autres détails utilisateur ici ou appuyez sur entrer pour ignorer
Les informations sont-elles correctes ? [Y/n] <-- YNous avons ajouté avec succès un utilisateur FTP.
6 Configuration de FileZilla pour TLS
Pour utiliser FTP avec TLS, vous avez besoin d’un client FTP qui prend en charge TLS, tel que FileZilla.
Dans FileZilla, ouvrez le Gestionnaire de serveur :

Entrez l’adresse IP ou le nom d’hôte du serveur FTP dans le champ serveur, sélectionnez le protocole “FTP” et “Exiger FTP explicite sur TLS”, et entrez le nom d’utilisateur dans le champ utilisateur.

Vous pouvez maintenant vous connecter au serveur. Si vous le faites pour la première fois, vous devez accepter le nouveau certificat SSL du serveur :

Si tout se passe bien, vous devriez maintenant être connecté au serveur :

7 Liens
- vsftpd : https://security.appspot.com/vsftpd.html
- FileZilla : http://filezilla-project.org/
- Debian : http://www.debian.org/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.