FTP, ce qui signifie Protocole de transfer de fichier, est un protocole réseau standard utilisé pour le transfert de fichiers informatiques entre un client et un serveur sur un réseau TCP/IP tel qu'Internet.
A la fin de l'article vous trouverez un petit tester cela vous permettra évaluer les connaissances acquises dans cette lecture
FTP est un moyen de permettre le transfert sécurisé de fichiers d'un emplacement à un autre et peut également permettre la gestion de fichiers sur le serveur.
En FTP, il existe deux modes de connexion : FTP actif et FTP passif.
FTP actif
En FTP actif, la connexion est initiée depuis le client vers un port de commande sur le serveur. Lorsque le client demande un transfert de fichier, le serveur établit la connexion de données avec le client.
Le flux d'informations dans Active FTP se produit comme suit :
- Le client se connecte depuis un port aléatoire (N) au port 21 du serveur (le port pour FTP) et envoie la commande PORT au serveur. Cette commande indique au serveur à quel port se connecter (port N+1).
- Une fois que le serveur reçoit cette commande, il se connecte depuis son port de données (généralement le port 20) au port spécifié par le client (N+1) et commence le transfert de données.
Avantages du FTP actif
- Facilite la configuration du serveur : Active FTP est plus facile à configurer côté serveur car il vous suffit d'ouvrir et d'écouter un seul port (port 21).
Inconvénients du FTP actif
- Problèmes de pare-feu : Les clients derrière un pare-feu rencontrent souvent des problèmes avec Active FTP. En effet, le pare-feu considère la connexion de données initiée par le serveur comme non sollicitée et la bloque.
- Exigences de sécurité : Cela peut constituer un risque de sécurité car le serveur initie la connexion de données avec le client, ce qui pourrait être exploité par un attaquant.
En bref, Active FTP est utile et facile à configurer côté serveur. Cependant, il peut rencontrer des problèmes avec les pare-feu clients et présenter certains risques de sécurité.
Pour ces raisons, de nombreuses organisations choisissent d'utiliser le FTP passif qui, même s'il peut être plus difficile à configurer sur le serveur, présente moins de problèmes avec les pare-feu et offre un meilleur contrôle sur les connexions de données.
Active FTP est généralement utilisé dans les scénarios suivants
Serveurs avec des restrictions strictes de pare-feu : Si le serveur FTP est derrière un pare-feu avec des politiques de sécurité strictes qui limitent les ports pouvant être utilisés pour les connexions entrantes, Active FTP pourrait être une option viable puisqu'il lui suffit d'ouvrir et d'écouter le port 21.
Limitations des ressources du serveur : Dans Active FTP, le serveur n'a besoin d'ouvrir et d'écouter qu'un seul port pour toutes les connexions de données. Cela peut être bénéfique si le serveur dispose de ressources limitées et ne peut pas gérer l'ouverture de plusieurs ports comme requis dans le FTP passif.
Contrôle du réseau : Certains administrateurs réseau peuvent préférer Active FTP car il permet un meilleur contrôle sur les connexions de données. Dans Active FTP, le serveur initie la connexion de données, ce qui signifie que les administrateurs peuvent avoir un meilleur contrôle sur les transferts de données.
FTP passif
Passive FTP a été conçu pour surmonter les problèmes de pare-feu et de routeurs dans la connexion de données Active FTP. Contrairement au FTP actif, dans le FTP passif, c'est le client qui initie les deux connexions (la connexion de commande et la connexion de données) avec le serveur.
Le flux d’informations dans Passive FTP est le suivant :
- Le client se connecte depuis un port aléatoire (N) au port 21 du serveur (le port pour FTP) et envoie le Commande PASV au serveur. Cette commande indique au serveur qu'il est en mode passif et attend une réponse du serveur disposant d'un port pour la connexion de données.
- Le serveur répond du port 21 au port N du client, en fournissant un port non privilégié (supérieur à 1023) pour recevoir la connexion de données.
- Le client initie ensuite la deuxième connexion depuis un autre port aléatoire (N+1) vers ce port non privilégié spécifié par le serveur. Une fois cette connexion établie, le transfert de données commence.
Avantages du FTP passif
- Surmonter les problèmes liés aux pare-feu et aux routeurs : Les pare-feu et les routeurs autorisent généralement les connexions initiées par le client, de sorte que le FTP passif ne présente généralement pas les problèmes de pare-feu qui surviennent avec le FTP actif.
- Sécurité renforcée: Étant donné que le client initie toutes les connexions, il existe moins de risques d'attaques de la part du serveur.
Inconvénients du FTP passif
- Configuration de serveur plus complexe : En FTP passif, le serveur doit être capable de fournir et d'ouvrir plusieurs ports non privilégiés pour les connexions de données, ce qui peut être plus difficile à configurer et à gérer qu'en FTP actif.
- Augmentation de la charge sur le serveur : Comme le serveur doit gérer plusieurs connexions initiées par le client, il peut nécessiter plus de ressources serveur.
En conclusion, Passive FTP apporte une solution aux problèmes de pare-feu qui surviennent souvent avec Active FTP et peut également améliorer la sécurité. Cependant, il peut être plus difficile à configurer sur le serveur et nécessiter davantage de ressources serveur.
Le FTP passif est généralement utilisé dans les scénarios suivants
Clients derrière un pare-feu : Le FTP passif est utile lorsque le client se trouve derrière un pare-feu qui n'autorise pas les connexions entrantes. Dans le FTP passif, c'est le client qui initie toutes les connexions, les pare-feu autorisent donc généralement ces connexions.
NAT (traduction d'adresses réseau) : Si le client se trouve derrière un NAT, il peut avoir des problèmes avec Active FTP car le NAT peut ne pas savoir comment gérer la connexion de données initiée par le serveur. Le FTP passif peut éviter ce problème car toutes les connexions sont initiées par le client.
Sécurité: Certaines organisations peuvent préférer le FTP passif pour des raisons de sécurité. Puisque toutes les connexions sont initiées par le client, il y a moins de risques d'attaques de la part du serveur.
Transmission de données à grande échelle : Le FTP passif peut gérer un grand nombre de transferts de données simultanés, puisque chaque transfert possède sa propre connexion de données. Cela peut être bénéfique dans les scénarios où de nombreux transferts de données simultanés sont nécessaires.
Exemples de configuration sur un périphérique Cisco
Configuration pour FTP actif
Dans ce cas, vous avez défini l'interface à partir de laquelle le routeur initie les connexions FTP et vous avez spécifié le nom d'utilisateur et le mot de passe à utiliser pour les connexions FTP.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
Configuration FTP passive
La commande 'ip ftp passive' configure le routeur pour utiliser le FTP passif au lieu du FTP actif. Le nom d'utilisateur et le mot de passe pour les connexions FTP peuvent être configurés de la même manière que pour Active FTP.
Router(config)# ip ftp passive
Exemples de configuration sur un appareil MikroTik
Configuration pour FTP actif
Cette commande « fetch » lance un transfert de fichier du routeur MikroTik (client) vers le serveur FTP. Le mode par défaut est FTP actif.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
Configuration FTP passive
En ajoutant l'option 'passive: yes', la commande 'fetch' utilisera Passive FTP au lieu d'Active FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
Tableau comparatif des modes de connexion FTP Actif et FTP Passif
FTP actif | FTP passif | |
---|---|---|
Avantages | 1. Configuration plus simple sur le serveur : un seul port doit être ouvert et écouté. | 1. Moins de problèmes avec les pare-feu et le NAT car le client initie toutes les connexions. |
2. Faible demande en ressources du serveur : le serveur n'a besoin d'ouvrir et d'écouter qu'un seul port. | 2. Améliore la sécurité puisque toutes les connexions sont initiées par le client. | |
3. Meilleur contrôle du réseau : le serveur initie les connexions de données. | 3. Il peut gérer un grand nombre de transferts de données simultanés car chaque transfert possède sa propre connexion de données. | |
Inconvénients | 1. Problèmes avec les pare-feu et le NAT côté client : ils peuvent bloquer la connexion de données initiée par le serveur. | 1. Configuration plus complexe sur le serveur : plusieurs ports doivent être fournis et ouverts. |
2. Risques de sécurité possibles : Le serveur initie la connexion de données avec le client. | 2. Demande accrue de ressources du serveur : le serveur doit gérer plusieurs connexions initiées par le client. |