Configurer le serveur FTP IIS Windows

Nous allons voir ici comment configurer le serveur FTP de Windows IIS. Si l’on souhaite configurer un serveur FTP avec les moyens embarqués de Windows, les services d’information Internet (IIS), cela peut vite devenir un pain dans le cul pour quiconque n’y est pas souvent confronté. La mise en place n’est malheureusement pas aussi intuitive qu’on le pense et de nombreux écueils nous attendent avant d’atteindre le succès escompté. Il peut donc s’écouler des heures, voire plusieurs jours, avant que l’administrateur occasionnel n’ait résolu tous ses problèmes.

Meilleure Vente n° 1
Windows 10 - Coffret de 2 livres : Installation et...
  • Philippe PAIOLA, Olivier Bat, Freddy ELMALEH, Guillaume DESFARGES (Auteur)

Activer les services FTP

Pour commencer, il faut au moins activer la console d’administration IIS et le service FTP sous Windows-Features.
Pour cela, on accède aux fonctionnalités Windows via Panneau de configuration => Programmes et fonctionnalités => Activer ou désactiver les fonctionnalités Windows.
Dans l’arborescence, on va ensuite à Services d’information Internet et on active sous Serveur FTP le Service FTP et sous Outils de gestion Web le Service de gestion IIS et Console de gestion IIS.

windows-features

On ouvre ensuite le gestionnaire des services d’information Internet (IIS), par exemple en cliquant sur Démarrer => Outils d’administration Windows.

Créer un nouveau site FTP

Dans le gestionnaire IIS, on crée ensuite un nouveau site FTP par clic droit dans la fenêtre de gauche sur Sites avec Ajouter un site FTP .

Ajouter un site FTP dans le gestionnaire IIS

Il faut maintenant attribuer un nom de site FTP, qui peut être individuel, et définir le chemin physique sous lequel les documents et fichiers doivent être enregistrés. L’accès FTP depuis l’extérieur se fait ensuite sur ce chemin. Dans l’image d’exemple, le répertoire standard a été choisi pour le serveur web. Mais il est également possible d’utiliser d’autres dossiers physiques. Il est également possible de définir ultérieurement des répertoires virtuels qui renvoient à des chemins en dehors du chemin physique indiqué. Nous ne nous y attarderons pas ici.
Ensuite, on clique sur Suivant.

Saisir les informations du site, nom du site FTP et chemin physique

Paramètres de connexion et SSL

Dans les paramètres de liaison et SSL, il est possible d’effectuer des réglages pour le cryptage, ainsi que d’attribuer des noms d’hôtes concrets ou des adresses IP au service FTP.

L’attribution d’une adresse IP reste vide dans notre cas. Si l’on gère plusieurs sites FTP, il faut attribuer à chacun une adresse IP propre. Selon les besoins, on peut encore modifier le port si le port FTP par défaut est déjà occupé et utilisé ailleurs. Par défaut, il est réglé sur le port 21. On peut utiliser des noms d’hôtes virtuels si l’on travaille avec des noms de domaine dans le réseau interne.
Les noms d’hôtes virtuels ne nous intéressent pas non plus à ce stade. Cela est intéressant dans les grands réseaux, où l’on travaille par exemple avec des noms de domaine (contrôleurs de domaine) ou si l’on veut lier plusieurs serveurs FTP à une adresse IP.
Il faut en tout cas activer Autoriser SSL ou mieux SSL nécessaire, afin que la connexion FTP soit établie de manière cryptée à l’avenir. Pour cela, il faut encore choisir un certificat SSL. Dans notre cas, nous sélectionnons un certificat existant. Le gestionnaire IIS offre également la possibilité de créer son propre certificat (auto-signé). Celui-ci n’est bien sûr pas accepté par tous les clients et des messages d’avertissement correspondants apparaissent. Pour éviter cela, il faut un certificat public d’une autorité de certification (CA) correspondante.

Paramètres de liaison FTP et SSL

Informations d’authentification et d’autorisation

L’étape suivante est celle des informations d’authentification et d’autorisation. Nous laissons ici les paramètres par défaut. Cela sera adapté ultérieurement.
Pour information: Si on laisse Anonyme activé, on peut se connecter avec le nom d’utilisateur Anonymous et l’adresse e-mail comme mot de passe.
Avec Standard, la connexion par nom d’utilisateur et mot de passe est nécessaire sur le serveur FTP. Il est alors possible de définir des groupes d’utilisateurs dédiés (également d’un ActiveDirectory) ou des comptes d’utilisateurs qui peuvent avoir accès.

Informations d'authentification et d'autorisation FTP

Configurer l’utilisateur FTP pour l’accès de l’extérieur.

Pour l’accès de l’extérieur, il doit donc y avoir un utilisateur séparé, connu du système Windows et qui dispose des autorisations correspondantes.
Un utilisateur séparé doit être créé sous Windows. Nous le faisons via la console avec

net user ftpuser2 * /add

Console Net-User-Add

On peut ainsi créer plusieurs comptes différents, par exemple pour attribuer un compte à chaque personne autorisée.
Il faut maintenant encore attribuer au nouveau compte FTP les autorisations correspondantes sur le dossier du site FTP. Cela se fait à nouveau via la console avec

ICACLS c:\inetpub\wwwroot /grant ftpuser :(OI)(CI)(M)

Ou bien on fait clic droit dans le gestionnaire IIS sur le site FTP et on choisit Modifier les autorisations => Sécurité. Il est également possible d’utiliser Windows Explorer clic droit sur le dossier FTP => Propriétés &gt ; Sécurité.

Maintenant, dans le gestionnaire IIS, nous sélectionnons à nouveau notre site FTP et nous allons sous Authentification FTP et nous y désactivons l’authentification anonyme.

Authentification FTP Désactiver l'authentification anonyme

On va ensuite dans Autorisation FTP -&gt ; ajouter une règle d’autorisation et on ajoute l’utilisateur FTP configuré avec les autorisations lecture et écriture.

Ajouter une règle d'autorisation

Autoriser l'autorisation FTPUser lecture et écriture

On pourrait maintenant penser que l’accès depuis un client FTP devrait théoriquement déjà fonctionner depuis son propre réseau. Mais cela ne fonctionnera pas dans la plupart des cas, car il faut soit désactiver le pare-feu Windows sur l’ordinateur sur lequel fonctionne le serveur FTP à des fins de test, soit le configurer en conséquence sur le port défini.
Pour ce faire, on accède au pare-feu Windows via le menu Démarrer ou en utilisant Panneau de configuration->Système et sécurité->Pare-feu Windows. Va dans Paramètres avancés => Règles entrantes -&gt ; Nouvelle règle …=> Port et y libère les ports nécessaires. Comme nous allons le voir, une plage de ports dynamiques doit également être libérée ici à la fin.

Partager les ports du pare-feu Windows

Au plus tard, l’accès avec notre compte d’utilisateur créé devrait fonctionner depuis le réseau local à partir d’un client FTP.
Ce qui ne fonctionnera pas, c’est l’accès depuis l’extérieur du réseau local, par exemple depuis Internet. Pour cela, il faut également configurer les autorisations de port correspondantes sur le pare-feu matériel ou le routeur. La manière de procéder à ces réglages dépend de chaque appareil. Dans le cas de la FRITZ!Box, cela se fait sous Internet => Partages => Partages de ports.

PromoMeilleure Vente n° 1
Qnap TS-433-4G NAS System 4-Bay
  • Qnap TS-433-4G NAS System 4-Bay

Partages de ports FTP passif

Dans la plupart des cas, on configurera un accès FTP passif, car l’accès FTP actif peut poser des problèmes côté client, car lors d’un FTP actif, la connexion au port de données est initiée par le serveur, ce qui est souvent bloqué par des pare-feu côté client.
Si l’on veut configurer le FTP passif, il faut savoir qu’une plage de ports dynamiques est nécessaire à cet effet (>Port 1024). C’est ici que le client établit les deux connexions de port pour la connexion de contrôle et pour la connexion de données. Avec la commande PASSV, le client dit en quelque sorte au serveur qu’il écoute sur le port XXXXX. Pour cela, la plage de ports correspondante doit être activée côté serveur.
Dans le gestionnaire IIS, on sélectionne dans l’arborescence de gauche le nœud supérieur et on choisit ensuite Prise en charge du pare-feu FTP. On saisit ici une plage de ports (>1024) sous Plage de ports du canal de données. La plage de ports définie ici doit également être libérée dans le pare-feu Windows et dans le routeur ou le pare-feu matériel. (Le nœud supérieur doit être sélectionné, car les autorisations de port s’appliquent à tous les sites FTP, si l’on en a plusieurs par exemple)

Remarque: Il convient de vérifier au préalable quels partages de plages de ports le routeur ou le pare-feu matériel autorise. La version actuelle de FRITZ!Box ne permet de partager qu’une plage de 255 ports à la fois.

Définir le support du pare-feu FTP pour la plage de ports des canaux de données

Ça marche ou ça ne marche pas!

Le moment est venu où l’accès FTP depuis l’extérieur via Internet devrait également fonctionner. Et les poils de la nuque se dressent, la tête toute rouge et le pouls à 180, quand, après cette odyssée, ça ne marche toujours pas! C’est le cas pour moi, si bien que la recherche des causes s’est poursuivie, mais il me manquait les prémices d’autres sources d’erreurs Aarrrrgh!

J’ai alors observé les messages et les commandes de mon client FTP, dans mon cas Total Commander. A un moment donné, le message suivant m’est apparu:

227 Entering Passive Mode (188,103,164,96,228,201)

Généralisé : 227 Entering Passive Mode (A,B,C,D,m,n)

Dans l’expression entre parenthèses, j’ai pu identifier les quatre premiers blocs de chiffres comme étant l’adresse IP (188.103.164.96) que j’ai reçue du ISP. Il était donc logique de supposer que les deux blocs de chiffres restants avaient quelque chose à voir avec le port. Cependant, il s’agit d’une notation inhabituelle. Si vous savez dans quelle norme ou directive cette notation est spécifiée, merci de la commenter ici ! En tout cas, le numéro de port peut être calculé à l’aide de m et n ; il s’agit quasiment d’une équation de droite:

Port=256*m+n

Grâce à ce calcul, j’ai pu constater que le port contacté 58.569=256*228+201 se trouvait bien en dehors de la plage de ports autorisés. Comment cela pouvait-il se produire ? Nouvelle perplexité.

La plage de ports dynamique sous Windows

Sous Windows, des valeurs par défaut sont définies pour la plage de ports dynamiques. Dans la console, on peut afficher cette plage de ports avec

netsh int ipv4 show dynamicport tcp

pour l’afficher.

Console netsh int ipv4 show dynamicport tcp

Le résultat montre donc ici une plage de ports de 49152-65536. Le port 58.569 dont il est question se trouve également dans cette plage. Il est difficile de déterminer s’il s’agit d’un bug. Mais si l’on fixe la plage de ports dynamique sur la plage de ports définie dans le serveur FTP IIS, l’accès via Internet depuis l’extérieur fonctionne également. La définition de la nouvelle plage de ports s’effectue également via la console avec :

netsh int ipv4 set dynamicport tcp start=56792 num=255

Après avoir effectué toutes ces étapes, plus rien ne devrait s’opposer à un accès FTP réussi. Cela montre d’une part la puissance du serveur FTP Windows, qui ne laisse rien à désirer pour la plupart des administrateurs, et d’autre part les nombreuses vis de réglage supplémentaires du système Windows, dont on ne sait même plus s’il s’agit déjà d’un bug ou d’une autre fonctionnalité.

Meilleure Vente n° 1
Microsoft Windows 11 Home
  • Aufgeräumt und ruhig. Erreichen Sie mühelos Ihre Ziele dank des überarbeiteten Designs von...
  • Biometrische Anmeldung und fortschrittlicher Schutz vor Viren. So sind Sie umfassend gegen die...
  • Nutzen Sie mit Snap-Layouts Ihre Bildschirmfläche optimal aus
Meilleure Vente n° 2

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *