PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

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

mardi 23 septembre 2014 à 09:30

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 propre 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 via 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 que 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 niveaux 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éfinit 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://admin01@192.168.1.201

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.