GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer le serveur FTP vsftpd et le sécuriser avec TLS sur Debian 11

Le protocole de transfert de fichiers ou FTP est un protocole réseau très ancien et l'un des plus connus. Il n'est pas sécurisé par rapport à SFTP ou SCP de nos jours, mais reste le premier choix de nombreux utilisateurs pour transférer des fichiers entre un serveur et un client. FTP est connu comme non sécurisé car il transfère des données avec les informations d'identification des utilisateurs sans aucun type de cryptage. Parmi tous, VSFTPD est un protocole très sécurisé, rapide et le plus utilisé pour transférer des fichiers entre deux systèmes.

VSFTPD est également connu sous le nom de "Very Secure File Transfer Protocol Daemon" avec prise en charge de SSL , IPv6, FTPS explicite et implicite.

Dans ce guide, nous allons vous montrer comment installer le serveur FTP vsftpd sur Debian 11.

Prérequis

Un serveur exécutant Debian 11.
Un utilisateur non root avec des privilèges sudo.

1. Installer Vsftpd

Avant de lancer l'installation, mettez à jour votre serveur Debian 11 en exécutant la commande suivante dans le terminal :

sudo apt update -y
sudo apt upgrade -y

Debian dispose d'un très grand référentiel et  Le package vsftpd  est disponible dans le référentiel officiel. Vous pouvez donc facilement installer le vsftpd en exécutant la commande suivante :

sudo apt install vsftpd -y

Après l'installation du package, démarrez le service Vsftpd, vérifiez l'état du service et activez le service au démarrage.

sudo systemctl start vsftpd

sudo systemctl status vsftpd

systemctl enable vsftpd.service

2. Créez un utilisateur FTP et configurez-le pour la connexion FTP

Maintenant, créez un nouveau compte utilisateur pour FTP, en utilisant cet utilisateur, nous nous connecterons au serveur FTP plus tard.

sudo adduser sohan

Les utilisateurs ajoutés dans le fichier vsftpd.userlist ont l'autorisation d'accéder au serveur FTP.

Ensuite, nous devons ajouter l'utilisateur sohan dans la liste des utilisateurs vsftpd. Ouvrez le fichier et ajoutez un utilisateur en exécutant la commande suivante :

écho "sohan" | sudo tee -a  /etc/vsftpd.userlist

3. Créer un répertoire d'utilisateurs FTP

Ensuite, nous devons créer un répertoire FTP pour notre utilisateur FTP et définir la propriété avec la commande suivante :

sudo mkdir -p /home/sohan/ftp_directory

sudo chown persons:nogroup /home/sohan/ftp_directory

sudo chmod a-w /home/sohan/ftp_directory

Maintenant, créez un répertoire où les fichiers peuvent être téléchargés et attribuez la propriété à l'utilisateur sohan en exécutant la commande :

sudo mkdir -p /home/sohan/ftp_directory/ftp_data
sudo chown sohan:sohan /home/sohan/ftp_directory/ftp_data
cd /home/sohan/ftp_directory/
chmod -R 777 ftp_data

4. Configurer Vsftpd

Ensuite, vous devez modifier certains paramètres par défaut pour configurer un serveur FTP.

Tout d'abord, créez une copie de sauvegarde du fichier de configuration vsftpd d'origine.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Dans le serveur FTP, les utilisateurs anonymes se voient accorder l'accès par défaut. Pour rendre le serveur FTP plus sécurisé, nous désactiverons la connexion utilisateur anonyme et n'accorderons l'accès qu'à l'utilisateur spécifique.

Ensuite, ouvrez le fichier vsftpd.conf et apportez les modifications comme ci-dessous :

vim /etc/vsftpd.conf
anonymous_enable=NON

local_enable=OUI

Il y a d'autres changements que nous devons faire dans la configuration, First Open vsftpd.conf

sudo vim /etc/vsftpd.conf

Ensuite, assurez-vous que vsftpd.conf doit contenir les lignes suivantes :

listen=NON
listen_ipv6=OUI
anonymous_enable=NON
write_enable=OUI
local_umask=022
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
user_sub_token=$USER
local_root=/home/$USER/ftp_directory
userlist_enable=OUI
userlist_file=/etc/vsftpd.userlist
userlist_deny=NON

Enregistrez et fermez le fichier. Vous pouvez modifier la configuration ci-dessus en fonction de vos besoins.

Maintenant, redémarrez le service vsftpd et vérifiez l'état du service en exécutant les commandes suivantes :

sudo systemctl redémarrer vsftpd


Ensuite, assurez-vous que le service vsftpd est en cours d'exécution en exécutant la commande suivante dans Terminal :

sudo systemctl status vsftpd

5. autoriser vsftpd dans le pare-feu et accéder au serveur vsftpd

Ensuite, si vous utilisez un pare-feu, autorisez les ports 21 et 22 en exécutant la commande suivante :

sudo ufw autoriser 21/tcp

sudo ufw autoriser 22/tcp

Rechargez ensuite le pare-feu pour appliquer les modifications :

sudo ufw recharger

Ensuite, ouvrez n'importe quel client FTP comme FileZilla et entrez les détails de votre serveur, comme Protocol, Host , User :


Maintenant, cliquez sur se connecter, puis entrez votre mot de passe :

Ensuite, il affichera les détails comme ci-dessous, cliquez sur OK.

À ce stade, vous êtes connecté au serveur FTP et vous pouvez charger et télécharger des fichiers/dossiers.

6. Sécurisez Vsftpd en utilisant SSL/TLS

Supposons que vous souhaitiez transférer des données cryptées via FTP. Pour ce faire, vous devez créer un certificat SSL et activer la connexion SSL/TLS.

Vous pouvez créer un certificat à l'aide d'OpenSSL à l'aide de la commande suivante :

sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

Maintenant, vous devrez éditer le fichier vsftpd.conf et apporter quelques modifications :

sudo vim /etc/vsftpd.conf

Ajoutez enfin les lignes suivantes :

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=OUI
allow_anon_ssl=NON
force_local_data_ssl=OUI
force_local_logins_ssl=OUI
ssl_tlsv1=OUI
ssl_sslv2=NON
ssl_sslv3=NON
require_ssl_reuse=NON
ssl_ciphers=ÉLEVÉ

Enregistrez et quittez le fichier, puis redémarrez Vsftpd à l'aide de la commande suivante : 

sudo systemctl redémarrer vsftpd

7. Accéder au FTP via SSL/TLS

Ouvrez le client FTP FileZilla et accédez à Fichier> Gestionnaire de sites. Ici, cliquez sur Ajouter un nouveau site et entrez le nom de l'hôte/du site, ajoutez l'adresse IP, définissez le protocole à utiliser, Cryptage :Nécessite d'expliquer FTP sur TLS et le type de connexion. Cliquez ensuite sur le bouton Connecter. Vous devriez voir l'image suivante :

Saisissez ensuite votre mot de passe :


Ensuite, vous verrez le certificat SSL, vérifiez les détails du certificat et cliquez sur OK.


Enfin, vous verrez le contenu de votre serveur FTP et pourrez transférer en toute sécurité vos données depuis un seul système à un autre.

Conclusion

Dans le guide ci-dessus, nous avons installé le serveur VSFTPD sur Debian 11. Nous apprenons également à se connecter via une connexion non cryptée et via une connexion cryptée à l'aide d'un certificat SSL.


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

  2. Comment installer un serveur FTP sur Ubuntu avec vsftpd

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

  4. Comment installer et sécuriser MariaDB sur Debian 11

  5. Comment installer un serveur FTP sur Rocky Linux 8 avec VSFTPD

Comment installer le serveur VsFTPD avec TLS sur Ubuntu 18.04 LTS

Comment configurer un serveur FTP sécurisé sur Debian 10 avec Pure-FTPd

Comment installer le serveur vsftpd sur Debian 11

Comment installer un serveur FTP sur Debian 10

Comment installer un serveur FTP sur Debian 11

Comment installer et configurer le serveur FTP VSFTPD sur Ubuntu