Port FTP – comment transférer et ouvrir l’accès

Quand on parle de FTP, beaucoup d’utilisateurs ne comprennent pas un mot, alors que d’autres connaissent ce terme. Cependant, si vous voulez comprendre ce que c’est et comment il est utilisé, vous bénéficierez certainement de ses fonctionnalités. Dans cet article, nous mettrons en évidence les principaux aspects du protocole FTP, à savoir le port FTP, pourquoi vous en avez besoin et comment le configurer. Parallèlement, vous obtiendrez des conseils utiles concernant la modification du port FTP par défaut ou son déverrouillage dans le pare-feu/routeur. Bonne lecture.

Définition du terme de port FTP

Les ports FTP ne sont rien de plus que des terminaux de communication. Les principaux objectifs sont d’assurer la connexion et le transfert de fichiers entre votre ordinateur et votre serveur. Lors de l’établissement d’une connexion avec un serveur spécifique, vous devez connaître son adresse IP. Même si la certaine adresse IP est liée à un certain serveur, les ports sont les numéros utilisés pour identifier les applications et les services avec lesquels vous souhaitez établir une connexion sur un certain serveur.

Si les adresses IP sont uniques et qu’il ne peut y avoir deux adresses IP pour un certain serveur, en ce qui concerne le port FTP, il n’y a pas de nombre certain. La plage de numéros de port FTP peut varier de 0 à 65535. Ainsi, comme vous le voyez, il n’y a pas de réponse claire quant au port utilisé par FTP, car le numéro peut être différent.

Cependant, pour savoir comment fonctionne le port FTP et comment le configurer, vous devez d’abord commencer par comprendre les principales fonctionnalités de FTP, des clients FTP et des serveurs FTP. Alors commençons par le tout début.

FTP features

Liste des fonctionnalités FTP

L’objectif principal du protocole FTP est de fournir un transfert de données rapide. Cependant, la liste de ses fonctionnalités couvre plus que cela. Nous avons rassemblé ci-dessous les principales fonctionnalités du protocole FTP.

Représentation des données

Il existe deux principaux types de fichiers utilisés lors du transfert de fichiers à l’aide du protocole FTP : ASCII et binaire. Cependant, on peut aussi utiliser EBCDIC. Les fichiers ASCII contiennent du texte brut. Ces fichiers peuvent être sans extension ou avec une extension .txt. Les fichiers binaires sont des programmes et d’autres fichiers non textuels enregistrés au format de l’application qui les a créés, ou au format de fichiers archivés ou compressés. En ce qui concerne le type de transfert EBCDIC, il est recommandé pour l’échange de fichiers entre les systèmes prenant en charge EBCDIC. Cela évitera la double conversion d’ASCII en EBCDIC et vice versa.

Organisation des fichiers et structures de données

Les fichiers structurés et non structurés peuvent être transférés via FTP. Les fichiers non structurés sont des flux d’octets et sont généralement marqués par EOF à la fin. Le fichier d’enregistrement de structure est divisé en enregistrements pour les fichiers texte et est marqué par EDR à la fin. Le fichier de structure de page est divisé en pages, chaque page a un numéro de page et un titre de page. Un accès aléatoire ou un accès séquentiel peut être effectué.

Méthode de transmission

Le mode de transfert FTP a 3 modes, à savoir le mode streaming, le mode bloc et le mode compressé.

Mode flux

Les données sont transmises sous forme de flux d’octets dans les paramètres par défaut de FTP. les données sont divisées en segments par TCP. Il n’est pas nécessaire de spécifier EOF lors de la fermeture des données. Cependant, si le fichier est divisé en enregistrements, EOR et EOF sont requis.

Mode bloc

Le fichier est transféré sous forme de bloc, et le bloc a son propre en-tête de 3 octets. Les octets principaux incluent les valeurs 16 bits et les sous-codes de description 8 bits.

Mode compressé

En mode compressé, puisque les données sont compressées, il y a de nombreux avantages à augmenter le débit. Lors de la compression des fichiers texte, les espaces vides sont supprimés. Alors que lors de la compression des fichiers binaires, les caractères nuls sont supprimés.

Contrôle des erreurs

Il n’y a aucun intérêt à un mécanisme supplémentaire de récupération après des erreurs, car FTP utilise TCP pour le transfert de données.

Contrôle d’accès

Il existe un mécanisme sécurisé pour accéder au système via un mot de passe et le nom de l’utilisateur.

Fonctionnement FTP

Basé sur une architecture client-serveur, FTP utilise par défaut 2 connexions TCP pour effectuer le transfert de données. L’une est une connexion de contrôle, l’autre est une connexion de données.

Contrôler la connexion

La connexion de contrôle est établie comme une connexion client-serveur normale. Le serveur effectue une ouverture passive sur un port FTP bien connu (21) et attend une demande de connexion du client. Le client effectue une ouverture active sur le port TCP 21 pour établir une connexion de contrôle. La connexion de contrôle existe tant que le client communique avec le serveur. Cette connexion est utilisée pour envoyer des commandes du client au serveur et pour envoyer des réponses du serveur. Le type de service IP pour la connexion de contrôle est défini pour obtenir la « latence la plus faible », car les commandes sont généralement saisies par l’utilisateur.

Connexion de données

S’ouvre à chaque fois qu’un fichier est transféré entre le client et le serveur et se ferme à chaque fois après l’envoi des données. Le transfert de données peut se produire entre les processus de transfert de données d’un serveur DTP et d’un DTP et d’un client, ou entre un DTPS de deux serveurs. Le port FTP (20) est utilisé. Le type de service IP de la connexion de données doit être “bande passante maximale” car cette connexion est utilisée pour les transferts de fichiers.

Qu'est-ce qu'un mode actif et passif ? Comment sont-ils associés aux ports

Le fait est qu’il existe deux options pour le développement d’un scénario d’interaction client-serveur. Selon la méthode d’établissement d’une connexion pour le transfert de données, les modes de fonctionnement FTP actif et passif sont distingués. En mode actif, le serveur établit lui-même une connexion de transfert de données vers le client, en mode passif, inversement. Examinons ces modes plus en détail.

Active and passive modes

Le fait est que dans le protocole FTP il existe deux types de connexion :

  • Contrôler la connexion.
  • Connexion pour le transfert de données.

 

L’activité et la passivité du client n’apparaissent que dans le second type de connexion. Alors que le premier est nécessaire pour que le serveur et le client puissent communiquer entre eux. C’est pour que le serveur reçoive les commandes du client car cette connexion s’appelle le contrôle. Une telle connexion fonctionne via un port FTP standard installé par défaut ou en d’autres termes le port FTP par défaut.

La principale différence entre les modes actif et passif du protocole FTP est lequel des ensembles client-serveur établit la connexion pour le transfert de données, c’est-à-dire, en gros, qui est connecté à qui. Les ports vers lesquels les données sont transmises diffèrent également. Avec le mode de fonctionnement actif, le client établit une connexion de contrôle avec le serveur, mais le serveur lui-même établit la connexion pour le transfert de données.

Dans un mode de fonctionnement passif, la connexion de données, ainsi que la connexion de contrôle au serveur, est initiée uniquement par le client. Autrement dit, en mode actif, le serveur se connecte au client pour le transfert de données, et en mode passif, le client se connecte au serveur.

Comment établir le mode FTP actif

Tant en mode actif qu’en mode passif, la connexion commence par l’envoi d’une requête par le client au serveur. Tout d’abord, une connexion de contrôle est établie. Pour ce faire, un port temporaire est créé sur le client avec un numéro compris entre 1024 et 65535 pour établir une connexion de contrôle, ainsi qu’un port pour le transfert de données. En mode actif, tout se passe dans l’ordre suivant :

1. Le client envoie une requête au numéro de port du serveur 21 (port par défaut pour FTP) à partir du port temporaire dans la plage 1024–65535.

2. Le serveur répond à un port client temporaire.

3. Le client confirme la connexion.

4. Le client envoie une commande FTP PORT qui parle de l’utilisation du mode FTP actif, de son adresse IP, ainsi que du numéro de port pour établir une connexion de données à laquelle le serveur se connectera.

5. La commande est confirmée par le serveur.

6. Le client demande au serveur de travailler avec FTP.

7. Le serveur crée une connexion de données. Pour ce faire, il envoie une requête du port 20 au port spécifié par le client au quatrième paragraphe.

8. Le client répond à la demande.

9. Le serveur confirme la connexion et autorise le client à transférer des données.

Comment établir le mode passif FTP

En mode passif, la procédure d’établissement d’une connexion de données est légèrement différente. Les actions se déroulent comme suit :

1. Le client envoie une requête au numéro de port du serveur 21 (port FTP par défaut) à partir du port temporaire dans la plage 1024–65535.

2. Le serveur répond à un port client temporaire.

3. Le client confirme la connexion.

4. Le client envoie une commande PASV qui parle de l’utilisation du mode FTP passif.

5. Le serveur confirme le travail en mode passif, envoie son adresse IP, ainsi que le numéro de port pour établir une connexion de données à laquelle le client se connectera.

6. Depuis le port de transfert de données, le client envoie une requête pour établir une connexion au port émis par le serveur.

7. Le serveur confirme la connexion.

8. Le client établit une connexion.

9. Le client instruit le serveur (du port de contrôle au port FTP 21), après quoi les données peuvent être transmises.

Résolution des problèmes avec le pare-feu

En mode actif, le problème principal se produit avec le client. Si le pare-feu est configuré pour supprimer les connexions entrantes non initiées en interne, le serveur ne pourra pas établir de connexion de données. Et comme le port de données FTP est dynamique, il y a quelques difficultés avec la configuration du pare-feu. Il sera plus correct de spécifier la plage de ports utilisés dans le client et de créer une règle de pare-feu autorisée pour eux.

En mode passif, le serveur peut rencontrer un tel problème. La solution est similaire : nous spécifions la plage de ports FTP passif utilisée dans les paramètres du serveur et créons une règle d’autorisation pour celle-ci.

Pourquoi FTP a-t-il 2 numéros de port ? Est-il nécessaire d'utiliser le port 21 ?

Les personnes qui traitent constamment avec des serveurs et les créent ont entendu parler du nombre 21. Pour eux, c’est significatif, car de nombreux serveurs et protocoles, pas seulement FTP, utilisent le port 21. Cependant, par défaut, FTP utilise deux ports spécifiés, à savoir 20 et 21. Le port 21 est principalement utilisé pour la gestion tandis que le port 20 est pour le transfert de données. Cela conduit au fait que le port 21 est de la plus haute importance, ce qui est nécessaire pour ouvrir le serveur et lui envoyer des commandes et le port 20 est principalement nécessaire pour le mode actif.

21 – le port est utilisé pour contrôler le transfert de données. Le client établit (activement) une connexion de contrôle au port 21 du serveur (il ouvre la connexion passivement) pour envoyer des commandes FTP au serveur et recevoir des réponses FTP de sa part. Une connexion de contrôle existe en permanence pendant que le client communique avec le serveur. Le port 21 est le port du serveur.

Sur le port 20 (serveur), en effet, les données sont transférées sous la “supervision” de la connexion de contrôle sur le port 21 (serveur). Ce 20 ports est requis pour une connexion qui n’existe qu’au moment du transfert de données. Cela distingue la connexion spécifiée de celle sur le port 21, qui existe tout le temps lorsque le client travaille avec le serveur. Le port 20 est le port du serveur.

Revenons au port 21 et à l’omniprésence de son utilisation. Si vous commencez à analyser la situation, ce n’est pas brillant. Après tout, le protocole de transfert de données n’est pas du tout protégé contre l’interception. A tout moment, des pirates expérimentés peuvent attaquer votre serveur et intercepter le mot de passe et le login du client. Ensuite, ils infiltreront le serveur et y voleront des données importantes, ou ils cacheront des programmes malveillants et des virus dans des répertoires.

Afin d’augmenter d’une manière ou d’une autre le niveau de sécurité de l’utilisation du protocole FTP, il est recommandé de modifier le port FTP standard dans les paramètres, cela est nécessaire pour la connexion. Ce n’est pas difficile à faire, mais chaque serveur a cette option configurée à sa manière. La seule nuance est que lors de la connexion, le client devra spécifier un nouveau numéro de port de données FTP au lieu du numéro 21. C’est l’essence de la protection – les pirates ne connaîtront pas le port sur lequel intercepter les données, ils ne seront donc pas capable de le voler.

Quelles sont les vulnérabilités FTP courantes

L’inconvénient le plus important du protocole est le transfert de toutes les informations, ainsi que des noms d’utilisateur et des mots de passe, sous une forme ouverte. Cela rend impossible l’utilisation de ce protocole pour transférer des informations confidentielles sans utiliser de logiciels et de matériel tiers. Si l’attaquant a accès au canal de communication par lequel ces données sont transmises, un cryptage doit être utilisé ou un numéro de port FTP sécurisé. Il s’agit d’un cas typique de l’impact passif d’une attaque – l’état du serveur ne change pas, la politique de sécurité n’est pas violée, mais il y a accès aux informations nécessaires.

Le protocole ne définit pas les actions qui contrecarrent la sélection des mots de passe. Après un mot de passe incorrect, le client a la possibilité de le saisir à nouveau, mais la connexion n’est pas interrompue. Il n’y a pas non plus de restrictions sur le nombre de répétitions. Par conséquent, une attaque visant à deviner les mots de passe peut durer aussi longtemps que vous le souhaitez, et l’absence de retards dans les réponses du serveur augmente l’efficacité.

Les vulnérabilités suivantes sont associées au mode passif du protocole et à la possibilité de participer à la connexion du troisième nœud. Lors de l’utilisation du mode de transfert de données passif, dans lequel le serveur indique au client à quel port du serveur FTP se connecter afin de démarrer le transfert, il est possible d’établir une connexion à partir d’un autre ordinateur.

Si le vrai client a déjà sélectionné le fichier nécessaire au téléchargement et dispose de l’accès nécessaire, alors le vol en son nom est possible. Un attaquant, connaissant les particularités du choix des numéros de port FTP par le serveur FTP pour l’organisation du mode passif, augmente les chances de succès d’une attaque. Pour ce faire, vous devez essayer d’établir des connexions avec les ports, et si tout réussit, le fichier sera volé. De la même manière, vous pouvez écrire un fichier sur le serveur au nom de l’utilisateur enregistré en établissant une connexion avec le port du serveur FTP en attendant que le fichier démarre.

Revenons au port 21 et à l’omniprésence de son utilisation. Si vous commencez à analyser la situation, ce n’est pas brillant. Après tout, le protocole de transfert de données n’est pas du tout protégé contre l’interception. A tout moment, des pirates expérimentés peuvent attaquer votre serveur et intercepter le mot de passe et le login du client. Ensuite, ils infiltreront le serveur et y voleront des données importantes, ou ils cacheront des programmes malveillants et des virus dans des répertoires.

Afin d’augmenter d’une manière ou d’une autre le niveau de sécurité de l’utilisation du protocole FTP, il est recommandé de modifier le port FTP standard dans les paramètres, cela est nécessaire pour la connexion. Ce n’est pas difficile à faire, mais chaque serveur a cette option configurée à sa manière. La seule nuance est que lors de la connexion, le client devra spécifier un nouveau numéro de port de données FTP au lieu du numéro 21. C’est l’essence de la protection – les pirates ne connaîtront pas le port sur lequel intercepter les données, ils ne seront donc pas capable de le voler.

Contre-attaque de la vulnérabilité FTP

Les vulnérabilités du protocole se produisent principalement en raison de ses fonctionnalités et du manque de moyens de protéger les informations transmises. Pour augmenter la sécurité, vous devez utiliser des outils tiers et examiner attentivement l’interaction des nœuds du réseau via le protocole FTP. Le problème du transfert de toutes les informations sous une forme ouverte est résolu soit en utilisant des outils de cryptage, si possible, soit en protégeant les canaux de communication contre tout accès non autorisé. Par exemple, Commander One, l’application est une alternative populaire au client FTP Cyberduck avec la prise en charge des connexions FTP/SFTP et des stockages en nuage.

Avec cette application, vous ne vous soucierez plus de savoir si le port FTP est sécurisé ou non et vous vous contentez de relayer la fonction de cryptage de l’application, car elle utilise AES avec une longueur de clé de 256 bits. En plus de cela, l’application prend en charge un large éventail de fonctionnalités avancées qui sont nécessaires lors de la gestion des fichiers, essayez cette application pour bénéficier de ses fonctionnalités. D’autres problèmes peuvent être résolus en filtrant.

Pour protéger les mots de passe contre le piratage, vous devez configurer le serveur FTP afin que les connexions soient fermées après un certain nombre de tentatives de mot de passe. Il est également nécessaire de prévoir une pause avant de répondre à chaque mot de passe incorrect, ce qui ralentira considérablement leur énumération.

Pour empêcher le vol de fichiers en mode passif, un filtrage par adresse IP est requis. Lors de l’utilisation de ce filtrage, il devient impossible d’échanger entre deux serveurs initiés par le client, puisque le serveur, qui est passé en mode actif, aura une adresse différente de l’adresse du client, et les paquets en provenance de celui-ci seront filtrés. Du point de vue de la sécurité moderne, la bonne solution consiste à utiliser l’une des implémentations FTP cryptées (FTPS, SFTP) ou à utiliser FTP via VPN.

Comment utiliser FTP sur Mac

Port SFTP. La différence avec le port FTP

SFTP est une norme de transfert d’informations sur Internet, conçue pour déplacer et copier des fichiers à l’aide d’une connexion de fiabilité et de sécurité accrues SSH (Secure Shell). Ce type de connexion peut fournir un accès et une transmission sécurisée, qui est cryptée avec un identifiant et un mot de passe, ainsi que le contenu de la transmission, protégeant ainsi les mots de passe et les informations confidentielles d’une transmission ouverte sur le réseau. Contrairement à FTP, le protocole SFTP, malgré ses fonctions similaires, utilise un protocole de transfert de données différent, et donc les clients standard ne peuvent pas communiquer avec les serveurs SFTP.

Alors que le port TCP 22 est la bonne réponse générale et est considéré comme le numéro de port mac SFTP par défaut, cela dépend de la façon dont SSH est configuré pour utiliser un port standard SFTP plutôt qu’un port alternatif.

Étant donné que SFTP agit comme un sous-système SSH, il s’exécute sur n’importe quel port qui écoute le démon SSH et est configuré par l’administrateur. SFTP utilise généralement le numéro de port SFTP 22, mais peut être configuré pour fonctionner sur presque tous les ports. SFTP n’est qu’un des protocoles qui peuvent être lancés via SSH (d’autres incluent un terminal virtuel). En fait, SFTP est indépendant et peut fonctionner même sans utiliser SSH.

Principales différences entre FTP et SFTP

  • FTP ne fournit aucun canal sécurisé pour le transfert de fichiers entre hôtes, tandis que SFTP fournit un canal sécurisé pour transférer des fichiers entre hôtes sur un réseau.
  • FTP est l’abréviation de File Transfer Protocol, tandis que SFTP est l’abréviation de Secure File Transfer Protocol.
  • FTP est un service fourni par TCP/IP. Cependant, SFTP fait partie du protocole SSH, qui représente des informations pour la connexion à distance.
  • FTP établit une connexion à l’aide d’une connexion de contrôle sur le port TCP 21. D’autre part, SFTP transfère le fichier via une connexion sécurisée établie via SSH entre le client et le serveur.
  • FTP transfère le mot de passe et les données au format texte, tandis que SFTP chiffre les données avant de les envoyer à un autre hôte.

Port FTP : Foire aux questions

FTP est le protocole de transfert de fichiers. Le but principal de FTP est d’envoyer, de copier, de transférer des fichiers sur Internet (d’un ordinateur distant vers un ordinateur local et inversement). De plus, grâce au FTP, vous pouvez travailler avec vos fichiers directement sur un ordinateur distant (renommer, supprimer, créer des répertoires, etc.).

Le numéro de port FTP par défaut est 21/20.

Il est possible d’utiliser un navigateur, pour cela il faut taper dans la barre d’adresse du navigateur ftp : // votre_login : votre_mot de passe @ nom_de_domaine de votre site. Cependant, gardez à l’esprit que le navigateur n’est pas compatible FTP. Techniquement, il peut le faire, mais il manque de nombreuses fonctions nécessaires.

SFTP (SSH File Transfer Protocol) – Un protocole réseau qui permet le transfert et l’exploitation de fichiers via une connexion sécurisée via SSH.

SFTP utilise généralement le numéro de port SFTP 22, mais peut être configuré pour fonctionner sur presque tous les ports.

La principale différence avec l’accès FTP est que toutes les données, y compris le login et le mot de passe, sont transmises cryptées, ce qui garantit la sécurité de votre travail et protège contre les attaques de virus

En mode actif, le client établit une connexion de contrôle au port 21 du serveur et envoie une commande PORT spéciale, dans laquelle il indique son adresse et son port pour le transfert de données. Après avoir reçu cette commande, le serveur établit une connexion du port 20 au port client spécifié dans la commande.

L’inconvénient de cette méthode est le suivant : pour travailler en mode actif, le client a besoin d’une adresse IP spécifiée. De plus, certaines difficultés surgiront lors de la recherche d’un client derrière un pare-feu ou un NAT.

Pour établir une connexion en mode passif, le client envoie la commande PASV au serveur. En réponse, le serveur transmet l’adresse et le port auxquels une connexion de données doit être établie. Après avoir reçu ces informations, le client établit une connexion avec le serveur et commence le transfert de données. Comme vous pouvez le voir, en mode passif, toutes les connexions sont initiées par le client et il n’y a donc aucune exigence pour cela ; il peut être situé derrière le NAT et le pare-feu, et peut également ne pas avoir d’adresse IP spécifiée.

Par conséquent, de nos jours, le mode principal de FTP est passif.

Par défaut, les ports 20 et 21 sont configurés en FTP. Le plus important est le port 21, car il est nécessaire pour ouvrir le serveur et lui envoyer des commandes (appelée connexion de contrôle). Alors que le port 20 est principalement nécessaire pour le mode actif.

Par défaut, le port 22 est généralement utilisé pour la connexion via SSH, tandis que FTP utilise généralement le port 21.

FTP utilise TCP dans la communication. TCP est le protocole de transport de base d’Internet, qui assure la livraison de données via une connexion préétablie entre deux ordinateurs. La connexion fonctionne tout au long de la session de communication.

Le protocole UDP est conçu pour transférer rapidement une partie des données sans garantie de livraison et sans pré-établissement de connexion.

Les développeurs pensaient que la quantité de données transmises via le port de données rendrait impossible l’envoi de commandes de contrôle en temps opportun, ils ont donc utilisé deux ports – la connexion de contrôle est initiée par le client et le canal de données par le serveur.