FTP : le mode actif et le mode passif
Le mode passif et le mode actif sont deux méthodes utilisées par le protocole FTP (File Transfer Protocol) pour établir une connexion entre un client et un serveur.
La principale différence entre les deux modes est la manière dont la connexion de données est établie.
Mode Actif (Active Mode)
Le mode actif est la méthode par défaut utilisée par le protocole FTP. Dans ce mode, le client initie une connexion de données avec le serveur en se connectant à un port spécifique sur l’adresse IP du serveur. Le serveur accepte ensuite la connexion et les données sont transférées entre les deux.
Cependant, dans certains environnements réseau, les pare-feu ou les routeurs peuvent bloquer les connexions entrantes, ce qui rend le mode actif inutilisable.
Établissement des Connexions :
- Le client FTP se connecte au serveur FTP sur le port 21 (port de commande).
- Le serveur FTP répond à cette connexion et utilise un port supérieur à 1023 (généralement le port 20) pour se connecter à un port choisi par le client pour transférer les données.
Rôle du Client et du Serveur :
- Le client ouvre une connexion de commande (port 21) vers le serveur.
- Le serveur ouvre une connexion de données à partir de son port 20 vers un port aléatoire du client.
Problèmes Courants :
- Les pare-feu du client peuvent bloquer les connexions entrantes sur les ports dynamiques, causant des échecs de connexion en mode actif.
- Ce mode est souvent problématique dans les réseaux avec des politiques de sécurité strictes.
Mode Passif (Passive Mode)
Le mode passif permet de contourner les problèmes de pare-feu en inversant le processus de connexion.
Dans ce mode, le client se connecte au serveur sur le port de commande standard (généralement le port 21) et demande au serveur d’établir une connexion de données.
Le serveur répond en se connectant à un port spécifique sur l’adresse IP du client, ce qui permet au transfert de données de se poursuivre même si les connexions entrantes sont bloquées.
Établissement des Connexions :
- Le client FTP se connecte au serveur FTP sur le port 21 (port de commande).
- Le client demande ensuite au serveur d’entrer en mode passif.
- Le serveur ouvre un port dynamique (supérieur à 1023) et informe le client de ce port.
- Le client ouvre alors une connexion de données de son port supérieur à 1023 vers ce port du serveur.
Rôle du Client et du Serveur :
- Le client ouvre une connexion de commande (port 21) vers le serveur.
- Le client ouvre également la connexion de données vers un port désigné par le serveur.
Avantages :
- Étant donné que toutes les connexions sont initiées par le client, cela fonctionne mieux avec les pare-feu et les routeurs NAT (Network Address Translation).
- Le mode passif est souvent préféré pour les clients derrière des pare-feu stricts ou des routeurs NAT, car il évite les problèmes de connexions entrantes bloquées.
Schéma Simplifié :
Mode Actif :
- Client -> Serveur : Connexion de commande sur le port 21.
- Serveur -> Client : Connexion de données depuis le port 20 du serveur vers un port aléatoire du client.
Mode Passif :
- Client -> Serveur : Connexion de commande sur le port 21.
- Client -> Serveur : Connexion de données vers un port aléatoire du serveur, indiqué par le serveur.
La principale différence entre le mode actif et le mode passif est la manière dont la connexion de données est établie.
Le mode actif est la méthode par défaut, mais il peut être bloqué par les pare-feu ou les routeurs.
Le mode passif permet de contourner ces problèmes en inversant le processus de connexion.