Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comprendre SFTP vs FTPS vs FTP

FTP contre SFTP contre FTPS
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

FTP ou File Transfer Protocol est l'une des méthodes de transfert de données les plus populaires disponibles pour divers cas d'utilisation.

FTP a différentes variantes sécurisées disponibles, connues sous le nom de FTPS et SFTP, qui intègrent des différences subtiles et des différences moins subtiles dans leur fonctionnement. Ces différences concernent la manière dont les données sont échangées, le niveau et le type de sécurité des communications, et pare-feu considérations.

Connaître le fonctionnement de ces protocoles et les différences entre ces mécanismes de transfert populaires peut vous aider à choisir celui qui convient le mieux à vos besoins.

FTP

FTP est le protocole de transfert de fichiers vieux de plusieurs décennies proposé à l'origine sous RFC 114. Cela a évolué plus tard comme RFC 959, qui est la norme en usage aujourd'hui.

FTP fonctionne sur deux canaux pour échanger des informations : un pour les commandes et l'autre pour les données. Cela nécessite deux ports pour que FTP fonctionne - le canal de commande et le canal de données.

Le canal de commande fonctionne sur le port 21, qui accepte les connexions des clients et gère la transmission des commandes. Le canal de commande reste ouvert pendant toute la durée de la session FTP jusqu'à ce que le client envoie QUIT commande ou le serveur se déconnecte de force en raison d'une inactivité ou de toute autre raison possible.

Le canal de données utilise un port temporaire à la demande en écoute sur le serveur (mode passif) ou le client (mode actif). Ce canal est responsable du partage des données réelles entre le serveur et le client sous la forme de listes de répertoires et de transferts de fichiers.

Contrairement au canal de commande, le canal de données reste ouvert uniquement pendant la durée du transfert de fichiers, et dès qu'il se termine, le canal de données est fermé. Pour le transfert simultané de plusieurs fichiers ou listes de répertoires, plusieurs ports de canal de données sont requis.

FTP est un protocole intrinsèquement non sécurisé, car les canaux de commande et de données transfèrent des informations sous une forme non cryptée, ce qui est facilement susceptible d'être intercepté par quiconque utilisant des attaques de type "man-in-the-middle".

Comme indiqué précédemment, FTP nécessite une connexion entrante sur le port 21/tcp côté serveur pour le canal de commande. Une plage de ports passifs est définie pour les transferts de fichiers et les listes de répertoires et autorise les connexions entrantes. Ce processus de définition peut varier en fonction du serveur FTP utilisé. Reportez-vous à sa documentation pour plus de détails. Côté client, connexion sortante sur le port 21/tcp doit être autorisé avec la plage de ports passif définie sur le serveur.

Authentification en FTP

Les informations d'authentification FTP sont transmises sur le canal de commande lors de l'établissement de la connexion initiale. FTP peut utiliser un nom d'utilisateur et un mot de passe pour l'authentification, ou il peut être anonyme pour permettre à quiconque de se connecter et d'accéder au serveur.

Active and Passive FTP Modes

FTP utilise le mode Actif ou Passif pour configurer les connexions.

In mode actif, un utilisateur se connecte à partir d'un port aléatoire sur le client FTP au port FTP 21/tcp sur le serveur et envoie la commande PORT, en spécifiant le port client auquel le serveur doit se connecter. Ce port sera utilisé pour le canal de données.

Le serveur se connecte alors à partir du port 20/tcp au port client précédemment spécifié avec PORT commande par le client. Ce canal de données est ensuite utilisé pour les transferts de fichiers entre le serveur et le client.

In mode passif, le client se connecte à partir d'un port aléatoire du client FTP au port 21/tcp sur le serveur et envoie la commande PASV. Le serveur répond alors avec un port aléatoire qui doit être utilisé pour le canal de données. Le client utilise ensuite un autre port aléatoire pour se connecter au port répondu par un serveur à l'étape précédente. Cette connexion de canal de données est ensuite utilisée pour le transfert de fichiers entre le serveur et le client.

Ainsi, en mode actif, la demande de connexion initiale est initiée par le client tandis que la demande de connexion au canal de données est initiée par le serveur.

D'autre part, en mode passif, les demandes de connexion initiales et les demandes de canal de données ultérieures sont initiées par le client vers le serveur. Cette différence subtile affecte parfois la façon dont un pare-feu autorise/bloque les requêtes FTP traditionnelles en raison de la direction du type de connexion entrante/sortante.

FTPS

Même si vous êtes prêt à prendre les risques associés à FTP avec une transmission de données non cryptée et des attaques principales, les exigences de l'industrie vous obligent à utiliser une alternative plus sécurisée comme FTPS et SFTP, qui sont comparativement beaucoup plus sécurisés.

En 1990, face à l'évolution du paysage de la sécurité, Netscape a créé SSL ou Secure Sockets Layer (SSL, maintenant connu sous le nom de TLS) pour protéger la communication sur un réseau. SSL a été appliqué à FTP qui est devenu FTPS ou Protocole de transfert de fichiers sécurisé. FTPS ou FTP/S s'exécute généralement sur le port 990/tcp, mais il peut également être vu sur le port 21/tcp. De même, pour le port de canal de données 989/tcp est le port commun utilisé pour FTPS. Si le port de commande est 21/tcp, son port de données devrait être 20/tcp.

Comme FTP, FTPS utilise deux canaux de communication : le canal de commande et le canal de données. Soit le canal de données peut être crypté avec FTPS, soit les canaux de commande et de données peuvent être cryptés pour plus de sécurité.

FTPS, comme FTP, utilise également plusieurs ports pour les canaux de commande et de données. Alors, port 21/tcp est utilisé pour la connexion initiale et la transmission des informations d'authentification. Plus tard, différents ports seront nécessaires pour configurer les canaux de données pour chaque demande de transfert de fichier ou de liste de répertoire du client. Ainsi, comme FTP, il a besoin d'une gamme de ports à autoriser dans votre pare-feu.

Authentification dans FTPS

L'authentification pour FTPS fonctionne à l'aide d'un nom d'utilisateur et d'un mot de passe ainsi que d'un certificat de serveur pour le cryptage. Lorsque le client FTPS se connecte à un serveur, il vérifie si le certificat du serveur est approuvé pour poursuivre la connexion. Ce certificat peut être demandé au client et au serveur.

SFTP

Contrairement à FTP et FTPS, SFTP (SSH File Transfer Protocol) est un protocole complètement différent construit sur SSH (ou Secure Shell). SFTP, par défaut, fonctionne sur le port 22/tcp, comme SSH bien qu'il puisse être configuré pour utiliser un port libre personnalisé sur le serveur.

SFTP est un protocole FTP sécurisé qui utilise SSH en dessous pour envoyer et recevoir des fichiers. SSH étant entièrement crypté, SFTP est une méthode robuste et sécurisée pour transférer des fichiers sur un réseau.

SFTP, contrairement à FTP et FTPS, utilise un seul canal de communication pour transférer les commandes et le trafic de données, qui sont tous transmis crypté formulaire avec l'authentification initiale.

Authentification dans SFTP

L'authentification dans SFTP peut être effectuée via un simple nom d'utilisateur et un mot de passe, mais contrairement à FTP, toutes les informations, y compris les détails d'authentification, sont transmises cryptées sur le réseau.

SFTP prend également en charge l'authentification à l'aide d'une paire de clés SSH, d'une combinaison de clés privées et publiques, où le client fournit la clé privée pour l'utilisateur spécifié, et le serveur doit disposer de la clé publique correspondante pour que l'authentification réussisse. C'est plus sûr que d'utiliser une combinaison nom d'utilisateur/mot de passe. Il est possible d'authentifier le même utilisateur à l'aide d'un mot de passe et de clés SSH si les deux méthodes sont configurées sur le serveur SFTP.

Résumé

Cet article résume les fonctionnalités de base des différents protocoles de transfert de fichiers populaires, à savoir FTP, FTPS et SFTP, et met en évidence les différences subtiles et majeures entre ces protocoles. Il couvre les ports qu'il faut autoriser dans un pare-feu pour configurer un serveur FTP/FTPS/SFTP fonctionnel tout en soulignant la nécessité de passer à des protocoles plus sécurisés comme FTPS et SFTP.

Quand je dis FTP ici, je fais référence à tous les protocoles discutés dans cet article. La raison pour laquelle FTP est vieux de plusieurs décennies, et même les versions sécurisées les plus récentes sont parfois appelées FTP au lieu de leur nom désigné pour une utilisation quotidienne.

Vous pouvez également être intéressé à connaître le meilleur Logiciel de serveur FTP et Clients FTP/SFTP.

Merci à nos commanditaires
Plus de bonnes lectures sur le réseautage
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder