FTP

Guide des ports FTP : transfert de fichiers sur les ports 20 et 21

Comprenez comment fonctionnent le contrôle FTP et les connexions de données, pourquoi les plages de ports passifs sont importantes et pourquoi SFTP ou FTPS sont généralement plus sûrs pour les nouveaux flux de transfert de fichiers.

Port par défaut
20/21
Protocole
TCP
Usage principal
Transfert de fichiers hérité

Qu'est-ce que le port FTP ?

FTP, ou File Transfer Protocol, est un protocole hérité pour le téléchargement et le téléchargement de fichiers. FTP utilise généralement le port TCP 21 pour la connexion de contrôle. En FTP actif, le port TCP 20 peut être utilisé pour les données du serveur ; en FTP passif, le serveur ouvre une plage de ports de données passive configurée.

  • Le port 21 est le port de contrôle FTP

    Les clients se connectent à TCP 21 pour s'authentifier, répertorier les répertoires, demander des téléchargements, demander des téléchargements et négocier la manière dont la connexion de données sera ouverte.

  • Les ports de données dépendent du mode actif ou passif

    FTP est plus difficile à protéger que les protocoles modernes car les données des fichiers transitent souvent par une connexion distincte des commandes.

Comment fonctionne FTP

FTP sépare les commandes des données de fichiers. Le client se connecte au serveur sur TCP 21, se connecte et envoie des commandes telles que lister, récupérer, stocker, renommer ou supprimer. Les listes de fichiers et les transferts utilisent ensuite une connexion de données distincte.

Cette conception était logique dans les réseaux plus anciens, mais elle crée des problèmes avec le NAT, les pare-feu et les groupes de sécurité cloud. Un vérificateur de port peut indiquer si le port 21 est accessible, mais un transfert de fichier réussi dépend également du canal de données autorisé.

FTP actif vs FTP passif

Dans FTP actif, le client se connecte au port de contrôle du serveur, puis le serveur ouvre une connexion de données au client. Cette connexion inversée échoue souvent via le NAT ou des pare-feu clients stricts.

En FTP passif, le client ouvre à la fois la connexion de contrôle et la connexion de données au serveur. Le mode passif est plus courant pour le FTP accessible sur Internet, mais le serveur doit publier une plage de ports passifs définie et les pare-feu doivent autoriser cette plage.

FTP contre FTPS contre SFTP

Plain FTP ne crypte pas les noms d'utilisateur, les mots de passe, les commandes ou le contenu des fichiers. FTPS ajoute TLS à FTP, mais il conserve toujours le modèle de contrôle FTP et de canal de données. SFTP est différent : il fonctionne sur SSH, généralement sur TCP 22, et n'utilise pas de ports FTP.

Pour les nouveaux déploiements, SFTP est souvent plus simple à utiliser et à utiliser comme pare-feu. FTPS peut être requis pour la compatibilité des partenaires. Le FTP simple doit être limité aux flux de travail existants isolés ou remplacé lorsque cela est possible.

Quand FTP doit être ouvert

Ouvrez FTP uniquement lorsqu'un partenaire, un appareil, une application ou un flux de travail existant ne peut pas utiliser SFTP, FTPS, le téléchargement HTTPS, le stockage d'objets ou un service de transfert de fichiers géré. Les exemples courants incluent les anciens flux EDI, les scanners, les appareils intégrés et les intégrations de fournisseurs.

Évitez le FTP public anonyme à moins qu'il ne serve intentionnellement des fichiers publics et qu'il dispose de contrôles de téléchargement stricts. Le FTP inscriptible exposé à Internet est fréquemment utilisé à des fins de mise en scène de logiciels malveillants, de vol de données et d'utilisation abusive du stockage.

Avant d'ouvrir FTP

Avant d'autoriser FTP, décidez si le serveur utilisera le mode actif, le mode passif ou les deux. Définissez la plage de ports passifs, l'adresse IP externe, le modèle d'isolation des utilisateurs, le comportement chroot ou jail, la journalisation, les quotas et si TLS est requis.

Une vérification TCP sur le port 21 confirme uniquement le chemin de contrôle. Testez les téléchargements réels depuis l'extérieur du réseau, car la plage passive, le NAT, l'inspection TLS et les autorisations du système de fichiers peuvent toujours interrompre les transferts.

Comment activer FTP sur les serveurs Windows, Linux et cloud

Sur Windows Server, IIS FTP peut fournir FTP ou FTPS. Configurez l'isolation des utilisateurs, la politique TLS, la plage de ports passifs, les règles de pare-feu et les paramètres IP externes si le serveur est derrière NAT.

Sous Linux, les serveurs tels que vsftpd, ProFTPD et Pure-FTPd sont courants. Configurez les utilisateurs locaux ou virtuels, le comportement du chroot, la plage de ports passifs, les certificats TLS si vous utilisez FTPS et les règles de pare-feu hôte pour TCP 21 ainsi que les ports de données.

Sur les serveurs cloud, autorisez uniquement les sources requises lorsque cela est possible. Ouvrez TCP 21 et la plage passive dans le groupe de sécurité cloud et le pare-feu hôte. Si vous ne pouvez pas définir une plage passive étroite, FTP sera difficile à sécuriser proprement.

  • Chemin de contrôle : les clients doivent atteindre TCP 21.
  • Chemin de données : FTP passif nécessite une plage de ports passifs côté serveur ; Le FTP actif peut nécessiter des connexions serveur-client.
  • Couche d'identité : utilisez des comptes nommés, le moindre privilège, l'isolation chroot ou utilisateur et des informations d'identification solides.
  • Couche de migration : documentez pourquoi FTP reste et planifiez une transition vers SFTP, FTPS, le téléchargement HTTPS ou le transfert géré.

Comment tester les ports FTP

Commencez par une vérification du port externe pour TCP 21. Si le port de contrôle est ouvert, testez avec un vrai client FTP extérieur au réseau. Confirmez la connexion, la liste des répertoires, le téléchargement, le téléchargement, le renommage et la suppression, le cas échéant.

Si la connexion fonctionne mais que la liste des répertoires ou les transferts se bloquent, inspectez les paramètres du mode passif, la plage de ports passifs, la publicité IP externe, le NAT, les groupes de sécurité cloud et les paramètres TLS. De nombreux échecs FTP sont des échecs du canal de données et non du port 21.

Testez le port 21 pour FTP

Cas courants de dépannage FTP

Si le port 21 est fermé, le service FTP peut être arrêté, lié à une interface privée, bloqué par un pare-feu hôte ou refusé par un groupe de sécurité cloud. Si le port 21 est ouvert mais que les transferts échouent, les ports passifs ou NAT sont les premiers endroits à vérifier.

Si l'authentification échoue, inspectez le format du nom d'utilisateur, la politique de mot de passe, le verrouillage du compte, les autorisations chroot, la propriété du système de fichiers, les exigences TLS et les journaux du serveur. Si seuls certains clients échouent, comparez le mode actif et passif et déterminez si le client est derrière un NAT restrictif.

Liste de contrôle de sécurité pour FTP

Évitez le FTP simple pour les informations d'identification ou les fichiers privés. Utilisez FTPS ou SFTP lorsque cela est possible, désactivez le téléchargement anonyme, restreignez les adresses IP sources, isolez les utilisateurs, définissez des quotas et conservez des journaux de transfert détaillés.

Si FTP doit rester public, corrigez le serveur, limitez les ports passifs, surveillez les échecs de connexion et le volume de téléchargement, analysez les fichiers téléchargés et supprimez les comptes obsolètes. Traitez FTP comme une exception héritée avec un propriétaire et un plan de migration.

Questions fréquentes

Quels ports FTP utilise-t-il ?

FTP utilise le port TCP 21 pour la connexion de contrôle. Le FTP actif peut utiliser TCP 20 pour les connexions de données côté serveur, tandis que le FTP passif utilise une plage de ports passifs configurée côté serveur.

FTP est-il sécurisé ?

FTP simple n'est pas sécurisé car il ne crypte pas les informations d'identification ou le contenu des fichiers. Utilisez SFTP ou FTPS pour les transferts sensibles.

Pourquoi le port FTP 21 est-il ouvert mais les transferts échouent ?

La connexion de contrôle peut fonctionner alors que la connexion de données est bloquée. Vérifiez le mode passif, la plage de ports passifs, le NAT, les paramètres IP externes, les pare-feu et la politique TLS.

SFTP est-il identique à FTP ?

Non. SFTP est un protocole différent qui s'exécute sur SSH, généralement sur TCP 22. FTP utilise le port 21 et des connexions de données distinctes.