Création et Configuration de sites FTP dans Windows Server 2003
Dans un article précédent, nous avons vu qu’Internet Information Services 6 (IIS 6) est une plate-forme puissante pour la création et l’hébergement de sites Web pour Internet et les intranets d’entreprise. IIS 6 est également également utile pour la configuration de sites FTP pour un usage public ou professionnel, et dans cet article, nous allons parcourir le processus de création et de configuration de sites FTP à l’aide de l’interface graphique (Gestionnaire IIS) et des scripts inclus dans Windows Server 2003. Les tâches spécifiques que nous allons parcourir dans cet article sont:
- Création d’un Site FTP
- Contrôle de l’Accès à un Site FTP
- Configuration de la Journalisation du Site FTP
- Arrêt et démarrage des Sites FTP
- Mise en œuvre de l’Isolation des utilisateurs FTP
Par souci d »intérêt, nous allons à nouveau expliquer ces tâches dans le contexte d »une société fictive appelée TestCorp alors qu »elle déploie des sites FTP pour son intranet d »entreprise et pour les utilisateurs anonymes sur Internet.
Étapes préliminaires
Comme mentionné dans l’article précédent, IIS n’est pas installé par défaut lors d’une installation standard de Windows Server 2003, et si vous avez installé IIS en utilisant Manage Your Server comme décrit dans l’article précédent, cela installe le service WWW mais pas le service FTP. Donc, avant de pouvoir créer des sites FTP, nous devons d’abord installer le service FTP sur notre machine IIS. Pour ce faire, nous devons ajouter un composant supplémentaire au rôle de serveur d’applications que nous avons attribué à notre machine lorsque nous avons utilisé Gérer votre serveur pour installer IIS.
Commencez par ouvrir Ajouter ou Supprimer des programmes dans le Panneau de configuration et sélectionnez Ajouter/Supprimer des composants Windows. Cochez ensuite la case pour le serveur d’applications:
Cliquez sur Détails et cochez la case Services d’information Internet (IIS):
Cliquez sur Détails et cochez la case pour les services FTP (File Transfer Protocol).
Cliquez deux fois sur OK, puis sur Suivant pour installer le service FTP. Lors de l’installation, vous devrez insérer votre CD de produit Windows Server 2003 ou accéder à un point de distribution réseau où se trouvent les fichiers d’installation de Windows Server 2003. Cliquez sur Terminer lorsque l’assistant est terminé.
Créer un site FTP
Comme pour les sites Web, l’approche la plus simple pour identifier chaque site FTP sur votre machine consiste à attribuer à chacun d’eux une adresse IP distincte, disons donc que notre serveur a trois adresses IP (172.16.11.210, 172.16.11.211 et 172.16.11.212) qui lui sont attribuées. Notre première tâche sera de créer un nouveau site FTP pour le service des ressources humaines, mais avant de le faire, examinons d’abord le site FTP par défaut créé lorsque nous avons installé le service FTP sur notre machine. Ouvrez le Gestionnaire IIS dans les Outils d’administration, sélectionnez Sites FTP dans l’arborescence de la console, puis cliquez avec le bouton droit sur Site FTP par défaut et sélectionnez Propriétés:
Tout comme le Site Web par défaut, l’adresse IP du Site FTP par défaut est définie sur All Unassigned. Cela signifie que toute adresse IP non spécifiquement attribuée à un autre site FTP sur la machine ouvre le site FTP par défaut à la place, donc en ce moment, l’ouverture soit ftp://172.16.11.210 , ftp://172.16.11.211 ou ftp://172.16.11.212 dans Internet Explorer affichera le contenu du site FTP par défaut.
Attribuons l’adresse IP 172.16.11.210 pour le site FTP des ressources humaines et faisons D:\HR le dossier où se trouve son contenu. Pour créer le nouveau site FTP, cliquez avec le bouton droit sur le nœud Sites FTP et sélectionnez Nouveau site FTP –>. Cela démarre l’Assistant de création de site FTP. Cliquez sur Suivant et saisissez une description du site:
Cliquez sur Suivant et spécifiez 172.16.11.210 comme adresse IP du nouveau site:
Cliquez sur Suivant et sélectionnez Ne pas isoler les utilisateurs, car il s’agira d’un site auquel tout le monde (y compris les utilisateurs invités) sera libre d’accéder:
Cliquez sur Suivant et spécifiez C:\HR comme emplacement du répertoire racine du site:
Cliquez sur Suivant et laissez les autorisations d’accès définies en lecture seule car ce site ne sera utilisé que pour télécharger des formulaires pour les employés actuels et potentiels:
Cliquez sur Suivant, puis sur Terminer pour terminer l’assistant. Le nouveau site FTP des ressources humaines peut maintenant être vu dans le gestionnaire IIS sous le nœud Sites FTP:
Pour afficher le contenu de ce site, accédez à un bureau Windows XP sur le même réseau et ouvrez l’URL ftp://172.16.11.210 utilisation d’Internet Explorer:
Notez dans la barre d’état en bas de la fenêtre IE que vous êtes connecté en tant qu’utilisateur anonyme. Pour afficher tous les utilisateurs actuellement connectés au site FTP des Ressources humaines, cliquez avec le bouton droit sur le site dans le Gestionnaire de services Internet et sélectionnez Propriétés, puis dans l’onglet Site FTP, cliquez sur le bouton Sessions en cours pour ouvrir la boîte de dialogue Sessions utilisateur FTP:
Notez que les utilisateurs anonymes utilisant IE sont affichés sous IEUser@ sous Utilisateurs connectés.
Créons maintenant un autre site FTP en utilisant un script au lieu de l’interface graphique. Nous allons créer un site appelé Aide et support avec le répertoire racine C:\Support et adresse IP 172.16.11.211:
Voici le résultat de l’exécution du script:
Le script que nous avons utilisé ici est Iisftp.vbs, qui aiment Iisweb.vbs et Iisvdir.vbs dont nous avons discuté dans l’article précédent est l’un des nombreux scripts d’administration IIS disponibles lorsque vous installez IIS sur Windows Server 2003. Une syntaxe complète pour ce script peut être trouvée ici. Une fois que vous avez créé un nouveau site FTP à l’aide de ce script, vous pouvez configurer le site à l’aide du gestionnaire IIS de la manière habituelle.
Remarque: À ce stade, vous pouvez ajouter une structure à votre site FTP en créant des répertoires virtuels, et cela se fait de la même manière que celle décrite dans l’article précédent pour travailler avec des sites Web.
Contrôle de l’accès à un site FTP
Tout comme pour les sites Web, il existe quatre façons de contrôler l’accès aux sites FTP sur IIS : autorisations NTFS, autorisations IIS, restrictions d’adresse IP et méthode d’authentification. Les autorisations NTFS sont toujours votre première ligne de défense, mais nous ne pouvons pas les couvrir en détail ici. Les autorisations IIS sont spécifiées dans l’onglet Répertoire personnel de la feuille de propriétés de votre site FTP:
Notez que les autorisations d’accès pour les sites FTP sont beaucoup plus simples (lecture et écriture uniquement) que pour les sites Web, et par défaut, seule l’autorisation de lecture est activée, ce qui permet aux utilisateurs de télécharger des fichiers à partir de votre site FTP. Si vous autorisez l’accès en écriture, les utilisateurs pourront également télécharger des fichiers sur le site. Et bien sûr, les autorisations d’accès et les autorisations NTFS se combinent de la même manière pour les sites Web.
Comme les sites Web, les restrictions d’adresse IP peuvent être utilisées pour autoriser ou refuser l’accès à votre site par des clients qui ont une adresse IP spécifique, une adresse IP dans une plage d’adresses ou un nom DNS spécifique. Ces restrictions sont configurées dans l’onglet Sécurité de l’annuaire tout comme elles le sont pour les sites Web, et cela a été couvert dans l’article précédent, nous n’en discuterons donc pas plus loin ici.
Les sites FTP ont également moins d’options d’authentification que les sites Web, comme on peut le voir en sélectionnant l’onglet Comptes de sécurité:
Par défaut, Autoriser les connexions anonymes est sélectionné, ce qui est très bien pour les sites FTP publics sur Internet, mais pour les sites FTP privés sur un intranet d’entreprise, vous voudrez peut-être décocher cette case pour empêcher l’accès anonyme à votre site. En désactivant cette case, votre site FTP utilise plutôt l’authentification de base et les utilisateurs qui tentent d’accéder au site se voient présenter une boîte de dialogue d’authentification:
Notez que l’authentification de base transmet les informations d’identification de l’utilisateur sur le réseau en texte clair, ce qui signifie que les sites FTP sont intrinsèquement non sécurisés (ils ne prennent pas en charge l’authentification intégrée Windows). Donc, si vous allez déployer un site FTP privé sur votre réseau interne, assurez-vous de fermer les ports 20 et 21 de votre pare-feu pour bloquer le trafic FTP entrant des utilisateurs externes sur Internet.
Configuration du Site FTP de Journalisation
Comme avec les sites web, le format d’enregistrement par défaut pour les sites FTP est le W3C Format de Fichier Journal Étendu, et le site FTP de journaux sont stockés dans des dossiers nommés
%SystemRoot%\system32\LogFiles\MSFTPSVCnnnnnnnnnn
où nnnnnnnnnn est le numéro d’identification du site FTP. Et tout comme pour les sites Web, vous pouvez utiliser l’analyseur de journaux Microsoft, qui fait partie des outils du kit de ressources IIS 6.0, pour analyser ces journaux de sites FTP.
Arrêt et démarrage des sites FTP
Si un site FTP devient indisponible, vous devrez peut-être le redémarrer pour le faire fonctionner à nouveau, ce que vous pouvez faire à l’aide du Gestionnaire d’IIS en cliquant avec le bouton droit sur le site FTP et en sélectionnant Arrêter puis Démarrer. À partir de la ligne de commande, vous pouvez taper net stop msftpsvc suivi de net start msftpsvc ou utiliser iisreset pour redémarrer tous les services IIS. N’oubliez pas que le redémarrage d’un site FTP est un dernier recours car tous les utilisateurs actuellement connectés au site seront déconnectés.
Mise en œuvre de l’isolation des utilisateurs FTP
Enfin, concluons en regardant comment implémenter la nouvelle fonctionnalité d’isolation des utilisateurs FTP d’IIS dans Windows Server 2003. Lorsqu’un site FTP utilise cette fonctionnalité, chaque utilisateur accédant au site a un répertoire personnel FTP qui est un sous-répertoire sous le répertoire racine du site FTP, et du point de vue de l’utilisateur, son répertoire personnel FTP semble être le dossier de premier niveau du site. Cela signifie que les utilisateurs sont empêchés de visualiser les fichiers dans les répertoires personnels FTP des autres utilisateurs, ce qui a l’avantage d’assurer la sécurité des fichiers de chaque utilisateur.
Créons un nouveau site FTP appelé Staff qui utilise cette nouvelle fonctionnalité, en utilisant C:\Staff Dossiers comme répertoire racine du site et 172.16.11.212 pour l’adresse IP du site. Démarrez l’Assistant de création de site FTP comme nous l’avons fait précédemment et parcourez-le jusqu’à ce que vous atteigniez la page d’isolation des utilisateurs FTP et sélectionnez l’option Isoler les utilisateurs sur cette page:
Continuez avec l’assistant et assurez-vous de donner aux utilisateurs la permission de lire et d’écrire afin qu’ils puissent télécharger et télécharger des fichiers.
Disons maintenant que vous avez deux utilisateurs, Bob Smith (bsmith) et Mary Jones (mjones) qui ont des comptes dans un domaine dont le nom pré-Windows 2000 est TESTTWO. Pour donner à ces utilisateurs des répertoires personnels FTP sur votre serveur, créez d’abord un sous-dossier nommé \TESTTWO sous les dossiers \Staff (votre répertoire racine FTP). Créez ensuite les sous-dossiers \bsmith et \mjones sous le dossier \Accounts. La structure de votre dossier devrait maintenant ressembler à ceci:
C:\Staff Folders
\TESTTWO
\bsmith
\mjones
Pour tester l’isolation des utilisateurs FTP, mettons un nom de fichier dans le document de Bob.doc dans le sous-dossier \bsmith et le document de Mary.doc dans le sous-dossier \mjones. Maintenant, allez sur un bureau Windows XP et ouvrez Internet Explorer et essayez d’ouvrir ftp://172.16.11.212 , qui est l’URL du site FTP du personnel que nous venons de créer. Lorsque vous faites cela, une boîte de dialogue d’authentification apparaît, et si vous êtes Bob, vous pouvez entrer votre nom d’utilisateur (en utilisant le formulaire DOMAIN\username) et votre mot de passe comme ceci:
Lorsque Bob clique sur le bouton de connexion, le contenu de son répertoire personnel FTP s’affiche:
Notez que lorsque vous créez un nouveau site FTP à l’aide de l’isolation des utilisateurs FTP, vous ne pouvez pas le convertir en un site FTP ordinaire (qui n’a pas l’isolation des utilisateurs FTP activée). De même, un site FTP ordinaire ne peut pas être converti en un seul en utilisant l’isolement de l’utilisateur FTP.
Nous devons encore explorer une option de plus et c’est la troisième option sur la page d’isolation des utilisateurs FTP de l’Assistant de création de site FTP, à savoir Isoler les utilisateurs à l’aide d’Active Directory. Puisque nous n’avons plus d’adresses IP, supprimons d’abord le site d’aide et de support FTP pour libérer 172.16.11.211. Une façon de le faire est d’ouvrir une invite de commande et de taper iisftp / delete « Aide et support » à l’aide de iisftp.script de commande vbs. Ensuite, redémarrez l’Assistant de création de site FTP et sélectionnez la troisième option mentionnée ci-dessus (nous nommerons cette nouvelle gestion de site):
Cliquez sur Suivant et entrez un compte administrateur dans le domaine, le mot de passe de ce compte et le nom complet du domaine:
Cliquez sur Suivant, confirmez le mot de passe et terminez l’assistant de la manière habituelle. Vous remarquerez que vous n’avez pas été invité à spécifier un répertoire racine pour le nouveau site FTP. En effet, lorsque vous utilisez cette approche, le répertoire personnel FTP de chaque utilisateur est défini par deux variables d’environnement: %ftproot% qui définit le répertoire racine et peut être n’importe où, y compris un chemin UNC vers un partage réseau sur une autre machine telle que \\test220\docs, et %ftpdir% qui peut être défini sur %username% de sorte que par exemple le répertoire personnel FTP de Bob Smith serait \\test220\docs\bsmith et ce dossier devrait être créé au préalable pour lui. Vous pouvez définir ces variables d’environnement à l’aide d’un script d’ouverture de session et attribuer le script à l’aide d’une stratégie de groupe, mais cela dépasse le cadre de cet article.
Résumé
Dans cet article, j’ai expliqué comment créer et configurer des sites FTP de différentes manières sur IIS 6. À l’exception de l’isolement des utilisateurs FTP, tout ce que nous avons couvert ici s’applique également à IIS 5 sur Windows 2000. Si vous souhaitez en savoir plus sur IIS 6 et ses capacités, consultez mon livre Administration IIS 6 (Osborne / McGraw-Hill).