[Mode FTP] Choisir son mode en connaissance de cause

FTP peut s'utiliser de deux façons différentes.

Mode actif : Établissement des connexions TCP en mode actif

En mode actif, c'est le client FTP qui détermine le port de connexion à utiliser pour permettre le transfert des données. Ainsi, pour que l'échange des données puisse se faire, le serveur FTP initialisera la connexion de son port de données (port 20) vers le port spécifié par le client. Le client devra alors configurer son pare-feu pour autoriser les nouvelles connexions entrantes afin que l'échange des données se fasse. De plus, il peut s'avérer problématique pour les utilisateurs essayant d'accéder à des serveurs FTP lorsque ces utilisateurs sont derrière une passerelle NAT*. Étant donnée la façon dont fonctionne le NAT*, le serveur FTP lance la connexion de données en se connectant à l'adresse externe de la passerelle NAT* sur le port choisi. Certaines passerelles NAT* n'ayant pas de correspondance pour le paquet reçu dans la table d'état, le paquet sera ignoré et ne sera pas délivré au client.

Mode passif : Établissement des connexions TCP en mode passif

En mode passif, le serveur FTP détermine lui-même le port de connexion à utiliser pour permettre le transfert des données (data connexion) et le communique au client. En cas de présence d'un pare-feu devant le serveur, celui-ci devra être configuré pour autoriser la connexion de données. L'avantage de ce mode est que le serveur FTP n'initialise aucune connexion. Ce mode fonctionne sans problèmes avec des clients derrière une passerelle NAT. Dans les nouvelles implémentations, le client initialise et communique directement par le port 21 du serveur ; cela permet de simplifier les configurations des pare-feu serveur.

* NAT

On dit qu'un routeur fait du Network Address Translation (NAT) (« traduction d'adresse réseau ») lorsqu'il fait correspondre les adresses IP internes non-uniques et souvent non routables d'un réseau interne à un ensemble d'adresses externes uniques et routables. Ce mécanisme permet notamment de faire correspondre une seule adresse externe publique visible sur Internet à toutes les adresses d'un réseau privé, et pallie ainsi l'épuisement des adresses IPv4.