(s)FTP avec IIS 7 sur Windows 2008
Auteur : Sébastien Fichot
Date de pulication : 15 May 2010
Article consulté 4123 fois

(2 votes)
Microsoft FTP Publishing Service 7.5 for IIS 7.0 sur Windows Server 2008
Téléchargez d'abord le MSI d’installation (x64 - x86)
Le service FTP géré avec IIS 7 n’est pas compatible avec le service FTP géré avec IIS 6. Il faut donc d’abord désinstaller ce dernier si vous l’avez installé.
Rendez-vous dans le Gestionnaire de serveur, puis Rôles, Supprimer un rôle, et décocher la branche FTP. Vous devrez redémarrer puis confirmer la suppression après redémarrage.
Lancez ensuite l’installeur MSI pour Microsoft FTP Publishing Service 7.5 for IIS 7.0.
Les étapes de l’installation sont basiques (cliquez Next, Next, Install, Finish.)
Si vous souhaitez utiliser SSL, créez un certificat dans IIS 7 (Self-signed) ou créez une demande de certificat (certificate request) si vous utilisez un provider SSL tiers (recommandé si vous voulez un véritable SSL sécurisé).
Créer le site FTP
Ouvrez IIS7, click-droit sur votre hôte et cliquez sur «Add FTP Site ...». Nommez votre serveur FTP, et choisissez un emplacement root.
Sur la page suivante, cochez «Require SSL» si vous utilisez SSL. Sinon (et c’est mon cas), «No SSL».
Choisissez l’IP sur laquelle le FTP répondra, ainsi que le port. Dans mon cas, je change constamment le port FTP car cela complique un peu plus la tâche d’un éventuel hacker, et cela permet de rester invisible aux «Anonymous FTP crawler». Vous pouvez aussi ajouter une URL (par exemple : ftp.monsite.com).
Sur la page suivante, il s’agit de définir les droits d’accès. Vous pouvez construire des accès anonymes, des accès par groupe, ou des accès spécifiques pour des comptes utilisateur Windows. Dans mon cas, il s’agit uniquement d’un accès privé, donc je choisis «Specified users» et j’ajoute le nom de mon utilisateur dans la zone de texte (Ex: Administrateur, Backup_account, ou ce que l’on souhaite.), sur un mode d’authentification «Basic». Notons que l’utilisateur doit disposer des droits NTFS sur le dossier en accord avec son compte FTP. Par exemple, l’utilisateur Administrateur devra avoir les droits Lire et Ecrire sur le dossier root .... mais si vous lisez cela, vous avez sûrement une idée de l’importance de droits bien définis.
Suite à cet assistant de création FTP IIS 7, vous arrivez sur l’administration FTP IIS 7. C’est plus clair qu’IIS 6 mais c’est en Anglais.
Si vous êtes derrière un Firewall matériel, il faut autoriser les connexions passives transmises par le Firewall, sélectionnez la branche portant le nom du serveur, descendez jusqu’à la section FTP, puis ouvrez «FTP Firewall support». Enfin, configurez votre Firewall en autorisant les connexions passives sur les ports spécifiés. (Le port-range «0-0» active mode «dynamic passive port range»)
Si vous utilisez le Firewall Windows, exécutez la commande suivante (Démarrer > Exécuter > cmd) pour ouvrir les ports menant au FTP :
netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=21
Pour autoriser l’application à ouvrir des ports pour le mode passif (recommandé), la commande est la suivante :
netsh advfirewall set global StatefulFtp enable
Remplacez bien entendu «Localport» par votre port de connexion bien à vous. (Note : Je n’ai pas réussi pour le moment à activer la connexion FTP sur un autre port que 21. Si vous y parvenez, pouvez-vous indiquer comment vous avez fait ?)
Si vous utilisez SSL, la commande est la suivante :
netsh advfirewall firewall add rule name="sFTP pour IIS7" service=ftpsvc action=allow protocol=TCP dir=in
Les informations officielles se trouvent sur ce site.
Vous pouvez créer un certificat SSL auto-signé si aucun organisme ne vous en fournit un. La configuration spéciale dans ce cas se trouve sur cette page ci.
Dès que le port est ouvert en TCP, vous devriez pouvoir vous connecter avec votre client FTP.