GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le serveur FTP vsftpd avec SSL/TLS sur CentOS 8

FTP est un protocole largement utilisé pour transférer des fichiers entre le serveur et le client. De nombreux serveurs FTP open source sont disponibles de nos jours, notamment FTPD, VSFTPD, PROFTPD et pureftpd. Parmi eux, VSFTPD est un protocole sécurisé, rapide et le plus utilisé dans le monde. Il est également appelé "démon de protocole de transfert de fichiers très sécurisé". Il prend également en charge SSL, IPv6, FTPS explicite et implicite.

Dans ce tutoriel, nous allons vous montrer comment installer VSFTPD sur le serveur CentOS 8 et le sécuriser avec SSL/TLS.

Prérequis

  • Un serveur exécutant CentOS 8.
  • Un mot de passe root est configuré sur votre serveur.

Installer VSFTPD

Par défaut, VSFTPD est disponible dans le référentiel par défaut de CentOS 8. Vous pouvez l'installer en exécutant la commande suivante :

dnf installer vsftpd -y

Une fois l'installation terminée, démarrez le service VSFTPD et autorisez-le à démarrer après le redémarrage du système avec la commande suivante :

systemctl start vsftpd
systemctl enable vsftpd

À ce stade, votre serveur VSFTPD est installé et en cours d'exécution. Vous pouvez maintenant passer à l'étape suivante.

Créer un utilisateur pour VSFTPD

Ensuite, vous devrez créer un nouvel utilisateur pour VSFTPD. Vous pouvez donc accéder à votre serveur FTP en utilisant cet utilisateur.

Exécutez la commande suivante pour créer un nouvel utilisateur appelé vyom comme indiqué ci-dessous :

adduser vyom

Ensuite, définissez le mot de passe d'un utilisateur vyom avec la commande suivante :

passwd vyom

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer VSFTPD

Ensuite, ouvrez le fichier de configuration par défaut de VSFTPD situé dans le répertoire /etc/vsftpd comme indiqué ci-dessous :

nano /etc/vsftpd/vsftpd.conf

Modifiez les lignes suivantes :

anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=NOlisten_ipv6=YESpam_service_name=vsftpduserlist_enable=NO

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service VSFTPD et vérifiez l'état du service avec la commande suivante :

systemctl restart vsftpd
systemctl status vsftpd

Vous devriez voir le résultat suivant :

 ? vsftpd.service - Démon ftp Vsftpd Chargé :chargé (/usr/lib/systemd/system/vsftpd.service ; désactivé ; préréglage fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le 2020-02-21 00:43:57 EST; Il y a 6 s Processus :2698 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS) PID principal :2699 (vsftpd) Tâches :1 (limite :6102) Mémoire :1020.0 K CGroup :/system.slice/vsftpd.service ??2699 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confFeb 21 00:43:57 centos8 systemd[1] :Arrêt du démon ftp Vsftpd.Feb 21 00:43 :57 centos8 systemd[1] :Démarrage du démon ftp Vsftpd... 21 février 00:43:57 centos8 systemd[1] :Démarrage du démon ftp Vsftpd.

À ce stade, votre serveur VSFTPD est configuré. Vous pouvez maintenant procéder à tous les VSFTPD via SELinux et le pare-feu.

Configurer le pare-feu et SELInux

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc configurer SELinux pour VSFTPD.

Vous pouvez configurer SELinux pour autoriser l'accès FTP avec la commande suivante :

setsebool -P allow_ftpd_full_access=1

Ensuite, vous devrez autoriser le service FTP via le pare-feu. Vous pouvez l'autoriser avec la commande suivante :

firewall-cmd --zone=public --permanent --add-service=ftp

Ensuite, rechargez le service firewalld pour appliquer les modifications de configuration du pare-feu :

firewall-cmd --reload

À ce stade, votre pare-feu et SELinux sont configurés pour autoriser la connexion FTP entrante depuis le système distant. Vous pouvez maintenant procéder au test de la connexion FTP.

Se connecter au serveur VSFTPD

Votre serveur VSFTPD est maintenant installé et configuré. Il est maintenant temps de connecter le serveur FTP à partir du système client.

Pour cela, rendez-vous sur le système Client et exécutez la commande suivante pour connecter votre serveur FTP :

ftp 172.20.10.3

Il vous sera demandé de fournir votre utilisateur FTP et le mot de passe comme indiqué ci-dessous :

Connecté à 172.20.10.3.220 (vsFTPd 3.0.3) Nom (172.20.10.3 :racine) :vyom331 Veuillez spécifier le mot de passe. Mot de passe :230 Connexion réussie.

Une fois la connexion établie avec succès, vous devriez voir la sortie suivante :

Le type de système distant est UNIX.Utilisation du mode binaire pour transférer des fichiers.ftp>
 

Maintenant, tapez exit et appuyez sur le bouton Entrée pour quitter les sessions FTP.

Configurer VSFTPD avec prise en charge TLS

Pour des raisons de sécurité, il est conseillé de crypter les transmissions FTP avec SSL/TLS. Pour ce faire, vous devrez générer un certificat SSL et configurer le serveur VSFTPD pour l'utiliser.

Tout d'abord, vous devrez installer le package OpenSSL sur votre système. Vous pouvez l'installer avec la commande suivante :

installation dnf openssl -y

Une fois installé, créez un nouveau répertoire pour stocker le certificat SSL :

mkdir /etc/ssl/private

Ensuite, générez un certificat auto-signé avec la commande suivante :

openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/private/vsftpd.key -x509 -days 365 -out /etc/ssl/private/vsftpd.crt

Fournissez toutes les informations requises comme indiqué ci-dessous :

Génération d'une clé privée RSA...+++++...........+++++écriture d'une nouvelle clé privée dans '/etc/ssl/private/vsftpd.key'- ----Vous êtes sur le point d'être invité à entrer des informations qui seront incorporées dans votre demande de certificat. Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom distinctif ou un DN. certains champs, il y aura une valeur par défaut, si vous entrez '.', le champ sera laissé vide.-----Nom du pays (code à 2 lettres) [XX] :Nom de l'État ou de la province (nom complet) [] :GUJNom de la localité (par exemple, ville) [Ville par défaut]:JUNNom de l'organisation (par exemple, société) [Default Company Ltd]:ITNom de l'unité organisationnelle (par exemple, section) []:ITNom commun (par exemple, votre nom ou le nom d'hôte de votre serveur) [] :ftpserverAdresse e-mail [] :[email protected]

Après avoir généré le certificat SSL, vous devrez configurer VSFTPD pour utiliser ce certificat.

Ouvrez le fichier de configuration par défaut de VSFTPD comme indiqué ci-dessous :

nano /etc/vsftpd/vsftpd.conf

Ajoutez les lignes suivantes à la fin du fichier :

#Chemin du certificateur SSLa_cert_file=/etc/ssl/private/vsftpd.crtrsa_private_key_file=/etc/ssl/private/vsftpd.key#Activer le SSLssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YES#TSL est plus sécurisé que SSL alors activez ssl_tlsv1_2.ssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=NOssl_ciphers=HIGH#Activez le débogage SSL pour stocker tous les log VSFTPD.debug_ssl=YES

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service VSFTPD pour appliquer les modifications :

systemctl redémarre vsftpd

À ce stade, votre serveur VSFTPD est configuré pour utiliser un certificat SSL. Vous pouvez maintenant passer à l'étape suivante.

Vérifier la connexion TLS VSFTPD

Votre serveur VSFTPD est maintenant sécurisé avec le support SSL/TLS. Ensuite, essayez de connecter votre serveur FTP à partir de la ligne de commande comme indiqué ci-dessous :

ftp 172.20.10.3

Vous devriez voir l'erreur dans le résultat suivant :

Connecté à 172.20.10.3.220 (vsFTPd 3.0.2)Nom (172.20.10.3:root) :vyom530 Les sessions non anonymes doivent utiliser le cryptage.Échec de la connexion.421 Service non disponible, le serveur distant a fermé connectionftp>
  

Vous ne pouvez pas vous connecter à votre serveur VSFTP à partir du client de ligne de commande. Parce qu'il ne prend pas en charge le support SSL/TLS.

Vous devrez donc télécharger et tester la connexion VSFTPD à l'aide d'un client FTP prenant en charge les connexions TLS.

Pour ce faire, accédez au système client et installez le package client FileZilla.

Après avoir installé FileZilla, ouvrez le logiciel FileZilla comme indiqué ci-dessous :

Ensuite, ouvrez le gestionnaire de site comme indiqué ci-dessous :

Cliquez sur Nouveau site bouton pour ajouter une nouvelle connexion FTP comme indiqué ci-dessous :

Indiquez l'adresse IP de votre serveur FTP, sélectionnez le protocole FTP, sélectionnez "Utiliser un FTP explicite sur TLS", sélectionnez demander un mot de passe, indiquez le nom d'utilisateur de votre serveur FTP et cliquez sur Se connecter bouton. Il vous sera demandé de fournir le mot de passe de l'utilisateur FTP comme indiqué ci-dessous :

Indiquez votre mot de passe FTP et cliquez sur OK bouton. Il vous sera demandé de vérifier le certificat utilisé pour la connexion SSL/TLS comme indiqué ci-dessous :

Cliquez sur OK bouton pour vérifier le certificat. Une fois la connexion établie avec succès, vous devriez voir l'écran suivant :

Conclusion

Dans le guide ci-dessus, nous avons installé le serveur VSFTPD sur CentOS 8. Nous avons également configuré le serveur VSFTPD pour utiliser le certificat SSL/TLS. Votre serveur FTP est maintenant sécurisé. N'hésitez pas à me demander si vous avez des questions.


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

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

  3. Comment installer un serveur FTP sur CentOS 7

  4. Installez Vsftpd avec SSL/TLS sur Ubuntu 20.04

  5. Comment installer le serveur FTP sur CentOS 7

Comment installer le serveur FTP vsftpd avec TLS sur Debian 10

Comment installer le serveur VsFTPD avec TLS sur Ubuntu 18.04 LTS

Comment installer VSFTPD sur CentOS 7

Comment installer LetsEncrypt SSL avec Nginx sur CentOS 6

Comment installer le serveur FTP sur CentOS 8

Comment installer un serveur FTP ?