Installation d'un serveur FTP sécurisé sous Windows à l'aide d'IIS
Protocole de transfert de fichiers Microsoft (FTP)Le service intègre des fonctionnalités qui permettent aux auteurs Web de publier du contenu mieux qu'auparavant en permettant à plusieurs utilisateurs d'accéder à leurs répertoires sans accéder aux répertoires des autres utilisateurs. Cela offre aux administrateurs Web davantage d'options de sécurité et de déploiement.
L'une de ces fonctionnalités est connue sous le nom deFTP sur Secure Sockets Layer (SSL) ou FTPS. FTPS permet de chiffrer les sessions entre un client FTP et un serveur. Il s'agit d'une extension du protocole FTP (File Transfer Protocol) couramment utilisé qui ajoute la prise en charge de Transport Layer Security (TLS), anciennement connu sous le nom de Secure Sockets Layer (SSL). FTPS ne doit pas être confondu avec FTP sur SSH, qui consiste à tunneliser FTP via une connexion SSH ; ou SSH File Transfer Protocol (SFTP), un sous-système de transfert de fichiers sécurisé pour le protocole Secure Shell (SSH), qui n'est pas pris en charge sur IIS.
Dans cet article, nous vous guiderons tout au long du processus d'installation du serveur FTPS (Secure FTP) sur Windows à l'aide d'IIS. Les étapes requises pour effectuer les procédures décrites dans cet article comprennent :
- Installation des fonctionnalités IIS et du serveur FTP.
- Création d'un certificat SSL.
- Travailler avec des serveurs derrière un pare-feu externe/NAT.
- Création d'un nouvel utilisateur FTP avec Windows.
- Création du nouveau site FTP dans IIS.
- Liaison du certificat à TLS/SSL dans IIS.
- Configuration de l'authentification et de l'autorisation FTP.
- Test de votre nouveau serveur FTP.
Installation des fonctionnalités d'IIS et du serveur FTP
IIS est installé par défaut sur la plupart des serveurs Windows, mais la fonctionnalité du serveur FTP est généralement désactivée par défaut. Par conséquent, la première étape consiste à activer les fonctionnalités du serveur FTP. Suivez les étapes ci-dessous pour activer la fonctionnalité de serveur FTP sur Windows Server 2022, Windows Server 2019, Windows Server 2016 ou Windows Server 2012 :
- Sous Windows, le Gestionnaire de serveur accédez au Tableau de bord et exécutez Gérer >> Ajouter des rôles et des fonctionnalités.
- Dans l'assistant Ajouter des rôles et des fonctionnalités : passez à l'étape Type d'installation et confirmez l'installation basée sur les rôles ou les fonctionnalités.
- Passez à l'étape Rôles du serveur et vérifiez le rôle de serveur Web (IIS). Notez qu'il est déjà vérifié si vous avez déjà installé IIS en tant que serveur Web. Si vous êtes invité à installer l'outil IIS Management Console, confirmez-le.
- Passez à l'étape Rôle de serveur Web (IIS) >> Services de rôle et vérifiez le service de rôle de serveur FTP. Décochez le service de rôle de serveur Web, si vous n'en avez pas besoin.
- Confirmez votre installation en cliquant sur « Suivant », procédez à l'installation et attendez la fin de l'installation.
Création d'un certificat TLS/SSL pour le serveur FTPS
Votre serveur FTP a besoin d'un certificat TLS/SSL pour établir une connexion sécurisée entre le client et le serveur. Le certificat contient des informations sur l’identité du serveur, ainsi que la technique de cryptage utilisée pour établir le canal sécurisé. Cela permet aux utilisateurs finaux de vérifier plus facilement l'identité d'un ordinateur distant. Selon le cas d'utilisation ou le scénario, le certificat TLS/SSL peut être auto-signé, signé par un domaine ou signé par un tiers.
- Les certificats auto-signés sont utilisés sur les sites Web internes, mais dans de tels cas, les utilisateurs de votre serveur FTPS recevront toujours un avertissement de sécurité. En effet, il n'existe aucun moyen de prouver que l'identité vous appartient à moins qu'une autorité de certification (CA) ne l'ait créée.
- Les certificats de domaine sont utilisés à l’intérieur des domaines et signés par l’autorité de certification de l’organisation. Les utilisateurs internes ne recevront aucun message d’avertissement de sécurité, contrairement aux utilisateurs extérieurs au domaine.
- Les certificats signés par des tiers sont utilisés sur les serveurs de production car ils sont soutenus par une autorité de certification (CA). Les certificats signés par une autorité de certification garantissent aux clients FTP que votre serveur est bien celui qu'il prétend être.
Avec IIS, vous pouvez créer un certificat auto-signé et un certificat de domaine. Créer un certificat auto-signé, suivez les étapes ci-dessous :
- Dans IIS Manager, ouvrez IIS >> Certificats de serveur.
- Dans le menu Actions sur le côté droit du gestionnaire IIS, choisissez l'option « Créer un certificat auto-signé ».
- Spécifiez un nom de certificat (par exemple « Mon certificat FTP ») et cliquez sur « OK » pour soumettre.
- Créer un certificat de domaine, suivez les étapes ci-dessous :
- Accédez à Certificats de serveur et sélectionnez « Créer un certificat de domaine ».
Vous devrez fournir des informations de nom distinctif (DN) lors de l'inscription et de la création d'une demande de signature de certificat (CSR).
- Dans le champ « Nom commun », utilisez le nom de domaine complet (FQDN) de l'ordinateur ou du serveur Web.
- Dans Organisation, utilisez le nom légal de la société.
- Dans Unité d'organisation (UO), utilisez le département ou la zone (éventuellement pour les domaines Active Directory).
- Spécifiez l'autorité de certification en ligne au sein de votre domaine. S'il existe une autorité de certification en ligne, vous devriez voir l'option « sélectionner » disponible. Si l'option « Sélectionner » n'est pas disponible, vous pouvez spécifier le DA en utilisant le nom approprié, tel que CertificateAuhtorityNameNameServerName.
Travailler avec des serveurs derrière un pare-feu externe/NAT
Si votre serveur est derrière un pare-feu/NAT externe, vous devez indiquer au serveur FTP son adresse IP externe pour autoriser les connexions en mode passif. Suivez les étapes ci-dessous pour terminer ce processus :
- Dans IIS Manager, ouvrez FTP >> Prise en charge du pare-feu FTP.
- Spécifiez l'adresse IP externe de votre serveur.
Pour les serveurs Microsoft Azure Windows, vous trouverez l'adresse IP externe dans la section Adresse IP publique de la page de la machine virtuelle.
Lorsque vous travaillez derrière un pare-feu externe, vous devez ouvrir des ports pour les connexions de données, en plus d'ouvrir un port FTP 21 et éventuellement un port FTP TLS/SSL implicite 990. Vous ne souhaiterez probablement pas ouvrir toute la plage de ports par défaut. 1024-65535. Dans un tel cas, vous devez indiquer au serveur FTP d'utiliser uniquement la plage ouverte sur le pare-feu. Utilisez une zone Data Channel Port Range pour cela. Chaque fois que vous modifiez cette plage, vous devrez redémarrer le service FTP.
- Cliquez sur Appliquer l'action pour soumettre vos paramètres.
Certains pare-feu externes sont capables de surveiller la connexion de contrôle FTP et d'ouvrir et de fermer automatiquement les ports de connexion de données selon les besoins. Vous n'avez donc pas besoin d'ouvrir toute la plage de ports à tout moment, même lorsque vous ne vous en servez pas. Cela ne fonctionnera pas avec le FTPS sécurisé car la connexion de contrôle est cryptée et le pare-feu ne peut pas la surveiller.
Sur les machines Windows, un pare-feu Windows interne est automatiquement configuré avec des règles pour les ports 21, 990 et 1024-65535 lorsque le serveur FTP IIS est installé. Les règles ne sont pas activées initialement sur certaines versions de Windows. Pour activer ou modifier les règles, suivez les étapes ci-dessous :
- Accédez au Panneau de configuration >> Système et sécurité >> Pare-feu Windows Defender >> Paramètres avancés >> Règles entrantes et localisez trois règles « serveur FTP ».
- Si les règles ne sont pas activées, cliquez sur Actions >> Activer la règle.
Création d'un nouvel utilisateur FTP avec Windows
Dans cette section, nous allons vous montrer comment créer un nouvel utilisateur pour se connecter au serveur FTPS avec les autorisations appropriées. Voici les étapes à suivre :
- Ouvrez Utilisateurs et groupes locaux sur votre serveur Windows. Accédez à Gestionnaire de serveur >> Outils >> Gestion de l'ordinateur. Développez les outils Systèmes >> et ouvrez « Utilisateurs et groupes locaux ».
- Alternativement, vous pouvez utiliser le raccourci Win+R pour ouvrir « Exécuter » et taper « lusrmgr.msc ».
- Allez dans Action et cliquez sur « Nouvel utilisateur ».
- Dans la fenêtre « Nouvel utilisateur », continuez et entrez les informations d'identification de l'utilisateur.
- Cliquez sur « Créer ».
Maintenant, vous devez accorder au nouvel utilisateur l'autorisation d'accéder au dossier racine FTP.
- Le dossier par défaut dans IIS pour stocker le contenu s'appelle « inetpub ». Allez dans C:inetpub et recherchez le dossier « ftproot ».
- Faites un clic droit dessus et ouvrez « Propriétés ».
- Allez dans l'onglet Sécurité >> puis cliquez sur « Modifier », recherchez l'utilisateur que vous avez créé précédemment et définissez les autorisations. Par exemple, vous pouvez restreindre ou autoriser l'accès de l'utilisateur aux ressources du dossier racine FTP.
Maintenant que nous avons créé un utilisateur avec les autorisations appropriées, nous devons créer un site FTP qui ne peut être ouvert que par l'utilisateur disposant des autorisations appropriées.
Création du nouveau site FTP dans IIS
Un site FTP est un serveur accessible depuis l'extérieur du réseau local, depuis n'importe quel endroit sur Internet. Dans le volet Connexions, cliquez sur le nœud Sites dans l'arborescence.
- Ouvrez IIS Manager >> accédez à votre serveur domestique >> dans le volet Connexions, cliquez sur le nœud « Sites » dans l'arborescence.
- Ajoutez un site FTP. Cliquez avec le bouton droit sur le nœud Sites dans l'arborescence et cliquez sur Ajouter un site FTP, ou cliquez sur Ajouter un site FTP dans le volet Actions.
- Lorsque l'assistant Ajouter un site FTP apparaît, saisissez les informations du site FTP (par exemple « Mon nouveau site FTP ») et le chemin physique du répertoire de contenu (par exemple %SystemDrive%inetpubftproot) dans la zone Nom du site FTP. Quel que soit le chemin que vous avez sélectionné ici, assurez-vous qu'il dispose des autorisations appropriées pour autoriser ou restreindre l'accès.
- Cliquez sur Suivant
Liaison du certificat à TLS/SSL dans IIS
Sur la page suivante de l'assistant, nous tenterons de lier le certificat à TLS/SSL dans IIS. Vous pouvez lier des certificats TLS/SSL pendant la création ou après la création de votre site FTP. Suivez les étapes ci-dessous pour terminer le processus :
- 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 ».
- Entrez 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. FTPS utilise le port 21 pour ses connexions de contrôle FTPS explicites et le port 990 pour les connexions de contrôle FTPS implicites.
- En option, vous pouvez cocher la case « Démarrer automatiquement le site FTP ». Cette option est utile chaque fois que le serveur tombe en panne. IIS démarrera automatiquement le site FTPS après le retour du serveur en ligne
- Pour cette procédure pas à pas, nous n'utilisons pas de nom d'hôte, assurez-vous donc que la zone Hôte virtuel est vide.
- Assurez-vous que la liste déroulante Certificats est définie sur votre certificat TLS/SSL. Vous pouvez le faire en sélectionnant votre certificat auto-signé, votre certificat de domaine ou en parcourant tout certificat créé par d'autres moyens.
- Assurez-vous que le Autoriser SSL est sélectionnée.
- Cliquez sur Suivant.
- Cliquez à nouveau sur Suivant.
Configurer l'authentification et l'autorisation FTP
Sur la page suivante de l'assistant, vous pourrez définir qui et comment les utilisateurs se connectent à votre serveur FTPS.
Vous pouvez sélectionner Anonyme (chiffrement activé) ou Basic (pas de cryptage), qui dépend du type de certificat SSL.
- Pour cette procédure pas à pas, sélectionnez De base pour les paramètres d'authentification.
Pour les paramètres d'autorisation :
- Choisissez « Utilisateurs spécifiques » dans la liste déroulante Autoriser l'accès à.
- Tapez « administrateur » pour le nom d'utilisateur.
- Sélectionnez Lire et écrire pour l’option Autorisations. Lorsque vous avez terminé ces éléments, cliquez sur Terminer.
Test de votre nouveau serveur FTP
Une fois les étapes ci-dessus terminées, la dernière étape consiste à vérifier que votre serveur FTPS fonctionne correctement. Vous pouvez commencer vos tests à partir de l'hôte local, suivi par des clients tiers.
- Pour tester à partir de l'hôte local, accédez simplement à n'importe quel navigateur Web sur votre serveur et tapez « FTP://localhost ».
Pour les tests effectués par des tiers, le Serveur de transfert de fichiers géré Solarwind Serv-U est un excellent outil. Serv-U Managed File Transfer Server est un logiciel de serveur FTP fiable pour le transfert de fichiers sécurisé. Il offre une meilleure sécurité et un meilleur contrôle sur les transferts de fichiers à l'intérieur et à l'extérieur de votre organisation.