Serveur FTP

Serveur FTP non sécurisé

image-1613302405262.png

 

 

image-1613302410506.png

 

Ici on peut voir les paramètres du serveur FileZilla. Le port est par défaut à 21 et le nombre d’utilisateurs à 0 (ce qui correspond à illimité).

 

image-1613302419222.png

 

En cliquant sur cette icône, on a accès à la liste des utilisateurs. Nous allons en créer un en cliquant sur Add sur le côté droit. On définit un nom d’utilisateur et un mot de passe.

 

image-1613302435541.png

 

Une fois le nom de l’utilisateur et mot de passe définis, on clique sur « Shares folders ». Ce sont les dossiers partagées entre le serveur et l’utilisateur concerné.

 

image-1613302443992.png

 

On choisit ensuite en cochant ou non les cases les permissions : lecture, écriture, suppression… Tout est prêt.

 

image-1613302452619.png

 

Sur la machine cliente, on entre dans « Hôte » l’adresse IP du serveur FTP, dans « Identifiant » le nom d’utilisateur, « Mot de passe » le mot de passe lié à l’utilisateur et le port (par défaut 21). On clique sur connexion rapide.

Un message s’affiche disant que la connexion n’est pas sécurisé. En effet, les logins ne sont pas protégés.

 

image-1613302464773.png

 

On a ensuite un dialogue nous confirmant la connexion.

Juste en dessous à gauche, on a site local : il s’agit de la destination de téléchargement des fichiers. A droite, le site distant correspondant au chemin des fichiers du serveur. Dans le serveur, dans cette exemple, nous avons deux fichiers.

On effectue un clic droit sur « Doc – Cisco N2.doc » par exemple, et télécharger. On a un message en bas à droite de l’écran nous confirmant la réussite du téléchargement.

 

image-1613302477774.png

 

Dans l’onglet « Transferts réussis » en bas de l’écran, on a une ligne par fichier, avec la destination de téléchargement, le fichier distant, la taille, la priorité et le temps.

Du côté serveur, nous avons des lignes confirmant le téléchargement :

 

image-1613302486130.png

 

De même pour les connexions/déconnexions au serveur :

 

image-1613302495960.png

 

Afin de prouver la non sécurisation du FTP, nous pouvons utiliser Wireshark. Celui –ci va analyser et lister les trames du réseau.

 

image-1613302504104.png

 

Une fois le programme lancé, on va écrire « ftp »dans « Filter » afin de filtrer les trames. On aura donc les trames liés au protocole ftp d’affichées.

Une fois écrit, nous allons cliquer sur « Start ». On se connecte alors sur la machine physique au serveur. On peut ensuite arrêter la capture des trames.

On obtient le résultat suivant :

 

image-1613302512988.png

 

On peut y retrouver l’identifiant et le mot de passe de connexion. A la ligne 6, on a « USER test » ce qui correspond à « Identifiant : test ». L’identifiant de connexion est « test ».

Deux lignes en dessous, on a « PASS mdp test » ce qui correspond à « mot de passe : mdptest ». Le mot de passe est donc « mdptest ».

Afin de sécuriser un serveur FTP, on doit utiliser un autre port que 21 et un certificat SSL en utilisant un protocole sécurisé.

 

Serveur FTP sécurisé

Il est important de sécuriser le serveur FTP, en utilisant le SFTP ou le FTPS. 

Le FTPS est le protocole FTP avec une couche SSL, exigeant un certificat. 

Le SFTP est le transfert de fichiers via SSH (port 22). On pourrait parler de transfert FTP encapsulé dans un tunnel SSH sécurisé.

image-1613308653274.png

Au niveau du FileZilla Serveur, cliquez sur « Edit » et « Settings », puis l’onglet « FTP  over TLS settings ». 

image-1613308664596.png

On coche les deux premières cases afin de sécuriser le FTP, puis on clique sur « Generate new certificate… » afin de générer un certificat SSL et d’accepter les connexions TLS.

image-1613308679322.png

On rentre ensuite les données, par exemple :

image-1613308695414.png

On rentre l’adresse du serveur dans « Common name », ici « localhost » ou l'adresse IP du serveur FTP.

On clique sur « Browse » et on choisit l’emplacement du certificat puis on clique sur « Generate certificate ».

image-1613308724824.png

On rentre ensuite un mot de passe puis on clique sur « OK ». Les connexions sont désormais sécurisées et chiffrées.

On peut alors se connecter au serveur via FileZilla Client.

image-1613308738495.png

On obtient ce message car le certificat est inconnu des . Pour plus de sécurité, il est nécessaire d’acheter un certificat auprès d’une entreprise reconnue ou de le générer avec Let's Encrypt en utilisant un domaine.

Avec Wireshark lors d'une connexion et transfert de fichiers :

image-1613308813023.png

Ici, nous ne voyons plus les identifiants de l’utilisateur.

Pour plus de sécurité, on peut restreindre l'accès au serveur sur une certaine plage d'adresse IP, et changer le port par défaut.