GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installez Vsftpd avec SSL/TLS sur Ubuntu 20.04

Vsftpd (c'est-à-dire un démon FTP très sécurisé) est un logiciel de serveur FTP pour Linux et d'autres systèmes de type Unix. Un logiciel de serveur FTP facilite le transfert de fichiers d'un ordinateur client vers le serveur et vice versa.

Dans ce didacticiel, vous apprendrez à installer Vsftpd sur Ubuntu 20.04 et activer le transfert de fichiers sécurisé (FTPS) via SSL/TLS.

Prérequis

  • Un système Linux Ubuntu 20.04
  • Un utilisateur avec capacité sudo
  • Un client FTP compatible SSL tel que FileZilla

Installer Vsftpd sur Ubuntu

Vsftpd est disponible dans le référentiel de packages Ubuntu par défaut. Vous pouvez commencer par mettre à jour les packages disponibles avec la commande ci-dessous.

Mise à jour $ sudo apt

Ensuite, exécutez la commande suivante pour installer Vsftpd.

$ sudo apt install vsftpd

Entrez y si vous êtes invité à poursuivre l'installation.

Une fois Vsftpd installé avec succès, vous pouvez vérifier la version avec la commande ci-dessous.

$ vsftpd -v

Vérifiez également l'état du serveur Vsftpd comme suit.

$ sudo systemctl status vsftpd

Le vsftpd le service doit déjà être actif. Appuyez sur q pour revenir à l'invite de commande.

Si le service vsftpd n'est pas déjà actif, vous pouvez le démarrer avec la commande suivante.

$ sudo systemctl start vsftpd

Configurer Vsftpd

Il existe de nombreuses options que vous pouvez configurer pour vsftpd, mais nous n'examinerons que les bases dans ce didacticiel. Ouvrez le fichier de configuration vsftpd avec la commande suivante.

$ sudo nano /etc/vsftpd.conf

Vous verrez que les différentes options de vsftpd sont bien expliquées dans le fichier de configuration. Il vous suffit de lire les instructions pour comprendre ce que vous souhaitez activer ou désactiver. Voici quelques exemples.

Configurer l'accès FTP anonyme

Par défaut, le FTP anonyme est désactivé. Nous vous recommandons de laisser ce paramètre par défaut tel quel. Cependant, si pour une raison quelconque vous souhaitez activer l'accès FTP anonyme à des fins de test, modifiez la valeur de anonymous_enable option de NON à OUI.

Pour l'instant, laissez-le tel quel.

Autoriser les utilisateurs locaux à se connecter

Les utilisateurs locaux sont autorisés à se connecter par défaut. Si vous souhaitez empêcher les utilisateurs locaux de se connecter au serveur Vsftpd, modifiez la valeur de local_enable de OUI à NON.

Vous pouvez également autoriser uniquement des utilisateurs locaux spécifiques à se connecter au serveur Vsftpd. Pour ce faire, assurez-vous que local_enable est réglé sur OUI.

Après cela, ajoutez les lignes suivantes en dessous.

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO 

Enregistrez et fermez le fichier vsftpd.conf.

Ensuite, créez le fichier userlist avec la commande suivante et entrez les utilisateurs autorisés un par ligne.

$ sudo nano /etc/vsftpd.userlist

Enregistrez et fermez le fichier de liste d'utilisateurs.

Redémarrez vsftpd avec :

$ sudo systemctl restart vsftpd

Activer la commande d'écriture FTP

Pour permettre aux utilisateurs FTP de créer, supprimer, renommer et enregistrer des fichiers, décommentez le write_enable option et assurez-vous qu'elle est définie sur OUI.

Avant d'aller plus loin, connectons-nous au serveur Vsftpd pour confirmer qu'il fonctionne. Pour l'instant, enregistrez toutes les modifications et fermez le fichier de configuration vsftpd.

Connexion au serveur Vsftpd

Pour cela, créons un utilisateur test et attribuons un mot de passe comme suit.

$ sudo useradd -m myftpuser
$ sudo passwd myftpuser

Remarque : Si vous avez activé la liste d'utilisateurs vsftpd plus tôt, n'oubliez pas d'ajouter l'utilisateur ftp à /etc/vsftpd.userlist en conséquence. Par défaut, les utilisateurs ont un accès ssh, il est recommandé de désactiver l'accès shell pour les utilisateurs FTP.

Maintenant, lancez un client FTP compatible SSL tel que FileZilla, puis connectez-vous en utilisant l'utilisateur de test nouvellement créé.

Dans mon cas, FileZilla m'a informé que le serveur n'est pas sécurisé car il ne prend pas en charge le FTP sur TLS.

Annulez la connexion. Corrigeons cela dans la section suivante.

Activer SSL/TLS pour un transfert de fichiers sécurisé

Pour activer le transfert de fichiers sécurisé via TLS, procédez comme suit.

Tout d'abord, ouvrez le fichier de configuration vsftpd avec la commande ci-dessous.

$ sudo nano /etc/vsftpd.conf

Ensuite, recherchez le rsa_cert_file et rsa_private_key_file options et mettez à jour les valeurs comme indiqué ci-dessous.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key 

Recherchez également ssl_enable et changez la valeur en OUI.

ssl_enable=YES 

Enregistrez et fermez le fichier de configuration vsftpd.

Générer une clé privée et un certificat

Maintenant, vous devez créer une clé privée et générer un certificat TLS/SSL avec openssl. Vous pouvez utiliser le certificat SSL gratuit Let's Encrypt si vous avez un domaine pointant vers le serveur FTP.

Pour générer une clé privée, exécutez :

$ sudo openssl genrsa -out /etc/ssl/private/vsftpd.key

Ensuite, générez une demande de signature de certificat avec la commande ci-dessous. Vous serez invité à fournir des informations telles que votre pays, votre ville, votre adresse e-mail, etc. Veuillez lire attentivement les instructions.

$ sudo openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr

Maintenant, générez et signez le certificat qui sera valide pendant 365 jours comme suit.

$ sudo openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem 

Redémarrez vsftpd avec :

$ sudo systemctl restart vsftpd

Essayez de vous reconnecter au serveur Vsftpd.

FileZilla a sûrement pu se connecter en toute sécurité via TLS cette fois-ci. Vous pouvez choisir en toute sécurité l'option de toujours faire confiance à ce certificat lors des sessions futures. Cliquez ensuite sur OK pour poursuivre la connexion.

Si vous essayez de vous connecter au serveur FTP via la ligne de commande qui ne prend pas en charge FTP sur TLS, vous obtiendrez une erreur. Par exemple :

$ ftp 192.168.100.168

Ceci est une autre preuve que votre serveur Vsftpd est bien activé pour le transfert de fichiers sécurisé via TLS.

Conclusion

Dans ce tutoriel, nous vous avons montré comment installer un serveur Vsftpd sur Ubuntu 20.04. Nous avons également décrit comment activer le transfert de fichiers sécurisé via le protocole TLS. Nous n'avons couvert que les options de base de Vsftpd dans cet article, mais vous pouvez explorer plus d'options sur la page de manuel des options de configuration de vsftpd.


Ubuntu
  1. Comment installer un serveur FTP sur CentOS 7 avec VSFTPD

  2. Comment installer et configurer un serveur FTP (vsftpd) avec SSL/TLS sur Ubuntu 20.04

  3. Installer Vsftpd avec SSL/TLS sur Ubuntu 20.04 - Meilleure Procédure ?

  4. Installer VSFTPD sur Ubuntu 16.04

  5. Installez Vsftpd avec SSL/TLS sur Ubuntu 20.04

Comment installer le serveur VsFTPD avec TLS sur Ubuntu 18.04 LTS

Comment installer ProFTPD avec TLS sur Ubuntu 20.04 LTS

Comment installer et configurer Apache avec Let's Encrypt TLS/SSL sur Ubuntu 20.04

Comment installer Nginx avec Let's Encrypt TLS/SSL sur Ubuntu 20.04

Comment installer Vsftpd sur Ubuntu 16.04

Comment installer Vsftpd sur Ubuntu 18.04 LTS