Vsftpd, également connu sous le nom de démon FTP très sécurisé, est un serveur FTP pour les systèmes de type Unix. FTP est le protocole réseau standard le plus largement utilisé pour le téléchargement de fichiers entre deux ordinateurs sur un réseau. Par défaut, FTP n'est pas sécurisé car il transmet des données avec les informations d'identification de l'utilisateur sans cryptage.
Dans ce tutoriel, nous allons apprendre à installer Vsftpd avec prise en charge SSL/TLS sur le serveur Ubuntu 18.04.
Exigences
- Un serveur exécutant Ubuntu 18.04.
- Un utilisateur non root avec des privilèges sudo.
- L'adresse IP statique 192.168.0.102 est configurée.
Installer Vsftpd
Par défaut, Vsftpd est disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous pouvez donc l'installer facilement en exécutant simplement la commande suivante :
sudo apt-get install vsftpd -y
Une fois Vsftpd installé, démarrez le service Vsftpd et activez-le pour qu'il démarre au démarrage :
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Créer une structure de répertoire pour FTP
Avant de commencer, vous devrez créer un utilisateur pour l'accès FTP.
Vous pouvez créer un utilisateur avec la commande suivante :
sudo adduser vsftp
Ensuite, créez un répertoire ftp et définissez la propriété avec la commande suivante :
sudo mkdir /home/vsftp/ftp
sudo chown personne:nogroup /home/vsftp/ftp
sudo chmod a-w /home/vsftp/ftp
Ensuite, créez un répertoire où les fichiers peuvent être téléchargés et attribuez la propriété à l'utilisateur vsftp :
sudo mkdir /home/vsftp/ftp/test
sudo chown vsftp:vsftp /home/vsftp/ftp/test
Configurer Vsftpd
Ensuite, vous devrez effectuer certaines configurations pour configurer le serveur FTP.
Tout d'abord, créez une sauvegarde du fichier de configuration d'origine :
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Ensuite, ouvrez le fichier vsftpd.conf :
sudo nano /etc/vsftpd.conf
Ajoutez les lignes suivantes :
listen=NON listen_ipv6=OUI anonyme_enable=NON local_enable=OUI 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 pasv_enable =Oui pasv_min_port=10000 pasv_max_port=11000 user_sub_token=$USER local_root=/home/$USER/ftp 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.
Ensuite, vous devrez également ajouter l'utilisateur vsftp au fichier /etc/vsftpd.userlist pour autoriser l'accès FTP :
sudo nano /etc/vsftpd.userlist
Ajoutez la ligne suivante :
vsftp
Enregistrez et fermez le fichier, puis redémarrez le service Vsftpd pour appliquer ces modifications :
sudo systemctl redémarrer vsftpd
Maintenant, ouvrez votre navigateur Web et tapez l'URL ftp://192.168.0.102 , il vous sera demandé d'entrer un nom d'utilisateur et un mot de passe pour accéder au FTP. Entrez votre nom d'utilisateur et votre mot de passe vsftp, puis cliquez sur Ok bouton. Vous devriez voir la page suivante :
Sécuriser Vsftpd en utilisant SSL/TLS
Ensuite, vous devrez activer SSL/TLS pour crypter les données transférées via FTP.
Pour ce faire, vous devrez créer un certificat pour cela. 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.pemEnsuite, vous devrez modifier le fichier vsftpd.conf et apporter quelques modifications :
sudo nano /etc/vsftpd.confAjoutez les lignes suivantes :
rsa_cert_file=/etc/cert/vsftpd.pemrsa_private_key_file=/etc/cert/vsftpd.pemssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NO_lpreusesEnregistrez le fichier, puis redémarrez Vsftpd à l'aide de la commande suivante :
sudo systemctl redémarrer vsftpdAccéder au FTP via SSL/TLS
Vous ne pouvez pas accéder à votre serveur FTP via SSL/TLS via un navigateur. Vous devrez donc installer le client FTP FileZilla pour accéder à votre serveur FTP. Parce que FileZilla prend en charge FTP sur SSL/TLS.
Vous pouvez installer le client FileZilla à l'aide de la commande suivante :
sudo apt-get install filezilla -yUne fois FileZilla installé, ouvrez-le depuis votre tableau de bord Unity. Vous devriez voir l'image suivante :
Maintenant, cliquez sur le Fichier>Gestionnaire de sites . Vous devriez voir l'image suivante :
Ici, ajoutez Nouveau site et indiquez le nom de l'hôte/du site, ajoutez l'adresse IP, définissez le protocole à utiliser, le cryptage et le type de connexion. Cliquez ensuite sur Se connecter bouton. Vous devriez voir l'image suivante :
Maintenant, vérifiez le certificat utilisé pour la connexion SSL/TLS, puis cliquez sur OK une fois de plus pour vous connecter au serveur FTP. Vous devriez voir le contenu de votre serveur FTP sur la page suivante :