Configuration d'un serveur FTP sécurisé à l'aide de SSL / TLS sur Ubuntu

Configuration d'un serveur FTP sécurisé à l'aide de SSL / TLS sur Ubuntu

Dans ce tutoriel, nous décrirons comment sécuriser un FTP serveur (Vsftpd représente "Démon FTP très sécurisé") en utilisant SSL / TLS dans Ubuntu 16.04/16.dix.

Si vous cherchez à configurer un serveur FTP sécurisé pour les distributions basées sur CentOS, vous pouvez lire - sécuriser un serveur FTP à l'aide de SSL / TLS sur CentOS

Après avoir suivi les différentes étapes de ce guide, nous aurons appris que les principes fondamentaux de l'activation des services de chiffrement dans un serveur FTP pour les transferts de données sécurisés sont cruciaux.

Exigences

  1. Vous devez installer et configurer un serveur FTP dans Ubuntu

Avant d'aller plus loin, assurez-vous que toutes les commandes de cet article seront exécutées comme un compte privilégié root ou sudo.

Étape 1: Génération du certificat SSL / TLS pour FTP sur Ubuntu

1. Nous commencerons par créer un sous-répertoire sous: / etc / ssl / Pour stocker le SSL / TLS Certificat et fichiers clés s'il n'existe pas:

$ sudo mkdir / etc / ssl / privé 

2. Générons maintenant le certificat et la clé dans un seul fichier, en exécutant la commande ci-dessous.

$ sudo openssl req -x509 -Nodes -Keyout / etc / ssl / private / vsftpd.pem -out / etc / ssl / private / vsftpd.pem -Days 365 -Newkey RSA: 2048 

La commande ci-dessus vous invitera à répondre aux questions ci-dessous, n'oubliez pas de saisir des valeurs applicables à votre scénario.

Nom du pays (code de 2 lettres) [xx]:DANS Nom de l'état ou de la province (nom complet) []:Parel inférieur Nom de la localité (par exemple, ville) [Ville par défaut]:Mumbai Nom de l'organisation (par exemple, société) [Default Company Ltd]:Tecmint.com Nom de l'unité organisationnelle (par exemple, section) []:Linux et open source Nom commun (par exemple, votre nom ou le nom d'hôte de votre serveur) []:Tecmint Adresse e-mail []:[Protégé par e-mail] 

Étape 2: Configuration de VSFTPD pour utiliser SSL / TLS sur Ubuntu

3. Avant d'exécuter un Vsftpd Configurations, pour ceux qui ont un pare-feu UFW activé, vous devez ouvrir les ports 990 et 40000-50000 Pour permettre aux connexions TLS et à la plage de ports des ports passifs de définir respectivement le fichier de configuration VSFTPD:

$ sudo ufw Autoriser 990 / TCP $ sudo ufw Autoriser 40000: 50000 / TCP $ Sudo UFW Statut 

4. Maintenant, ouvrez le fichier de configuration VSFTPD et définissez les détails SSL:

$ sudo vi / etc / vsftpd / vsftpd.conf ou $ sudo nano / etc / vsftpd / vsftpd.confli 

Ensuite, ajoutez ou localisez l'option ssl_enable et définir sa valeur sur OUI Pour activer l'utilisation de SSL, encore une fois, car TLS est plus sécurisé que SSL, nous limiterons VSFTPD à utiliser TLS à la place, en permettant à la ssl_tlsv1 option:

ssl_enable = oui ssl_tlsv1 = oui ssl_sslv2 = non ssl_sslv3 = non 

5. Ensuite, commentez les lignes ci-dessous en utilisant le # caractère comme suit:

# # rsa_cert_file = / etc / ssl / private / ssl-cerner-sakeoil.pem # RSA_PRIVATE_KEY_FILE = / etc / ssl / private / ssl-cerner-sakeoil.clé 

Ensuite, ajoutez les lignes ci-dessous pour définir l'emplacement du certificat SSL et du fichier clé:

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

6. Maintenant, nous devons également empêcher les utilisateurs anonymes d'utiliser SSL, puis forcer toutes les connexions non anonymes pour utiliser une connexion SSL sécurisée pour le transfert de données et pour envoyer le mot de passe pendant la connexion:

allow_anon_ssl = non force_local_data_ssl = oui force_local_logins_ssl = oui 

7. De plus, nous pouvons utiliser les options ci-dessous pour ajouter plus de fonctionnalités de sécurité dans le serveur FTP. Avec option require_ssl_reuse = oui, Toutes les connexions de données SSL sont nécessaires pour présenter une réutilisation de la session SSL; prouver qu'ils connaissent le même secret que le canal de contrôle. Donc, nous devons le désactiver.

require_ssl_reuse = non 

De plus, nous pouvons définir quels chiffres SSL VSFTPD permettra pour les connexions SSL cryptées avec le SSL_CIPHERS option. Cela aidera à frustrer tous les efforts des attaquants qui tentent de forcer un chiffre spécifique dans lequel ils ont peut-être découvert des vulnérabilités:

SSL_CIPHERS = HIGH 

8. Ensuite, définissons la plage de ports (port Min et Max) des ports passifs.

pasv_min_port = 40000 pasv_max_port = 50000 

9. Pour activer le débogage SSL, ce qui signifie que les diagnostics de connexion OpenSSL sont enregistrés dans le fichier journal VSFTPD, nous pouvons utiliser le debug_ssl option:

debug_ssl = oui 

Enfin enregistrez le fichier et fermez-le. Puis redémarrez le service VSFTPD:

$ systemctl redémarrer vsftpd 

Étape 3: Vérifiez FTP avec les connexions SSL / TLS sur Ubuntu

dix. Après avoir effectué toutes les configurations ci-dessus, testez si VSFTPD utilise maintenant les connexions SSL / TLS en essayant d'utiliser FTP à partir de la ligne de commande comme ci-dessous.

À partir de la sortie ci-dessous, un message d'erreur nous indique que VSFTPD ne peut permettre aux utilisateurs (non anonymes) de se connecter à des clients sécurisés qui prennent en charge les services de chiffrement.

$ ftp 192.168.56.dix Connecté à 192.168.56.10 (192.168.56.dix). 220 Bienvenue à Tecmint.service ftp com. Nom (192.168.56.10: Root): Ravi 530 Les séances non anonymes doivent utiliser le chiffrement. échec de la connexion. 421 Service non disponible, le serveur distant a une connexion fermée FTP> 

La ligne de commande ne prend pas en charge les services de chiffrement, ce qui entraîne une erreur ci-dessus. Par conséquent, pour se connecter en toute sécurité à un serveur FTP avec des services de chiffrement activés, nous avons besoin d'un client FTP qui prend en charge les connexions SSL / TLS par défaut, telles que Filezilla.

Étape 4: Installez Filezilla sur les clients pour connecter FTP en toute sécurité

Filezilla est un client FTP multiplateforme puissant et largement utilisé qui prend en charge FTP sur SSL / TLS et plus. Pour installer FileZilla sur une machine client Linux, utilisez la commande suivante.

--------- Sur Debian / Ubuntu --------- $ sudo apt-get install filezilla --------- Sur Centos / Rhel / Fedora --------- # yum installer EPEL-Release Filezilla --------- Sur Fedora 22+ --------- $ sudo dnf installer filezilla 

12. Une fois l'installation terminée, ouvrez-la et allez à Fichier => gestionnaire de sites ou (appuyez sur Ctrl + s) pour obtenir le Chef de site Interface ci-dessous.

Gestionnaire de sites Filezilla

13. Maintenant, définissez le nom hôte / site, ajoutez l'adresse IP, définissez le protocole à utiliser, le chiffrement et le type de connexion comme dans la capture d'écran ci-dessous (utilisez des valeurs qui s'appliquent à votre scénario):

Cliquer sur Nouveau site bouton pour configurer une nouvelle connexion site / hôte.

Héberger: 192.168.56.dix Protocole: FTP - Protocole de transfert de fichiers Chiffrement: Nécessitent un FTP explicite sur #Recommunond Type de connexion: Demandez le mot de passe # utilisateur recommandé: nom d'utilisateur 
Configurer le nouveau site FTP sur Filezilla

14. Puis cliquez sur Connecter à partir de l'interface ci-dessus pour saisir le mot de passe, puis vérifier le certificat utilisé pour le SSL / TLS connexion et cliquez D'ACCORD Une fois de plus pour se connecter au serveur FTP:

Vérifiez le certificat FTP SSL

15. Maintenant, vous devriez vous connecter avec succès dans le serveur FTP via une connexion TLS, vérifiez la section d'état de la connexion pour plus d'informations à partir de l'interface ci-dessous.

Connecté au serveur FTP Ubuntu

16. Enfin, transférons les fichiers de la machine locale vers le Sever FTP dans le dossier des fichiers, jetez un œil à l'extrémité inférieure de l'interface Filezilla pour afficher les rapports concernant les transferts de fichiers.

Sécuriser le transfert de fichier FTP à l'aide de filezilla

C'est tout! N'oubliez pas que l'installation d'un serveur FTP sans activer les services de chiffrement a certaines implications de sécurité. Comme nous l'avons expliqué dans ce tutoriel, vous pouvez configurer un serveur FTP pour utiliser les connexions SSL / TLS pour implémenter la sécurité dans Ubuntu 16.04/16.dix.

Si vous rencontrez des problèmes dans la configuration de SSL / TLS sur FTP Server, utilisez le formulaire de commentaire ci-dessous pour partager vos problèmes ou vos pensées concernant ce tutoriel / sujet.