Guide pour déployer FTP et publier avec VWD
Le service FTP pour IIS est un composant clé de la plateforme web Windows. Il fournit une solution robuste et sécurisée pour FTP dans un environnement Windows. Les administrateurs d’un environnement d’hébergement partagé peuvent utiliser FTP pour IIS pour permettre à leurs clients de charger et de synchroniser leur contenu. L’article Nouveautés de Microsoft et FTP présente les nouvelles fonctionnalités FTP. Voici les points principaux :
Intégration à IIS :
- Nouveau magasin de configuration basé sur le format *.config XML de .NET
- Nouvel outil d’administration
Sécurité et prise en charge des nouvelles normes Internet :
- FTP sur SSL
- Comptes non-Windows pour l’authentification
- UTF8 et IPv6
Améliorations apportées à l’hébergement partagé :
- Hébergement du contenu FTP et web à partir du même site en ajoutant une liaison FTP à un site web existant
- Prise en charge des noms d’hôtes virtuels, permettant d’héberger plusieurs sites FTP sur la même adresse IP
- Amélioration de l’isolation d’utilisateur par le biais des répertoires virtuels par utilisateur
Amélioration des fonctionnalités de journalisation et de prise en charge :
- La journalisation FTP améliorée inclut tout le trafic lié au FTP, le suivi unique pour les sessions FTP, les sous-états FTP et les champs de détails supplémentaires dans les journaux FTP
- Réponses d’erreur détaillées lors de la connexion locale à un serveur FTP
- Informations détaillées lors de l’utilisation du suivi d’événements pour Windows (ETW), qui fournit des informations supplémentaires de résolution des problèmes
La vidéo suivante fournit une vue d’ensemble et des démonstrations de plusieurs fonctionnalités dans FTP 7.0.
Déploiement de FTP
FTP est l’un des serveurs frontaux dans la configuration d’hébergement partagé.
Cette image met en évidence plusieurs caractéristiques importantes du déploiement FTP dans l’environnement d’hébergement partagé :
- Le service FTP peut partager le même ordinateur que celui utilisé pour les services d’administration à distance (gestion web – WMSVC) et MS Deploy.
- L’ordinateur FTP fait partie de la configuration partagée utilisée par les serveurs de la batterie de serveurs web, ce qui signifie que les composants installés sur cet ordinateur doivent également se trouver sur les serveurs de la batterie de serveurs web. Toutefois, étant donné que la batterie de serveurs web ne sera pas utilisée pour traiter les demandes FTP, les services FTP, de gestion web (WMSVC) et MS Deploy peuvent être arrêtés.
- L’ordinateur FTP n’est pas destiné à héberger des applications web.
- Le routeur de pare-feu accessible sur Internet effectue le réacheminement de port du trafic FTP vers le serveur FTP.
Configuration du déploiement
Le serveur FTP pour IIS a plusieurs fonctionnalités qui le rendent idéal pour les scénarios d’hébergement partagé. Les instructions ci-dessous tirent parti de la nouvelle fonctionnalité d’isolation d’utilisateur FTP. Cette fonctionnalité permet :
- Aux administrateurs de limiter l’accès utilisateur uniquement au répertoire physique ou virtuel défini pour l’utilisateur. Cela correspond à l’implémentation d’un site FTP unique ; ce site contiendra un répertoire physique ou virtuel spécifique pour chaque nom d’utilisateur.
- Aux administrateurs d’activer SSL et d’utiliser un certificat unique pour toutes les connexions lorsqu’elles sont explicitement requises par les utilisateurs.
- Aux utilisateurs de consulter le site FTP comme s’il était uniquement à eux. Lorsqu’ils se connectent au serveur FTP, ils sont limités à leur répertoire spécifique et ne pourront pas monter dans l’arborescence de répertoires.
Étapes
Sélectionnez l’ordinateur FTP et installez le nouveau service FTP pour IIS. Suivez les instructions figurant dans Installation et résolution des problèmes FTP.
Créez un dossier racine à utiliser pour votre site FTP, par exemple :
%*SystemDrive*%\inetpub\ftproot
.En cas d’exigences de haute disponibilité FTP et/ou d’équilibrage de charge, Microsoft fournit des solutions telles que l’équilibrage de la charge réseau ou les clusters de basculement, et le tourniquet (round robin) DNS peut être suffisant.
Créez un site qui autorise les connexions SSL et l’authentification de base. Suivez les étapes décrites dans la section Créer un site avec SSL.
Activez la fonctionnalité d’isolation d’utilisateur. Suivez les étapes de la section Configurer l’isolation utilisateur pour tous les répertoires.
Configurez les paramètres de pare-feu FTP comme décrit dans la section correspondante ci-dessous.
Arrêtez le service d’activation des processus Windows (WAS) :
- À l’invite de commandes, tapez services.msc. Cela affiche la console Services.
- Double-cliquez sur Service d’activation des processus Windows.
- Dans la boîte de dialogue Propriétés du service d’activation des processus Windows, veillez à ce que le type de démarrage de ce service soit défini sur Désactivé. Cliquez sur Arrêter, puis sur OK.
- À l’invite de commandes, tapez services.msc. Cela affiche la console Services.
Créer un site avec SSL
Dans cette section, vous allez créer un nouveau site FTP pouvant être ouvert à l’aide de l’un de vos comptes d’utilisateur.
Accédez au Gestionnaire IIS. Dans le volet Connexions, cliquez sur le nœud Sites dans l’arborescence.
Cliquez avec le bouton droit sur le nœud Sites dans l’arborescence, puis cliquez sur Ajouter un site FTP ou sur Ajouter un site FTP dans le volet Actions.
Lorsque l’Assistant Ajouter un site FTP s’affiche :
Entrez « Mon nouveau site FTP » dans la zone de texte Nom du site FTP, puis accédez au dossier racine que vous avez créé pour votre site FTP (par exemple :
%*SystemDrive*%\inetpub\ftproot
).Remarque
Si vous choisissez de saisir le chemin d’accès à votre dossier de contenu, vous pouvez utiliser des variables d’environnement dans vos chemins d’accès.
Sélectionnez Suivant.
Dans la page suivante de l’Assistant :
- Choisissez une adresse IP pour votre site FTP dans la zone de texte Adresse IP ou choisissez d’accepter la sélection par défaut de « Tous non attribués ». Cet exemple utilise l’adresse IP de bouclage local « 127.0.0.1 ».
- Entrez le port TCP/IP du site FTP dans la zone de texte Port. Cet exemple utilise le port par défaut « 21 ».
- Veillez à ce que la zone de texte Hôte virtuel soit vide. N’utilisez pas de nom d’hôte.
- Veillez à ce que la liste déroulante Certificats soit définie sur le certificat approprié que vous envisagez d’utiliser. Cet exemple utilise un certificat auto-signé appelé « Mon certificat FTP ». Pour obtenir des instructions, consultez Création d’un certificat SSL auto-signé.
- Veillez à ce que l’option Autoriser SSL soit sélectionnée.
- Sélectionnez Suivant.
Dans la page suivante de l’Assistant :
Sélectionnez De base pour les paramètres Authentification.
Pour les paramètres Autorisation :
- Choisissez « Tous les utilisateurs » dans la liste déroulante Autoriser l’accès à.
- Sélectionnez Lecture et Écriture pour l’option Autorisations.
Une fois ces éléments terminés, cliquez sur Terminer.
Résumé
Vous avez maintenant créé un nouveau site FTP basé sur SSL à l’aide du nouveau service FTP. Passez en revue les opérations effectuées dans cette procédure :
- Vous avez créé un nouveau site FTP nommé « Mon nouveau site FTP », qui place la racine du contenu du site dans
%*SystemDrive*%\inetpub\ftproot
. - Vous avez lié le site FTP à l’adresse IP de votre ordinateur sur le port 21.
- Vous avez choisi d’autoriser SSL (Secure Sockets Layer) pour le site FTP et sélectionné votre certificat.
- Vous avez activé l’authentification de base et créé une règle d’autorisation pour tous les comptes d’utilisateur pour l’accès en lecture et en écriture.
Pour modifier directement les fichiers de configuration XML, consultez Ajout d’une publication FTP basée sur SSL en modifiant les fichiers de configuration IIS.
Configurer l’isolation d’utilisateur pour tous les répertoires
Lors de l’isolation des utilisateurs pour tous les répertoires, toutes les sessions utilisateur FTP sont limitées au répertoire physique ou virtuel portant le même nom que le compte d’utilisateur FTP. En outre, tous les répertoires virtuels globaux créés seront ignorés. Dans cette étape, vous allez configurer l’isolation d’utilisateur pour tous les répertoires.
- Créez un dossier dans
%*SystemDrive*%\inetpub\ftproot\LocalUser\
. Ce dossier contiendra tous les répertoires des comptes d’utilisateur locaux. Vous pouvez créer ce dossier sur votre serveur de partage de fichiers (NAS). Lorsque vous provisionnez des comptes d’utilisateur, vous devez également attribuer un accès en lecture et écriture aux dossiers de contenu des utilisateurs. - Dans le Gestionnaire IIS, cliquez sur le nœud du site FTP que vous venez de créer. Cela affichera les icônes pour toutes les fonctionnalités FTP.
- Double-cliquez sur l’icône Isolation d’utilisateur FTP pour ouvrir la fonctionnalité d’isolation d’utilisateur FTP.
- Lorsque la page de fonctionnalité d’isolation d’utilisateur FTP s’affiche, sélectionnez Répertoire des noms d’utilisateurs (désactiver les répertoires virtuels globaux), puis cliquez sur Appliquer dans le volet Actions.
Résumé
Passons en revue les opérations que vous avez effectuées dans cette procédure : vous avez configuré l’isolation d’utilisateur FTP à l’aide de l’option Répertoire des noms d’utilisateurs (désactiver les répertoires virtuels globaux). Lorsque vous utilisez ce mode d’isolation d’utilisateur, toutes les sessions utilisateur FTP sont limitées au répertoire virtuel ou physique portant le même nom que le compte d’utilisateur FTP, et tous les répertoires virtuels globaux créés seront ignorés.
Pour créer des répertoires de base pour chaque utilisateur, vous devez d’abord créer un répertoire virtuel ou physique sous le dossier racine de votre serveur FTP, nommé d’après votre domaine ou nommé LocalUser pour les comptes d’utilisateur locaux. Ensuite, vous devez créer un répertoire virtuel ou physique pour chaque compte d’utilisateur qui accédera à votre site FTP. Le tableau suivant répertorie la syntaxe des répertoires de base pour les fournisseurs d’authentification qui accompagnent le service FTP :
Type de compte d’utilisateur | Syntaxe du répertoire de base physique |
---|---|
Utilisateurs anonymes | %FtpRoot%\LocalUser\Public |
Comptes d’utilisateur Windows locaux (nécessite l’authentification de base) | %FtpRoot%\LocalUser\%UserName% |
Comptes de domaine Windows (nécessite l’authentification de base) | %FtpRoot%\%UserDomain%\%UserName% |
Comptes d’utilisateur d’authentification personnalisés du Gestionnaire IIS ou d’ASP.NET | %FtpRoot%\LocalUser\%UserName% |
Remarque
Dans le tableau ci-dessus, %FtpRoot% est le répertoire racine de votre site FTP ; par exemple, C:\Inetpub\Ftproot
.
Les répertoires virtuels globaux sont ignorés ; les répertoires virtuels configurés au niveau racine de votre site FTP sont inaccessibles aux utilisateurs FTP. Tous les répertoires virtuels doivent être définis explicitement sous le chemin d’accès du répertoire de base physique ou virtuel d’un utilisateur.
Configurer les paramètres du pare-feu FTP
Configurer la plage de ports passifs pour le service FTP
Dans cette section, vous allez configurer la plage de ports au niveau du serveur pour les connexions passives au service FTP. Utiliser les étapes suivantes :
Accédez au Gestionnaire IIS. Dans le volet Connexions, cliquez sur le nœud au niveau du serveur dans l’arborescence.
Double-cliquez sur l’icône Prise en charge du pare-feu FTP dans la liste des fonctionnalités.
Entrez une plage de valeurs pour Plage de ports du canal de données.
Une fois que vous avez entré la plage de ports pour votre service FTP, cliquez sur Appliquer dans le volet Actions pour enregistrer vos paramètres de configuration.
Remarque
La plage valide des ports est comprise entre 1025 et 65535. (Les ports 1 à 1024 sont réservés pour une utilisation par les services système.)
Vous pouvez entrer une plage de ports spéciale de « 0-0 » pour configurer le serveur FTP afin d’utiliser la plage de ports dynamiques TCP/IP de Windows.
Pour plus d’informations, consulter les articles suivants de la Base de connaissances Microsoft :
- 174904 – Informations sur les affectations de ports TCP/IP (
https://support.microsoft.com/kb/174904/ "Information about TCP/IP port assignments"
) - 929851 – La plage de ports dynamiques par défaut pour le protocole TCP/IP a changé dans Windows Vista et dans Windows Server 2008
- 174904 – Informations sur les affectations de ports TCP/IP (
Cette plage de ports doit être ajoutée aux paramètres autorisés pour votre serveur de pare-feu.
Entrez l’adresse IPv4 de l’adresse externe de votre serveur de pare-feu pour le paramètre Adresse IP externe du pare-feu.
Une fois que vous avez entré l’adresse IPv4 externe de votre serveur de pare-feu, cliquez sur Appliquer dans le volet Actions pour enregistrer vos paramètres de configuration.
Résumé
Passez en revue les opérations effectuées dans cette procédure :
- Vous avez configuré la plage de ports passifs pour votre service FTP.
- Vous avez configuré l’adresse IPv4 externe pour un site FTP spécifique.
Pour obtenir des informations sur la configuration du pare-feu Windows Server 2008, consultez (Facultatif) Étape 3 : Configurer les paramètres du Pare-feu Windows. Consultez également Informations supplémentaires sur l’utilisation des pare-feu.
Exemples de noms de serveur FTP
FTP est un service couramment inclus lorsque les hébergeurs provisionnent des comptes pour leurs clients. Les instructions fournies ci-dessus activent le service FTP pour IIS pour les clients, mais le nom du serveur FTP, s’il est simplement basé sur le nom de l’entreprise d’hébergement, peut ressembler à ceci :
ftp.hostingcompany.com Un tel nom peut être suffisamment clair pour tous les utilisateurs ; lorsque les clients l’utilisent pour se connecter à leur répertoire FTP, ils accèdent à leur répertoire et peuvent voir uniquement leurs dossiers. Toutefois, le nom du serveur FTP peut ne pas être aussi attrayant pour les clients qu’un nom de serveur FTP basé sur leur domaine réservé, tel que :
- ftp.customerdomain.com
- customerdomain.com
Si les clients ont leur nom de serveur FTP associé à leur nom de domaine réservé, l’expérience du service FTP sera plus personnalisée et attrayante. Fonctionnellement, elle est identique à l’exemple précédent, mais cette option simplifie l’appellation du domaine pour le client. Pour configurer un nom de serveur FTP personnalisé pour chaque client, vous devez créer des enregistrements DNS appropriés pour le domaine client. Cela nécessite des étapes de provisionnement supplémentaires. Si vous fournissez un nom de serveur FTP personnalisé pour chaque client, vous pouvez également fournir un autre nom de serveur pour empêcher une panne du service FTP lors de la mise à jour des noms de domaine. Un exemple de nom alternatif à fournir avec le nom personnalisé peut ressembler à : ftp.username.hostingcompany.com. Dans un tel cas, les clients recevront deux noms de serveur et pourront se connecter au même répertoire à l’aide de l’un ou de l’autre nom ; par exemple :
- ftp.customerdomain.com (ou customerdomain.com)
- ftp.username.hostingcompany.com
Se connecter à partir de Visual Web Developer
Cet article s’est jusqu’à présent concentré sur la façon de déployer FTP dans un environnement d’hébergement partagé. Cette section décrit comment les clients peuvent tirer parti de Visual Web Developer 2008 (VWD) pour publier leurs applications web à l’aide du service FTP fourni par l’hébergeur. L’exemple suivant part du principe que :
- L’entreprise d’hébergement a provisionné un compte pour un utilisateur nommé « ftpuser1 ».
- L’entreprise d’hébergement a créé le dossier virtuel correspondant « ftproot\LocalUser*ftpuser1* ».
Pour publier du contenu d’application web avec VWD, ftpuser1 effectue les étapes suivantes :
Ftpuser1 ouvre le site web appelé « WebSite1 » dans Visual Web Developer 2008 (VWD).
Ftpuser1 sélectionne Copier le site web dans le menu du site web.
Ftpuser1 clique sur Connecter.
Ftpuser1 entre les valeurs suivantes :
- Le nom du serveur FTP fourni par l’entreprise d’hébergement. Dans l’exemple ci-dessous, l’adresse IP de bouclage est 127.0.0.1.
- Port. Dans l’exemple ci-dessous, la valeur par défaut est le port 21.
- Option Mode passif.
- Option Authentification de base. Ftpuser1 désélectionne Connexion anonyme.
- Nom d’utilisateur : ftpuser1.
- Password.
Ftpuser1 clique ensuite sur Ouvrir.
Le dossier de l’utilisateur ftpuser1 s’affiche dans le volet Site web distant. Dans l’exemple suivant, le volet est vide, car ftpuser1 publie le site web pour la première fois.
Ftpuser1 publie tous les éléments de contenu dans le volet Site web source en sélectionnant tous les fichiers et dossiers, puis en cliquant sur Synchroniser :
- Ftpuser1 clique sur le volet de gauche.
- Ftpuser1 tape Ctrl+A pour sélectionner tous les fichiers.
- Ftpuser1 clique sur Synchroniser (situé entre les deux volets, troisième bouton à partir du haut).
Les fichiers et dossiers sont chargés sur le serveur FTP et stockés dans le répertoire virtuel de l’utilisateur : ftpuser1. (L’utilisateur ignore le contenu des autres utilisateurs sur le même serveur en raison de la restriction d’isolation d’utilisateur.)
Conclusion
Ce guide fournit les informations nécessaires pour installer et configurer un service FTP pour IIS dans un environnement d’hébergement partagé. Il montre également comment les clients peuvent tirer parti de Visual Web Developer pour publier leur contenu dans leur répertoire de site FTP.