Utilisation du protocole FTP sur SSL dans IIS 7
par 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.
L’une des fonctionnalités est FTP sur SSL (Secure Sockets Layer), ce qui permet de chiffrer les sessions entre un client FTP et un serveur. Ce document vous guide tout au long de la procédure : configuration d’un site FTP ; et configuration de ce site pour utiliser SSL avec la nouvelle interface utilisateur FTP, ce qui vous permet de modifier directement les fichiers de configuration IIS 7.0. Il contient :
- Conditions préalables
- FACULTATIF : Création d’un certificat SSL auto-signé
- Création d’un site FTP compatible SSL à l’aide du Gestionnaire IIS 7.0
- Ajout de la publication FTP basée sur SSL en modifiant les fichiers de configuration IIS 7.0
Remarque
Cette procédure pas à pas contient une série d’étapes dans lesquelles vous vous connectez à votre site FTP à l’aide du compte administrateur local. Ces étapes doivent uniquement être suivies sur le serveur lui-même à l’aide de l’adresse de bouclage ou sur SSL à partir d’un serveur distant. Si vous préférez utiliser un compte utilisateur distinct au lieu du compte administrateur, vous devez créer les dossiers appropriés et définir les autorisations appropriées pour ce compte utilisateur si nécessaire.
Prérequis
Les éléments suivants doivent être installés pour effectuer les procédures décrites dans cet article :
IIS 7.0 doit être installé sur votre serveur Windows 2008, et le gestionnaire des services d’information internet 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.0 (x64)
- FTP 7.5 pour IIS 7.0 (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 au groupe administrateurs :
- Ouvrez une invite de commandes.
- Tapez la commande suivante :
ICACLS "%SystemDrive%\inetpub\ftproot" /Grant administrators:F /T
- Fermez l'invite de commande.
Remarque
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.
FACULTATIF : Création d’un certificat SSL auto-signé
Dans cette tâche facultative, vous allez créer un certificat SSL auto-signé que vous allez utiliser pour tester votre site FTP.
Remarque
Si vous configurez un site FTP pour une activité basée sur internet, vous obtiendrez un certificat SSL auprès de l’une des nombreuses autorités de certification, telles que VeriSign, Thawte, DigiCert, etc. Pour plus d’informations, consultez Autorités de certification.
- Ouvrez le gestionnaire des services internet (IIS 7.0).
- Cliquez sur votre ordinateur dans le nœud supérieur de l’arborescence Connexions, puis double-cliquez sur la fonctionnalité Certificats de serveur.
- Dans le volet Actions, cliquez sur Créer un certificat auto-signé.
- Entrez « Mon certificat FTP » comme nom du nouveau certificat, puis cliquez sur OK.
Création d’un site FTP compatible SSL à l’aide du Gestionnaire IIS 7.0
Étape 1 : Utiliser l’Assistant de site FTP pour créer un site FTP basé sur SSL
Dans cette première étape, vous créez un site FTP qui ne peut être ouvert qu’à l’aide de votre compte administrateur.
Accédez au Gestionnaire IIS 7.0. 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 allez utiliser le compte administrateur plus loin dans cette procédure pas à pas, veillez à restreindre l’accès au serveur et à 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 votre certificat SSL. Par exemple, si vous avez suivi l’étape facultative pour créer un certificat auto-signé, la zone déroulante doit indiquer « Mon certificat FTP ».
Vérifiez que l’option Autoriser SSL est sélectionnée.
Sélectionnez Suivant.
Aller à la page suivante de l'assistant :
Sélectionnez Basic pour les paramètres d’authentification.
Pour les paramètres d’autorisation :
- Choisissez « Utilisateurs spécifiés » dans la liste déroulante Autoriser l’accès.
- Tapez « administrateur » pour le nom d’utilisateur.
- Sélectionnez Lecture et Écriture pour l’option Autorisations.
Une fois ces éléments terminés, cliquez sur Terminer.
Résumé
Vous avez créé un nouveau site FTP basé sur SSL à l’aide du nouveau service FTP.
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.
- Vous avez choisi d’exiger SSL (Secure Sockets Layer) pour le site FTP et sélectionné votre certificat SSL.
- Vous avez activé l’authentification de base et créé une règle d’autorisation pour le compte @administrateur local pour l’accès en lecture-écriture.
Étape 2 : Configuration des paramètres FTP SSL supplémentaires
La stratégie SSL pour FTP est personnalisable sur une base site par site. Différents paramètres peuvent être spécifiés pour les canaux de contrôle et de données. Dans cette étape, vous configurez des paramètres SSL supplémentaires pour votre site FTP qui garantissent que toutes les informations d’identification de l’utilisateur sont chiffrées, même si toutes les autres activités FTP ne le sont pas.
Accédez au Gestionnaire IIS 7.0. Cliquez sur le nœud du site FTP que vous avez créé à l’étape 1. Les icônes pour toutes les fonctionnalités FTP affichées.
Pour configurer les options SSL, double-cliquez sur l’icône Paramètres SSL FTP pour ouvrir la page de fonctionnalité des paramètres SSL.
Lorsque la page Paramètres SSL FTP s’affiche, sélectionnez l’option Personnalisée, puis cliquez sur le bouton Avancé.
Lorsque la boîte de dialogue Stratégie SSL avancée s’affiche :
Sélectionnez l’option Exiger uniquement pour les informations d’identification pour le canal de contrôle.
Remarque
Ce paramètre nécessite que tous les noms d’utilisateur et mot de passe soient chiffrés via SSL, mais le client peut choisir de chiffrer toutes les autres activités de canal de contrôle.
Sélectionnez l’option Autoriser pour le canal de données.
Remarque
Ce paramètre permet au client de choisir s’il faut chiffrer une activité de canal de données.
Une fois ces éléments terminés, cliquez sur OK.
Dans la page Paramètres SSL FTP, cliquez sur Appliquer dans le volet Actions pour enregistrer les paramètres SSL.
Résumé
Pour récapituler les éléments que vous avez terminés à cette étape :
- Vous avez configuré la stratégie SSL du canal de contrôle pour exiger que toutes les informations d’identification de l’utilisateur soient chiffrées, et vous avez autorisé les clients FTP à déterminer s’il faut chiffrer toutes les autres activités de canal de contrôle.
- Vous avez configuré la stratégie SSL du canal de données pour permettre aux clients FTP de déterminer s’il faut chiffrer une activité de canal de données.
Connexion à votre site FTP
À l’étape 1, vous avez créé un site FTP accessible par le compte administrateur. À l’étape 2, vous avez configuré la stratégie SSL du canal de contrôle pour exiger que toutes les informations d’identification de l’utilisateur soient chiffrées tout en permettant aux clients FTP de choisir si tous les autres canaux de contrôle et l’activité du canal de données doivent être chiffrés.
Lors de la connexion au serveur FTP à l’aide d’un client FTP compatible SSL, le serveur FTP prend en charge les options de sécurité explicites suivantes :
- TLS-C/TLS : utilisez TLS pour la connexion avec les valeurs par défaut RFC2228. Cela signifie qu’il n’existe aucune protection implicite de la connexion de données.
- TLS-P/SSL : utilisez TLS pour la connexion. Cela signifie que la connexion de données est implicitement protégée.
Ces paramètres peuvent être configurés lors de la spécification des options de connexion SSL dans la plupart des clients FTP tiers.
Ajout de la publication FTP basée sur SSL en modifiant les fichiers de configuration IIS 7.0
Vous pouvez également ajouter une publication FTP basée sur SSL à un site internet existant en modifiant les fichiers de configuration IIS 7.0.
Remarque
La modification de votre fichier applicationHost.config nécessite des autorisations d’administration complètes. Utilisez l’une des deux méthodes suivantes :
- Connectez-vous à votre ordinateur à l’aide du compte « administrateur » local.
Or
- Si vous êtes connecté à l’aide d’un compte disposant d’autorisations d’administration qui n’est pas le compte « administrateur » local, ouvrez le bloc-notes à l’aide de l’option « Exécuter en tant qu’administrateur ».
Remarque
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’accès à votre fichier applicationHost.config. Pour plus d'informations sur le contrôle de compte d'utilisateur, voir Contrôle de compte d’utilisateur.
Les étapes suivantes vous guident tout au long des paramètres requis pour ajouter la publication FTP pour le site internet par défaut.
Étape 1 : Récupérer le hachage de votre certificat SSL :
- Dans la fonctionnalité Certificats de serveur, double-cliquez sur votre certificat SSL. Par exemple, si vous avez suivi l’étape facultative pour créer un certificat auto-signé, vous double-cliquez sur le certificat nommé « Mon certificat FTP ».
- Cliquez sur l’onglet Détails .
- Faites défiler les champs jusqu’à ce que vous localisiez la valeur de l’empreinte numérique.
- Mettez en surbrillance la valeur de l’empreinte numérique, les données s’affichent comme suit :
« 57 68 6F 61 20 44 75 64 65 2C 20 49 49 53 20 52 6F 63 6B 73 » - Copiez les données hexadécimal de la zone de texte et collez-les dans le presse-papiers. Ensuite, ouvrez le bloc-notes Windows et collez les données dans un document vide.
Remarque
Vous utiliserez ces informations ultérieurement.
Étape 2 : Ajoutez FTP à votre site internet par défaut
À l’aide d’un éditeur de texte tel que le bloc-notes Windows, ouvrez votre fichier applicationHost.config, qui se trouve dans votre
%SystemRoot%\System32\inetsrv\config
dossier par défaut.Recherchez la section de votre site internet par défaut. Elle doit ressembler à l’exemple suivant :
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site>
Créez un élément de liaison dans la collection liaisons. Définissez la valeur de l’attribut de protocole sur le nouvel élément de liaison pour contenir « ftp », puis remplacez la valeur de port de l’attribut bindingInformation par « 21 ». Les paramètres de votre site internet par défaut doivent maintenant ressembler à l’exemple suivant :
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> </site>
Ajoutez une section <ftpServer> sous la balise de >liaisons< fermante qui contiendra vos paramètres d’authentification et SSL.
Remarque
Les paramètres d’authentification des sites FTP sont configurés au niveau du site, contrairement à l’authentification pour les sites internet, qui peuvent être configurés par URL.
<ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" userName="IUSR" /> <basicAuthentication enabled="true" /> </authentication> <ssl serverCertHash="" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" /> </security> </ftpServer>
Copiez et collez les données d’empreinte du certificat SSL dans l’attribut serverCertHash de l’élément SSL. Supprimez tous les espaces des données d’empreinte numérique.
Remarque
Si vous ne convertissez pas les données hexadécimal en majuscules, elles ne s’affichent pas ultérieurement dans le Gestionnaire IIS.
Vos paramètres de site internet par défaut doivent maintenant contenir quelque chose comme l’exemple suivant :
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> <ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <basicAuthentication enabled="true" /> </authentication> </security> <ssl serverCertHash="57686F6120447564652C2049495320526F636B73" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" /> </ftpServer> </site>
Faites défiler votre fichier applicationHost.config vers le bas et ajoutez une section d’emplacement pour votre site internet par défaut qui contiendra vos paramètres d’autorisation.
Remarque
Comme illustré dans cet exemple, les paramètres d’autorisation des sites FTP sont configurés par URL.
<location path="Default Web Site"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="administrator" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location>
Enregistrez votre fichier applicationHost.config.
Vous devez maintenant être en mesure de vous connecter à votre site internet par défaut à l’aide d’un client FTP basé sur SSL.
Résumé
Dans cette tâche, vous avez ajouté la publication FTP basée sur SSL à votre site internet par défaut en modifiant les fichiers de configuration IIS 7.0. Pour récapituler les éléments que vous avez terminés dans cette tâche :
- Vous avez ajouté une liaison FTP au site internet par défaut.
- Vous avez activé l’authentification de base FTP et désactivé l’authentification FTP anonyme pour le site internet par défaut.
- Vous avez configuré le site pour exiger SSL pour toutes les activités de canal de contrôle et de canal de données.
- Vous avez configuré le compte d’administrateur pour les autorisations en lecture/écriture pour le site internet par défaut.