15/11/2024

Microsoft IIS

IIS 8.5 : Créer un site FTP avec isolation des utilisateurs

I. Présentation

Sous Windows, il est possible de mettre en place un serveur FTP avec des logiciels tiers comme FileZilla Server, mais aussi grâce à un serveur IIS qui correspond à une fonctionnalité propre à Windows.

L'objectif de ce tutoriel est de mettre en place un site FTP sur un serveur IIS en version 8.5, installé sous Windows Server 2012 R2. De plus, chaque utilisateur devra être isolé dans son répertoire personnel sur le FTP, et, il ne pourra pas accéder (ni voir) les autres répertoires des autres utilisateurs. Cela permet de réduire le champ d'action de chaque utilisateur.

Avant de commencer, assurez-vous d'avoir installé un serveur web IIS fonctionnel sur votre machine, car nous commencerons à partir de l'installation du module FTP sur IIS (installer IIS 8 sous Windows 8).

II. Infrastructure

Avant de commencer la configuration, voici un schéma de l'infrastructure que j'utilise pour la réalisation de ce tutoriel :

iisftpinfra

Le site FTP dans IIS sera nommé "IT-CONNECT-FTP" et permettra l'accès à deux utilisateurs possédant un compte dans le domaine Active Directory : admin01 et technicien01. Chaque utilisateur pourra accéder uniquement à son dossier personnel sur le FTP, d'où l'architecture FTP présentée ci-dessus.

III. Installation du serveur FTP

Commençons par installer le serveur FTP au sein d'IIS. Pour cela, on utilisera PowerShell. Pour visualiser si le serveur FTP est déjà installé ou non, saisissez cette commande :

Get-WindowsFeature | Where{ $_.Name -match "FTP"}

On remarque que la case "Serveur FTP" n'est pas cochée, il faut donc l'installer.

iisftp2

Pour l'installation, on procédera comme ceci :

Install-WindowsFeature -Name Web-Ftp-Server -IncludeAllSubFeature

iisftp3

Pour ceux qui souhaitent le faire l'interface graphique, il faudra ajouter une fonctionnalité et cochez le serveur FTP sous "Serveur Web (IIS)"

iisftp1

La phase d'installation de la fonctionnalité est terminée. Passons à la création des données du site FTP.

IV. Création de l'arborescence FTP

Avant de créer le site FTP, on va créer l'arborescence FTP décrite sur mon schéma d'infrastructure dans la partie précédente. Tout d'abord, accédez à :

C:\inetpub\ftproot

Dans ce répertoire, créez un répertoire portant le nom NETBIOS de votre domaine. Par exemple, dans mon cas il s'agit du domaine "it-connect.fr" donc je crée un répertoire "IT-CONNECT". Ceci est essentiel pour l'isolation.

Ensuite, dans ce répertoire créez un dossier pour chaque utilisateur où le nom de dossier sera le nom de connexion de l'utilisateur. Par exemple, pour l'utilisateur "admin01" créez un dossier nommé "admin01". Placez des données - éventuellement - dans les dossiers de vos utilisateurs (utile pour les tests).

Vous obtiendrez ceci (comme décrit sur l'infrastructure) :

iisftp4

V. Création du site FTP

Passons à la création du site FTP et à sa configuration. Ouvrez le "Gestionnaire des services Internet (IIS)" sur votre serveur FTP. Effectuez un clic droit sur le nom de votre serveur (exemple : SRV01) et cliquez sur "Ajouter un site FTP".

iisftp5

Donnez un nom au site FTP, pour ma part j'indique "IT-Connect-FTP" et comme chemin d'accès physique indiquez "C:\inetpub\ftproot". Continuez.

iisftp6

Ensuite, configurons la liaison, pour l'adresse IP vous pouvez choisir "Toutes non attribuées". Concernant le SSL bien qu'il soit intéressant de le mettre en place pour sécuriser les communications et les échanges client/serveur, choisissez "Pas de SSL", car cela nécessiterait la création d'un certificat via une autorité de certificat (CA). Cliquez sur "Suivant".

iisftp7

Pour l’authentification, choisissez "De base", dans ce cas nous n'autorisons pas les connexions en Anonyme, mais vous pouvez les autoriser. Concernant les autorisations, sélectionnez "Tous les utilisateurs" et donnez les droits de Lecture et Écriture pour que chaque utilisateur puisse travailler dans son répertoire.

Choisir "Tous les utilisateurs" est très flexible, si vous devez définir seulement quelques utilisateurs vous pouvez indiquer explicitement la liste.

iisftp8

Cliquez sur "Terminer" pour finaliser la création du site FTP qui sera directement opérationnel.

VI. Configurer l'isolation des utilisateurs

Point final de la configuration, l'isolation des utilisateurs afin qu'ils soient dirigés directement vers leur répertoire personnel sur le serveur FTP. Pour cela, sélectionnez le site FTP que nous venons de créer dans la console IIS, puis sur la droite double cliquez sur "Isolation d'utilisateur FTP".

iisftp9

Sélectionnez l'option "Répertoire des noms d'utilisateurs (désactiver les répertoires virtuels globaux)" pour qu’un utilisateur soit mappé directement dans le répertoire qui porte son nom. Cliquez sur "Appliquer".

L'option "Répertoire des noms d'utilisateurs (désactiver les répertoires virtuels globaux)" permet d'isoler également les utilisateurs, mais, les répertoires virtuels de plus haut niveau sont actifs et peuvent être accessibles par l'utilisateur s'il dispose des droits nécessaires.

Enfin, l'option "Répertoire de base FTP configuré dans Active Directory" permet de mapper l'utilisateur dans son répertoire FTP défini dans l'Active Directory. Voir au niveau des directives msIIS-FTPRoot et msIIS-FTPDir.

iisftp10

VII. La phase de test

Désormais, notre serveur FTP est fin prêt ! Passons sur la machine cliente afin de simuler un test de connexion. Pour cela, je vais utiliser l'explorateur Windows, mais aussi le client FileZilla.

Dans l'explorateur, j'indique : ftp://[email protected]

On me demande de m'authentifier, suite à cette authentification je serais redirigé vers le répertoire "admin01" du FTP.

iisftp11

Par ailleurs, lors que je tente un accès avec le logiciel FileZilla en utilisant le nom DNS de la machine SRV01, j'accède également au FTP :

iisftp12

On remarque bien la présence de mon fichier, et il m'est impossible de remonter à un niveau supérieur du FTP.

Note : Si un problème d'upload survient, vérifiez les droits NTFS sur le dossier FTP. Donnez les droits en lecture seule ou en lecture/écriture à l'utilisateur concerné au niveau NTFS afin qu'il puisse écrire sur l'espace disque.

Le FTP est opérationnel, les utilisateurs autorisés sont bien mappés chacun dans leur dossier respectif.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

10 commentaires sur “IIS 8.5 : Créer un site FTP avec isolation des utilisateurs

  • Je n’ais pas le Gestionnaire des services Internet (IIS) pouvez-vous m’aidez ?

    Répondre
    • Bonjour,

      Quel est l’OS ? IIS est bien installé ? Il me semble qu’il faut installer les outils de gestion d’IIS pour avoir cette console. Si besoin, merci de créer un nouveau sujet dans notre forum.

      Florian

      Répondre
  • io Florian

    Avec cette solution, Est-ce que l’on peut créer des serveurs ftp sur différent poste PC et assurer une synchro des data ?

    Répondre
    • Bonjour,

      Peux-tu détailler un peu plus ta demande ? Pour cela, je t’invite à utiliser notre forum qui est plus adapté. Merci.

      Florian

      Répondre
  • Bonjour,

    Malgré avoir suivi votre tutoriel à la lettre, je n’obtiens aucune erreur mais incapable de me connecter. Est-ce qu,il y a des droits en particuliers a ajouter aux différents répertoires ?

    Merci!

    Répondre
  • Bonsoir, je n’arrive pas à isoler les utilisateurs. Impossible de connecter plusieurs users.
    Merci de votre aide.

    Répondre
  • Merci Florian! Beaucoup de très bon tuto de ta part!
    A+

    Répondre
  • J’ai une question, mon serveur 2012 R2 est sur AZURE dans le cloud. Je souhaite ouvrir mon FTP vers l’extérieur sur le port 21 (Par le biais d’une NAT)Tout fonctionne sur le port 80 j’accède à ISS depuis l’extérieur mais impossible de me connecter en FTP avec FILEZILLA (Par-feux tous déconnectés pour le test). j’ai fait un netstat -a pour écouter les ports(3389ok normal, 80 ok, test 8080 ok mais 21 rien.
    Un paramétrage à faire pour les IP Public sur le 2012 afin d’autoriser le FTP?

    Répondre
  • Bonjour,
    ayant crée et installé le service ftp qui fonctionne bien avec l’adresse local mais si je veux accéder via no-ip en distance il me demande sans cesse le nom d’utilisateur et mot de pass alors que avec l’adresse local 192.168.1.1 sa fonctionne en rentrant le nom d’utilisateur et mot de pass
    quel est le problème ?

    Répondre
  • Bonjour,

    Pourquoi l’isolation nécessite la création du sous-dossier IT-CONNECT?
    => est-ce parce que vous utilisez des utilisateurs du domaines?
    je demande car j’ai mis en place un serveur ftp pour la machine d’un client qui n’est pas intégrée à domaine.
    Mes comptes sont des comptes locaux, dans ce cas si je crée mes dossiers utilisateurs juste après c:\inetpub\ftproot, est-ce bon (ex: c:\inetpub\ftproot\user1) ?
    Merci 🙂

    Répondre

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.