Configuration Serveur · 4 min read · Dec 23, 2025

Configuration de vsftpd + TLS sur Debian Squeeze

Configuration de vsftpd + TLS sur Debian Squeeze

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

FTP est un protocole très peu sécurisé 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é. Cet article explique comment configurer vsftpd avec TLS sur un serveur Debian Squeeze.

Je ne garantis pas que cela fonctionnera pour vous !

1 Remarque Préliminaire

Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.0.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où cela est approprié.

2 Installation de vsftpd et OpenSSL

OpenSSL est nécessaire pour TLS ; pour installer vsftpd et OpenSSL, nous exécutons simplement :

apt-get install vsftpd openssl

3 Création du Certificat SSL pour TLS

Pour 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/private

Ensuite, 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.pem

Nom 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 entièrement 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…

vi /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 tous les utilisateurs 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'attendent à cela (022 est utilisé par la plupart des autres ftpd) local_umask=022 [...] # Vous pouvez restreindre les utilisateurs locaux à leurs répertoires personnels. Voir la FAQ pour # les risques possibles avant d'utiliser chroot_local_user ou # chroot_list_enable ci-dessous. chroot_local_user=YES [...] |

Redémarrez vsftpd ensuite :

/etc/init.d/vsftpd restart

C’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 Configuration de FileZilla pour TLS

Pour utiliser FTP avec TLS, vous avez besoin d’un client FTP qui prend en charge TLS, comme FileZilla.

Dans FileZilla, ouvrez le Gestionnaire de Serveurs :

Sélectionnez le serveur qui utilise vsftpd avec TLS ; dans le menu déroulant Type de Serveur, sélectionnez FTPES au lieu de FTP normal :

Maintenant, vous pouvez 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 :

6 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.