Configuration des paramètres de pare-feu FTP dans IIS 7
Auteur : Robert McMurray
Compatibilité
Version | Notes |
---|---|
IIS 7.5 | Le service FTP 7.5 est fourni en tant que fonctionnalité pour IIS 7.5 dans Windows 7 et Windows Server 2008 R2. |
IIS 7.0 | Les services FTP 7.0 et FTP 7.5 ont été expédiés hors bande pour IIS 7.0, ce qui nécessite le téléchargement et l’installation du service à partir de l’URL suivante : https://www.iis.net/download/FTP. |
Introduction
Microsoft a créé un service FTP entièrement réécrit pour Windows Server® 2008. Ce service FTP intègre de nombreuses nouvelles fonctionnalités qui permettent aux auteurs web de publier du contenu mieux qu’auparavant et offre aux administrateurs web davantage d’options de sécurité et de déploiement.
Ce document vous guide tout au long de la configuration des paramètres de pare-feu pour le nouveau serveur FTP.
Prérequis
Les éléments suivants doivent être installés pour effectuer les procédures décrites dans cet article :
IIS 7 doit être installé sur votre serveur Windows 2008, et le gestionnaire d’Internet Information Services (IIS) doit être installé.
Le nouveau service FTP. Vous pouvez télécharger et installer le service FTP à partir du https://www.iis.net/ site web à l’aide de l’un des liens suivants :
- FTP 7.5 pour IIS 7 (x64)
- FTP 7.5 pour IIS 7 (x86)
Vous devez créer un dossier racine pour la publication FTP :
Créez un dossier à l’emplacement
%SystemDrive%\inetpub\ftproot
Définissez les autorisations pour autoriser l’accès anonyme :
Ouvrez une invite de commandes.
Tapez la commande suivante :
ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
Fermez l'invite de commande.
Remarques importantes :
Les paramètres répertoriés dans cette procédure pas à pas spécifient
%SystemDrive%\inetpub\ftproot
comme chemin d’accès à votre site FTP. Vous n’êtes pas obligé d’utiliser ce chemin d’accès ; toutefois, si vous modifiez l’emplacement de votre site, vous devez modifier les chemins d’accès liés au site utilisés tout au long de cette procédure pas à pas.Une fois que vous avez configuré vos paramètres de pare-feu pour le service FTP, vous devez configurer votre logiciel ou matériel de pare-feu pour autoriser les connexions via le pare-feu à votre serveur FTP.
- Si vous utilisez le pare-feu Windows intégré, consultez l’étape 3 (facultative) : Configurer les paramètres du pare-feu Windows de cette procédure pas à pas.
- Si vous utilisez un autre pare-feu, consultez la documentation fournie avec votre logiciel ou matériel de pare-feu.
Utilisez l’Assistant Site FTP pour créer un site FTP avec l’authentification anonyme
Dans cette section, créez un site FTP qui peut être ouvert pour l’accès en lecture seule par les utilisateurs anonymes. Pour cela, utilisez les étapes suivantes :
Accédez au Gestionnaire IIS 7. 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 cliquez 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 nom du site FTP , puis accédez au dossier
%SystemDrive%\inetpub\ftproot
que vous avez créé dans la section Conditions préalables.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.
Aller à la page suivante de l'assistant :
Choisissez une adresse IP pour votre site FTP dans la liste déroulante Adresse IP ou choisissez d’accepter la sélection par défaut de « Tous non attribués. » Étant donné que vous accéderez à distance à ce site FTP, vous devez vous assurer que vous ne limitez pas l’accès au serveur local et vous devez entrer l’adresse IP de bouclage locale pour votre ordinateur en tapant « 127.0.0.1 » dans la zone adresse IP .
Vous devez normalement entrer le port TCP/IP du site FTP dans la zone Port. Pour cette procédure pas à pas, choisissez d’accepter le port par défaut 21.
Pour cette procédure pas à pas, vous n’utilisez pas de nom d’hôte. Vérifiez donc que la zone Hôte virtuel est vide.
Vérifiez que la liste déroulante Certificats est définie sur « Non sélectionné » et que l’option Autoriser SSL est sélectionnée.
Sélectionnez Suivant.
Sur la page suivante de l’assistant :
Sélectionnez Anonyme pour les paramètres d’authentification.
Pour les paramètres d’autorisation, choisissez « Utilisateurs anonymes » dans la liste déroulante Autoriser l’accès. Sélectionnez Lire pour l’option Autorisations.
Cliquez sur Terminer.
Accédez au Gestionnaire IIS 7. Cliquez sur le nœud du site FTP que vous avez créé. Les icônes pour toutes les fonctionnalités FTP affichées.
Résumé
Pour récapituler les éléments que vous avez terminés à cette étape :
- Vous avez créé un nouveau site FTP nommé « Mon nouveau site FTP », avec la racine de contenu du site à l’adresse
%SystemDrive%\inetpub\ftproot
. - Vous avez lié le site FTP à l’adresse de bouclage locale de votre ordinateur sur le port 21, en choisissant de ne pas utiliser SSL (Secure Sockets Layer) pour le site FTP.
- Vous avez créé une règle par défaut pour le site FTP, afin d’autoriser les utilisateurs anonymes à accéder aux fichiers en « lecture ».
Étape 1 : 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 7. 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.
Notes
La plage valide des ports va de 1024 à 65535. (Les ports de 1 à 1023 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, veuillez 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/
) - 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.
Après avoir apporté les modifications de configuration, redémarrez le service FTP Microsoft via
Start
>>Run
services.msc
et localisez le service FTP.
Étape 2 : Configurer l’adresse IPv4 externe pour un site FTP spécifique
Dans cette section, vous allez configurer l’adresse IPv4 externe pour le site FTP spécifique que vous avez créé précédemment. Utiliser les étapes suivantes :
Accédez au Gestionnaire IIS 7. Dans le volet Connexions, cliquez sur le site FTP que vous avez créé précédemment dans l’arborescence, double-cliquez sur l’icône Prise en charge du pare-feu FTP dans la liste des fonctionnalités.
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é
Pour récapituler les éléments que vous avez terminés à cette étape :
- 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.
(Facultatif) Étape 3 : Configurer les paramètres du pare-feu Windows
Windows Server 2008 contient un service de pare-feu intégré pour sécuriser votre serveur contre les menaces réseau. Si vous choisissez d’utiliser le pare-feu Windows intégré, vous devez configurer vos paramètres, afin que le trafic FTP puisse passer par le pare-feu.
Vous devez tenir compte de plusieurs configurations lors de l’utilisation du service FTP avec le pare-feu Windows, que vous utilisiez des connexions FTP actives ou passives, et que vous utilisiez FTP non chiffré ou FTP via SSL (FTPS). Chacune de ces configurations est décrite ci-dessous.
Remarque
Vous devez vous assurer que vous suivez les étapes décrites dans cette section lors de la connexion en tant qu’administrateur. Pour ce faire, vous pouvez procéder de l’une des façons suivantes :
- Connectez-vous à votre serveur à l’aide du compte réel nommé « Administrateur ».
- Connexion à l’aide d’un compte disposant de privilèges d’administrateur et ouverture d’une invite de commandes en cliquant avec le bouton droit sur l’élément de menu Invite de commandes situé dans le menu Accessoires pour les programmes Windows et en sélectionnant « Exécuter en tant qu’administrateur ».
L’une des étapes ci-dessus est requise, car le composant de sécurité contrôle de compte d’utilisateur (UAC) dans les systèmes d’exploitation Windows Vista et Windows Server 2008 empêche l’administrateur d’accéder à vos paramètres de pare-feu. Pour plus d'informations sur l'UAC, consultez la documentation suivante :
Remarque
Bien que le pare-feu Windows puisse être configuré à l’aide de l’applet Pare-feu Windows dans le Panneau de configuration Windows, cet utilitaire n’a pas les fonctionnalités requises pour activer toutes les fonctionnalités pour FTP. L’utilitaire Pare-feu Windows avec fonctions avancées de sécurité situé sous Outils administratifs dans le Panneau de configuration Windows Panneau dispose de toutes les fonctionnalités requises pour activer les fonctionnalités FTP, mais à titre de simplicité, cette procédure pas à pas décrit comment utiliser l’utilitaire de ligne de commande Netsh.exe pour configurer le pare-feu Windows.
Utilisation du pare-feu Windows avec le trafic FTP non sécurisé
Pour configurer le pare-feu Windows pour autoriser le trafic FTP non sécurisé, procédez comme suit :
Ouvrez une invite de commandes : cliquez sur Démarrer, puis Tous les programmes, puis Accessoires, puis Invite de commandes.
Pour ouvrir le port 21 sur le pare-feu, tapez la syntaxe suivante, puis appuyez sur Entrée :
netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=21
Pour activer le filtrage FTP avec état qui ouvre dynamiquement les ports pour les connexions de données, tapez la syntaxe suivante, puis appuyez sur Entrée :
netsh advfirewall set global StatefulFtp enable
Remarques importantes :
- Les connexions FTP actives ne seraient pas nécessairement couvertes par les règles ci-dessus ; une connexion sortante à partir du port 20 doit également être activée sur le serveur. En outre, la machine cliente FTP doit avoir sa propre configuration d’exceptions de pare-feu pour le trafic entrant.
- FTP sur SSL (FTPS) ne sera pas couvert par ces règles ; la négociation SSL échouera probablement, car le filtre de pare-feu Windows pour l’inspection FTP avec état ne pourra pas analyser les données chiffrées. (Certains filtres de pare-feu tiers reconnaissent le début de la négociation SSL, par exemple les commandes AUTH SSL ou AUTH TLS et retournent une erreur pour empêcher le démarrage de la négociation SSL.)
Utilisation du pare-feu Windows avec le trafic FTP sur SSL (FTPS) sécurisé
L’inspection des paquets FTP avec état dans le pare-feu Windows empêchera probablement SSL de fonctionner, car le filtre de pare-feu Windows pour l’inspection FTP avec état ne pourra pas analyser le trafic chiffré qui établirait la connexion de données. En raison de ce comportement, vous devrez configurer vos paramètres de pare-feu Windows pour FTP différemment si vous envisagez d’utiliser FTP sur SSL (FTPS). Le moyen le plus simple de configurer le pare-feu Windows pour autoriser le trafic FTPS consiste à répertorier le service FTP dans la liste des exceptions entrantes. Le nom complet du service est « Service FTP Microsoft », et le nom du service court est « ftpsvc ». (Le service FTP est hébergé dans un hôte de processus de service générique (Svchost.exe) de sorte qu’il n’est pas possible de le placer dans la liste d’exceptions par le biais d’une exception de programme.)
Pour configurer le pare-feu Windows pour autoriser le trafic FTP sur SSL (FTPS), procédez comme suit :
Ouvrez une invite de commandes : cliquez sur Démarrer, puis Tous les programmes, puis Accessoires, puis Invite de commandes.
Pour configurer le pare-feu pour autoriser le service FTP à écouter sur tous les ports qu’il ouvre, tapez la syntaxe suivante, puis appuyez sur Entrée :
netsh advfirewall firewall add rule name="FTP for IIS7" service=ftpsvc action=allow protocol=TCP dir=in
Pour désactiver le filtrage FTP avec état, afin que le pare-feu Windows ne bloque pas le trafic FTP, tapez la syntaxe suivante, puis appuyez sur Entrée :
netsh advfirewall set global StatefulFtp disable
Informations supplémentaires sur l’utilisation des pare-feu
Il est souvent difficile de créer des règles de pare-feu pour que le serveur FTP fonctionne correctement, et la cause racine de ce défi réside dans l’architecture du protocole FTP. Chaque client FTP nécessite deux connexions entre le client et le serveur :
- Les commandes FTP sont transférées via une connexion principale appelée Canal de contrôle, qui est généralement le port FTP 21 bien connu.
- Les transferts de données FTP, tels que les listes de répertoires ou le chargement/téléchargement de fichiers, nécessitent une connexion secondaire appelée Canal de données.
L’ouverture du port 21 dans un pare-feu est une tâche facile, mais cela signifie qu’un client FTP ne pourra envoyer que des commandes, et non transférer des données. Cela signifie que le client sera en mesure d’utiliser le canal de contrôle pour s’authentifier et créer ou supprimer des répertoires, mais que le client ne pourra pas voir les listes de répertoires ou être en mesure de charger/télécharger des fichiers. Cela est dû au fait que les connexions de données pour le serveur FTP ne sont pas autorisées à passer par le pare-feu tant que le canal de données n’a pas été autorisé via le pare-feu.
Remarque
Cela peut sembler déroutant pour un client FTP, car le client semble être en mesure de se connecter correctement au serveur, mais la connexion peut sembler expirer ou arrêter de répondre lors de la tentative de récupération d’une liste de répertoire à partir du serveur.
Les défis liés à l’utilisation de FTP et de pare-feux ne se limitent pas à l’exigence d’une connexion de données secondaire ; pour compliquer encore davantage les choses, il y a en réalité deux façons différentes d’établir une connexion de données :
- Connexions de données actives : dans une connexion de données active, un client FTP configure un port pour l’écoute du canal de données et le serveur lance une connexion au port ; il s’agit généralement du port 20 du serveur. Les connexions de données actives sont le moyen par défaut de se connecter au serveur FTP ; toutefois, les connexions de données actives ne sont plus recommandées, car elles ne fonctionnent pas correctement dans les scénarios Internet.
- Connexions de données passive : dans une connexion de données passive, un serveur FTP configure un port pour l’écoute du canal de données et le client lance une connexion au port. Les connexions passives fonctionnent beaucoup mieux dans les scénarios Internet et recommandées par RFC 1579 (FTP convivial avec pare-feu).
Remarque
Certains clients FTP nécessitent une action explicite pour activer les connexions passives, et certains clients ne prennent même pas en charge les connexions passives. (L’un de ces exemples est l’utilitaire de ligne de commande Ftp.exe fourni avec Windows.) Pour ajouter à la confusion, certains clients tentent d’alterner intelligemment entre les deux modes lorsque des erreurs réseau se produisent, mais malheureusement cela ne fonctionne pas toujours.
Certains pare-feu tentent de résoudre les problèmes liés aux connexions de données avec des filtres intégrés qui analysent le trafic FTP et autorisent dynamiquement les connexions de données via le pare-feu. Ces filtres de pare-feu peuvent détecter les ports qui seront utilisés pour les transferts de données et les ouvrir temporairement sur le pare-feu, afin que les clients puissent ouvrir des connexions de données. (Certains pare-feu peuvent activer le filtrage du trafic FTP par défaut, mais ce n’est pas toujours le cas.) Ce type de filtrage est appelé type d’inspection des paquets avec état (SPI) ou inspection avec état, ce qui signifie que le pare-feu est capable de déterminer intelligemment le type de trafic et de choisir dynamiquement comment répondre. De nombreux pare-feu utilisent désormais ces fonctionnalités, notamment le pare-feu Windows intégré.