FTP (File Transfer Protocol) déplace des fichiers entre un client et un serveur. Il reste courant dans les environnements industriels et hérités pour transférer des recettes, des firmwares, des fichiers de configuration et des rapports. Par défaut, c'est un protocole en clair avec une authentification faible ou inexistante, et il utilise plusieurs ports réseau pour le transfert de données. Access Gate médiatise le FTP afin que seuls les bonnes personnes et les bons systèmes atteignent le serveur, et, avec un écran d'accès, seulement après s'être authentifiés.
Ce que vous obtenez
Lorsque vous publiez un asset FTP via une enclave, la gate peut :
- Authentifier l'utilisateur en amont via un écran d'accès avant même que le serveur FTP soit accessible.
- Restreindre l'accès par ACL : seuls les utilisateurs, groupes ou rôles que vous autorisez atteignent le serveur, et uniquement via les ports que vous accordez.
- Gérer la résolution DNS, l'authentification et la journalisation au niveau de la gate, de sorte que le serveur hérité reste inchangé de son côté et que chaque session soit enregistrée.
Configuration
- Ajoutez le serveur FTP en tant qu'asset et définissez son service FTP.
- Créez une enclave et accordez l'accès à l'utilisateur ou au groupe qui en a besoin avec une règle
allow.

Comment le FTP utilise les ports
Le FTP est particulier car une seule session utilise deux connexions distinctes :
1. Connexion de contrôle (port 21), ouverte d'abord par le client. Les commandes (USER, PASS, LIST, RETR, STOR) et leurs réponses y transitent. Cette connexion reste ouverte pendant toute la session.
2. Connexion de données (un second port, distinct), ouverte pour chaque transfert (un listage de répertoire, un envoi ou un téléchargement de fichier). La manière dont ce second port est choisi est négociée et dépend du mode :
- Mode actif : du serveur vers le client. Le client envoie une commande PORT indiquant au serveur le port client auquel se reconnecter.
- Mode passif : du client vers le serveur. Le serveur répond à PASV avec une IP et un port qu'il a ouvert pour ce transfert.
Comme le port de données est dynamique, fixez-le à une plage connue afin que l'enclave puisse autoriser exactement ces ports. Avec vsftpd, par exemple, configurez ceci dans /etc/vsftpd.conf pour fixer le mode passif à une plage précise de 3 ports :
# Passive mode: pin data connection to a precise 3-port range
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30002
Conformément à une approche Zero-Trust, cette configuration de durcissement est recommandée : une plage de ports étroite et connue permet à la gate d'autoriser uniquement les ports nécessaires à un transfert, et rien de plus.
Ajouter l'identité
Dans ce cas, nous avons accordé l'accès au groupe IT, de sorte qu'un utilisateur s'authentifie via un écran d'accès avant que le serveur ne soit accessible. Voir Authentifier les utilisateurs avec les écrans d'accès.

Une fois l'utilisateur authentifié, la connexion est établie, incluant la résolution DNS, l'authentification de l'utilisateur et la journalisation.

Récapitulatif
Vous avez médié un serveur FTP via une enclave, fixé les ports de données du mode passif à une plage connue, et protégé l'accès derrière une identité avec un écran d'accès et une ACL.
Optez pour cette approche lorsqu'un site repose encore sur le FTP pour le transfert de fichiers et que vous avez besoin de contrôle d'accès, d'identité et de journalisation devant un protocole en clair et multi-ports, sans modifier le serveur.