Quels ports pour le FTP ? FTP, FTPS et SFTP
FTP utilise le port 21 pour le contrôle et le port 20 pour les données, avec FTPS sur 990. Découvrez les modes actif/passif, pourquoi SFTP est en fait SSH sur le port 22.
FTP paraît simple jusqu'à ce que vous réalisiez qu'il utilise discrètement deux ports à la fois, fonctionne dans deux modes de connexion différents, et possède deux cousins sécurisés sans rapport dont les noms sont presque identiques. Ce guide démêle FTP, FTPS et SFTP, explique les ports que chacun utilise, et vous indique lequel choisir. Chaque port renvoie vers sa fiche ProtocolPorts complète, ou vous pouvez parcourir tous les ports.
Les ports liés à FTP en un coup d'œil
| Port | Protocole / Service | Chiffré ? | Rôle |
|---|---|---|---|
| 21 | Contrôle FTP | Non | Commandes, identification, listage de dossiers |
| 20 | Données FTP | Non | Transfert de fichiers (mode actif) |
| 990 | FTPS (implicite) | TLS | FTP enveloppé dans TLS dès le départ |
| 22 | SFTP / SSH | Niveau TLS | Transfert de fichiers dans SSH (pas FTP) |
FTP utilise deux ports, pas un seul
Le FTP classique répartit son travail sur deux canaux distincts :
- La connexion de contrôle sur le port 21 transporte les commandes, votre identifiant et votre mot de passe, ainsi que les listages de dossiers. Cette connexion reste ouverte pendant toute la session.
- La connexion de données transporte les octets des fichiers et le contenu des listages de dossiers. En mode actif, elle provient du port 20.
Parce que le canal de données est séparé du canal de contrôle, FTP se comporte de façon malcommode à travers les pare-feux et le NAT — c'est là qu'interviennent les modes actif et passif.
Mode actif vs mode passif
La connexion de contrôle est toujours ouverte par le client vers le port 21. La différence porte sur qui ouvre la connexion de données.
En mode actif, le serveur ouvre la connexion de données vers le client depuis le port 20. Cela échoue pour la plupart des clients aujourd'hui, car leur pare-feu ou routeur NAT bloque la connexion entrante depuis le serveur.
En mode passif, le client ouvre la connexion de données vers le serveur sur un port élevé négocié dynamiquement. Le serveur annonce quel port utiliser via le canal de contrôle. Le mode passif est celui que pratiquement tous les clients modernes utilisent, puisque le client initie chaque connexion et que les pare-feux restent satisfaits.
Pourquoi le FTP en clair fuit vos identifiants
Le FTP simple sur le port 21 et le port 20 n'a aucun chiffrement. Votre identifiant et votre mot de passe sont envoyés en clair sur la connexion de contrôle, et chaque fichier traverse le réseau en clair sur la connexion de données. Quiconque peut observer le trafic — sur un Wi-Fi partagé, un routeur compromis ou une liaison en amont — peut capturer votre identification et lire ou altérer les fichiers.
Ce simple fait explique pourquoi le FTP simple doit être considéré comme obsolète pour tout ce qui est sensible.
FTPS : FTP enveloppé dans TLS
FTPS ajoute le chiffrement TLS au FTP classique, et il existe en deux styles :
- Le FTPS implicite suppose TLS dès le premier octet et utilise un port dédié, le port 990. Toute la session est chiffrée immédiatement.
- Le FTPS explicite démarre comme un FTP ordinaire sur le port 21, puis émet une commande
AUTH TLSpour passer la connexion au chiffrement. Il réutilise le port de contrôle standard plutôt qu'un port séparé.
FTPS conserve la conception malcommode à double canal de FTP, il nécessite donc toujours une configuration soigneuse du pare-feu pour les ports de données — mais au moins les identifiants et les fichiers sont protégés.
SFTP, c'est SSH, pas FTP
Voici la partie qui piège tout le monde : SFTP n'est pas FTP avec un S ajouté. SFTP est le SSH File Transfer Protocol, et il fonctionne comme un sous-système à l'intérieur d'une session SSH ordinaire sur le port 22 — le même port que vous utilisez pour l'accès shell distant.
Cela signifie que SFTP :
- Utilise une seule connexion sur un seul port, il traverse donc les pare-feux et le NAT sans les tracas du mode actif/passif.
- Est chiffré et authentifié par SSH, avec prise en charge de l'authentification par clé.
- Ne partage rien avec le protocole FTP au-delà de l'objectif de déplacer des fichiers.
Si quelqu'un dit « utilise SFTP », vérifiez que vous vous connectez au port 22, et non au port 21 ou au port 990.
Que utiliser à la place du FTP simple
Pour presque tous les cas d'usage aujourd'hui, la réponse est SFTP sur le port 22. C'est une seule connexion chiffrée, il prend en charge une authentification robuste par clé, et il évite entièrement les douleurs de pare-feu de FTP. Si vous êtes lié au protocole FTP pour des raisons de compatibilité, utilisez FTPS — implicite sur le port 990 ou explicite sur le port 21 — afin que les identifiants et les données soient chiffrés en transit. Réservez le port 21 et le port 20 en clair uniquement aux téléchargements anonymes, publics et non sensibles.
Conclusion
FTP utilise le port 21 pour le contrôle et le port 20 pour les données, FTPS ajoute TLS sur le port 990, et SFTP est un protocole entièrement différent qui circule sur SSH port 22. En cas de doute, optez pour SFTP, n'envoyez jamais d'identifiants sur du FTP en clair, et recherchez tout port inconnu sur ProtocolPorts.