Recherche de site Web

Configurer le transfert de fichiers FTP sécurisé à l'aide de SSL/TLS dans RHEL 8


Dans notre dernier article, nous avons décrit en détail comment installer et configurer un serveur FTP dans RHEL 8 Linux. Dans cet article, nous expliquerons comment sécuriser un serveur FTP à l'aide de SSL/TLS pour activer les services de cryptage des données pour un transfert de fichiers sécurisé entre les systèmes.

Nous espérons que vous disposez déjà d'un serveur FTP installé et fonctionnant correctement. Sinon, veuillez utiliser le guide suivant pour l'installer sur votre système.

  1. Comment installer, configurer et sécuriser le serveur FTP dans RHEL 8

Étape 1. Génération du certificat SSL/TLS et de la clé privée

1. Créez le répertoire suivant pour stocker le certificat SSL/TLS et les fichiers de clé.

mkdir -p /etc/ssl/vsftpd

2. Ensuite, générez un certificat SSL/TLS auto-signé et une clé privée à l'aide de la commande suivante.

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

Voici l'explication de chaque indicateur utilisé dans la commande ci-dessus.

  1. req – est une commande pour la gestion des demandes de signature de certificat (CSR) X.509.
  2. x509 – signifie gestion des données de certificat X.509.
  3. jours – définit le nombre de jours pendant lesquels le certificat est valable.
  4. newkey – spécifie le processeur de clé de certificat.
  5. rsa:2048 – Le processeur de clé RSA générera une clé privée de 2048 bits.
  6. keyout – définit le fichier de stockage de clés.
  7. out – définit le fichier de stockage du certificat, notez que le certificat et la clé sont stockés dans le même fichier : /etc/ssl/vsftpd/vsftpd.pem.

La commande ci-dessus vous invitera à répondre aux questions ci-dessous, n'oubliez pas d'utiliser les valeurs qui s'appliquent à votre scénario.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Étape 2. Configuration de VSFTPD pour utiliser SSL/TLS

3. Ouvrez le fichier de configuration VSFTPD pour le modifier à l'aide de votre éditeur de ligne de commande préféré.

vi /etc/vsftpd/vsftpd.conf

Ajoutez les paramètres de configuration suivants pour activer SSL, puis sélectionnez la version de SSL et TLS à utiliser, à la fin du fichier.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. Ensuite, ajoutez les options rsa_cert_file et rsa_private_key_file pour spécifier respectivement l'emplacement du certificat SSL et du fichier de clé.

rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem

5. Ajoutez maintenant ces paramètres pour empêcher les connexions anonymes d'utiliser SSL et forcer toutes les connexions non anonymes via SSL.

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. Ensuite, ajoutez ces options pour désactiver toute réutilisation des connexions de données SSL et définissez les chiffrements SSL ÉLEVÉS pour autoriser les connexions SSL cryptées.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Vous devez également spécifier la plage de ports (port min et max) de ports passifs à utiliser par vsftpd pour les connexions sécurisées, en utilisant pasv_min_port et pasv_max_port respectivement. De plus, vous pouvez éventuellement activer le débogage SSL à des fins de dépannage, à l'aide de l'option debug_ssl.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Enfin, enregistrez le fichier et redémarrez le service vsftpd pour que les modifications ci-dessus prennent effet.

systemctl restart vsftpd

9. Une autre tâche critique à effectuer avant de pouvoir accéder en toute sécurité au serveur FTP consiste à ouvrir les ports 990 et 40000-50000 dans le système. pare-feu. Cela permettra les connexions TLS au service vsftpd et ouvrira la plage de ports passifs définie respectivement dans le fichier de configuration VSFTPD, comme suit.

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

Étape 3 : Installez FileZilla pour vous connecter en toute sécurité au serveur FTP

10. Pour vous connecter en toute sécurité au serveur FTP, vous avez besoin d'un client FTP prenant en charge les connexions SSL/TLS telles que FileZilla – est un logiciel open source. , client FTP, SFTP et FTPS multiplateforme largement utilisé qui prend en charge les connexions SSL/TLS par défaut.

Installez FileZilla sous Linux à l'aide de votre gestionnaire de packages par défaut comme suit :

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. Une fois le package Filezilla installé, recherchez-le dans le menu système et ouvrez-le. Pour connecter rapidement le serveur FTP distant, depuis l'interface principale, fournissez l'adresse IP de l'hôte, le nom d'utilisateur et le mot de passe de l'utilisateur. Cliquez ensuite sur QuickConnect.

12. Ensuite, l'application vous demandera d'autoriser une connexion sécurisée à l'aide du certificat inconnu et auto-signé. Cliquez sur OK pour continuer.

Si la configuration sur le serveur est correcte, la connexion devrait réussir, comme indiqué dans la capture d'écran suivante.

13. Enfin, testez l'état de la connexion sécurisée FTP en essayant de télécharger des fichiers de votre ordinateur vers le serveur, comme indiqué dans la capture d'écran suivante.

C'est tout! Dans cet article, nous avons montré comment sécuriser un serveur FTP à l'aide de SSL/TLS pour un transfert de fichiers sécurisé dans RHEL 8. Ceci est la deuxième partie de notre guide complet pour installer, configurer et sécuriser un serveur FTP dans RHEL 8. Pour partager des questions ou des réflexions, utilisez le formulaire de commentaires ci-dessous.