Serveur FTP domestique – Introduction, bases et tutoriel

Der Artikel rund um FTP beschreibt Grundlagen, Betrieb eines eigenen FTP-Servers, FTP-Clients sowie Tipps und Tricks zur Fehlersuche.

Serveur FTP domestique – Introduction, bases et tutoriel

FTP-Programm
  1. Magazine
  2. »
  3. Article
  4. »
  5. Windows
  6. »
  7. Serveur FTP domestique – Introduction, bases et tutoriel

Dans ce tutoriel, nous nous penchons sur le principe de fonctionnement avec les bases d’un serveur FTP, nous expliquons le fonctionnement d’un propre serveur FTP à l’aide de différentes solutions gratuites et shareware et nous nous penchons à la fin sur le dépannage et les problèmes tels que „serveur FTP derrière un routeur“ et „serveur FTP et pare-feu“.

  • Apprenez ce qu’est un serveur FTP et comment il fonctionne.
  • Apprenez dans ce guide comment configurer votre propre serveur FTP.
  • Des conseils et astuces pour votre propre serveur FTP complètent ce tutoriel.

Notions de base sur le FTP, programmes recommandés

Dans la première section, nous vous transmettons les bases du FTP et vous présentons quelques programmes pour serveurs FTP et clients FTP.

Qu’est-ce qu’un serveur FTP ?

Avec son propre serveur FTP, on peut mettre des fichiers à la disposition d’autres utilisateurs pour le téléchargement et faire télécharger des fichiers par des utilisateurs sur son propre serveur.

Principe de fonctionnement

FTP est l’abréviation de File Transfer Protocol et est un protocole de transfert de données. Il a été introduit en 1970 et compte ainsi parmi les plus anciens protocoles d’Internet. Le protocole FTP est basé sur le protocole TCP bien connu et fonctionne selon le principe client-serveur. Deux connexions sont établies.

Tout d’abord, une connexion de commande (command channel) est établie. Comme son nom l’indique, la communication entre le serveur et le client s’effectue par ce biais. Cela se fait à l’aide d’un certain jeu de commandes. Nous verrons certaines commandes plus tard, lors de la présentation des clients FTP lors de l’établissement de la connexion. Une fois la connexion établie via le canal de commande, il est possible d’initier un transfert de données, qui se déroule via le canal de données (data channel).

Représentation schématique du principe d’un transfert FTP :

FTP-Server
Serveur FTP

Encart : petite leçon sur les ports

Les ports sont des interfaces qui permettent d’établir plusieurs connexions logiques lors d’une connexion physique à un réseau (y compris Internet). Les ports sont numérotés de 0 à 65535 et peuvent être utilisés par des processus ou des programmes.
Les ports 0 à 1023 appartiennent au groupe des „well known ports“ et sont attribués par l’IANA. Chaque système sait quels protocoles fonctionnent dans cette plage de ports.
Les ports 1024 à 49151 appartiennent au groupe des „registered ports“, qui peuvent être utilisés par des processus et des applications et enregistrés par les développeurs d’applications pour leurs propres protocoles.
Les ports 49152 à 65535 appartiennent au groupe des „dynamic and/or private ports“. Comme leur nom l’indique, ils sont attribués de manière dynamique par l’hôte à la demande des processus et ne sont pas directement attribués à une application.

Mode de connexion actif et passif

Il existe 2 approches différentes pour initialiser un transfert depuis un client : le mode de connexion actif et le mode de connexion passif. Les deux ont en commun le fait qu’une connexion de contrôle est d’abord établie (1ère flèche), par laquelle des commandes FTP sont envoyées, et qu’une connexion de données est ensuite établie pour le transfert de données (2ème flèche). La différence entre les deux modes de connexion réside dans la personne qui établit ces connexions : le client ou le serveur. Voici comment cela se passe en détail :

Mode de connexion actif

Aktiver FTP-Modus
Mode FTP actif

Déroulement: Le client réserve 2 ports TCP de la plage de ports 1024-65535 pour son propre usage, établit la connexion de contrôle au port 21 du serveur via le premier port et communique au serveur le 2e numéro de port sur lequel le client attend les données.

Remarque: Mauvais pour le client, car un transfert de données est potentiellement empêché par un filtre de port, car en principe tous les ports >1024 devraient être ouverts. Bon pour l’administrateur du serveur, car il ne doit ouvrir que deux ports.

Mode de connexion passif

Passiver FTP-Modus
Mode FTP passif

Déroulement: Le client réserve 2 ports TCP de la plage de ports 1024-65535 pour son propre usage et établit la connexion de contrôle au port 21 du serveur via le premier port. Comme une connexion passive est souhaitée, le client envoie la commande PASV à partir du jeu de commandes FTP auquel il est fait référence. Le serveur est ainsi informé : Une connexion passive est souhaitée, après quoi il réserve pour lui-même un port TCP de la plage 1024-65535 pour le transfert de données et communique ce port au client. Le transfert de données peut alors commencer, car le port pour le transfert de données a été négocié.

Remarque: bon pour le client, car les deux connexions sont établies par le client, les ports ne sont donc ouverts qu’en cas de besoin, mauvais pour l’administrateur du serveur, car il doit soit autoriser l’établissement d’une connexion vers tous les ports du serveur, soit avoir besoin d’une passerelle de niveau application qui peut suivre la communication entre le serveur et le client et ouvrir le port choisi en cas de besoin.

Modes de transfert

Le protocole FTP comprend 2 modes de transfert : ASCII et binaire (binary). Le mode ASCII peut et doit être utilisé pour le transfert de fichiers texte (TXT, HTML, etc.). Les retours à la ligne, entre autres, sont alors adaptés au système d’exploitation cible. Ce mode de transport prend plus de temps en raison du transcodage, mais garantit un affichage correct des contenus sur tous les systèmes. En mode binaire, les données sont transmises telles quelles, octet par octet, c’est-à-dire qu’aucun contenu n’est modifié. Tous les autres fichiers qui ne contiennent pas de texte doivent obligatoirement être transférés en mode binaire, par exemple les archives ou les graphiques. Dans le client FTP, il convient de rechercher une fonction de sélection automatique, qui est généralement activée par défaut.

Authentification

Chaque utilisateur doit s’authentifier auprès d’un serveur FTP avec un nom d’utilisateur et un mot de passe. Il existe en outre la possibilité d’un login anonyme, généralement sans mot de passe ou avec l’adresse e-mail de l’administrateur comme mot de passe. L’utilisation de ce compte standard permet d’accéder facilement au serveur FTP, mais doit être utilisée avec précaution sur un serveur FTP domestique, car n’importe qui peut se connecter au serveur. Les droits d’accès et les domaines d’accès doivent être choisis avec soin. Les serveurs FTP publics proposent généralement ce type d’accès.

Sécurité

N’oubliez pas que le FTP n’est pas crypté et qu’il est donc vulnérable aux écoutes. Des alternatives vous seront présentées plus loin dans cette série d’articles avec SFTP (utilise SSH) et FTPS (utilise SSL/TLS). Une autre possibilité est d’établir au préalable un tunnel VPN crypté vers le système cible, si cela est possible.

Qu’est-ce que SSL ?

SSL signifie Secure Sockets Layer et est un protocole de cryptage hybride pour la transmission sécurisée des données sur Internet. Il est principalement utilisé pour le cryptage des connexions web sécurisées via https.

Propre nom de serveur DNS pour le serveur FTP

Tout d’abord, un problème fondamental se pose (du moins pour presque tous les utilisateurs) : Un serveur FTP n’est accessible que par une adresse IP. Mais après chaque établissement et coupure de la connexion Internet, le fournisseur d’accès attribue en règle générale une nouvelle adresse IP (adresse IP dynamique). Le problème : les clients FTP ne trouvent plus le serveur FTP sous l’ancienne adresse IP.

Pour résoudre ce problème, il existe des fournisseurs auprès desquels on peut réserver un nom fixe. Ce nom renvoie ensuite à sa propre adresse IP lorsqu’il est appelé. Le service le plus connu s’appelle DynDNS et se trouve ici : http://www.dyndns.org. Celui qui veut exploiter un serveur FTP sur son propre ordinateur a donc besoin d’un client de mise à jour pour communiquer au service DynDNS également l’adresse IP actuelle.

Remarque: la plupart des propriétaires de routeurs peuvent se passer du client de mise à jour, car cette fonctionnalité est aujourd’hui intégrée dans la plupart des routeurs. Selon le modèle de routeur, il est possible de gérer un ou plusieurs comptes DynDNS. Pour cela, le plus simple est de consulter le manuel du routeur. Dans le cas de la Fritz!Box, une fonction DynDNS est déjà possible via MyFRITZ ! et aucun logiciel ou service étranger n’est nécessaire.

Vous trouverez plus d’informations sur la configuration de DynDNS dans notre article Mise à jour dynamique du DNS pour la page d’accueil locale.

L’adresse du serveur DNS devrait être modifiable à partir d’Internet à ce moment-là. Si cela ne fonctionne pas, le serveur FTP ne sera pas non plus accessible.

Serveur FTP

Un nom de serveur ne suffit pas encore, car il manque encore le serveur FTP lui-même.

Deux logiciels de serveur sont décrits ci-dessous à titre d’exemple. Il est préférable que vous décidiez vous-même lequel est le mieux adapté à vos besoins. Le maniement et l’équipement décident en fin de compte du choix. FileZilla Server est complet, mais en anglais, Quick ’n Easy FTP Server est plus petit, mais plus accessible aux utilisateurs de Windows et également disponible en allemand. Vous trouverez d’autres serveurs FTP gratuits et payants dans notre archive de logiciels, dans la rubrique Serveurs FTP.

Mais tout d’abord, voici quelques notions de base :

Chemins virtuels

Malheureusement, les données ne se trouvent pas toujours sur le disque dur dans la structure que l’on souhaite proposer à un utilisateur. Pour y remédier, il est possible d’utiliser des chemins virtuels. Le système qui se cache derrière est à la fois simple et génial. On définit un 2e chemin, on lui donne un nom et on l’affiche ainsi dans un autre chemin. Le schéma suivant illustre le principe :

Virtuelle Pfade
Chemins virtuels

Téléchargement versus téléchargement

Dans les 4 murs de la maison, on atteint rapidement les limites de sa connexion Internet avec un serveur FTP. Ce qui est taux de téléchargement pour le client est taux d’upload pour sa propre ligne. Comme la plupart des lignes ne sont pas synchrones et que les débits descendants et ascendants divergent, vous devez toujours vous orienter vers votre débit ascendant. Pour les utilisateurs de DSL 16000, il n’est généralement que de 1.024 kbit/s à 2.400 kbit/s, selon le fournisseur.

Un serveur pourrait donc idéalement offrir 128 kbyte/s à 256 kbyte/s, il n’est alors plus possible de penser à surfer simultanément sur Internet. Une limitation à 100 KByte/s s’est avérée utilisable pour ce taux de téléchargement. Si plusieurs utilisateurs doivent être gérés, il est plus judicieux de régler la limitation dans les options du groupe. Il est alors également judicieux de limiter le nombre maximal de connexions simultanées, car les utilisateurs doivent se partager la bande passante en cas de connexion simultanée au serveur.

Démarrage automatique

Je déconseille de placer un raccourci vers le serveur FTP dans l’Autostart, car on garde ainsi toujours le port 21 de son ordinateur ouvert. Le logiciel du serveur doit être utilisé avec précaution et lancé en cas de besoin. Une alternative serait de mettre en place un PC serveur qui ne soit pas utilisé comme PC de travail, avec des droits très restrictifs dans tous les domaines.

Serveur FileZilla

Vous trouverez FileZilla Server dans les archives logicielles de WinTotal.

Lors de l’installation de ce paquet serveur, il ne faut pas cliquer à l’aveuglette, car des options importantes sont déjà contenues dans l’installateur. Il s’agit ici de définir le type de démarrage du serveur (en tant que service démarrant avec Windows, en tant que service à démarrer manuellement ou la variante de démarrage automatique en tant qu’application normale). Il faut également choisir le port avec lequel l’interface de configuration se connectera plus tard au serveur.

FileZilla Server
FileZilla Server

Dans l’écran suivant, on demande quand l’interface du serveur doit démarrer. Après l’installation, on se connecte localement au serveur. L’interface semble d’abord spartiate, mais elle reproduit le fichier journal et ne tardera pas à se remplir. Dans le point de menu „Edit“, on trouve les paramètres. Les points sont également accessibles par des boutons dans la barre de menu. Je commence par créer un groupe.

FileZilla Server
FileZilla Server

A ce stade, il est déjà possible de définir de multiples restrictions (par exemple des limites de bande passante) ainsi que des accès au répertoire. Le répertoire personnel est identifié par un „H“ devant le chemin. Lors du partage des répertoires, veillez à ne pas accorder inutilement beaucoup d’accès. Les attributs standard Read (lecture) et List (liste) sont suffisants dans un premier temps. D’autres chemins peuvent être ajoutés, les chemins virtuels ne peuvent être définis qu’ultérieurement par le menu contextuel du chemin via l’option „Edit aliases“. La syntaxe est ici légèrement différente de celle des autres serveurs FTP, mais permet une plus grande flexibilité. L’alias se compose du chemin cible + l’alias proprement dit, dans mon cas donc „C:WINDOWSWebWallpaperautres images“.

FileZilla Server – Verzeichnisse
FileZilla Server – Répertoires

Il reste maintenant à créer un utilisateur. Un mot de passe ne peut être activé et défini qu’après la création d’un utilisateur.

FileZilla Server – Benutzer anlegen
FileZilla Server – Créer un utilisateur

Auparavant, j’ai créé un groupe et j’y ai déjà défini des chemins d’accès. Il ne me reste plus qu’à définir l’appartenance au groupe „Groupe de test“ et une connexion est déjà possible. Mais ainsi, plusieurs utilisateurs peuvent être gérés de manière centralisée, car le serveur FileZilla propose le caractère de remplacement „:u“ pour le nom d’utilisateur.

Un autre cas intéressant est la mise à disposition d’un dossier de téléchargement, c’est-à-dire un dossier dans lequel un utilisateur FTP peut télécharger quelque chose. Il est judicieux de mettre à disposition son propre dossier, car les droits d’écriture doivent être choisis avec soin afin de ne pas perdre la vue d’ensemble de sa propre structure de dossiers.

FileZilla Server – Upload-Ordner bereitstellen
FileZilla Server – Fournir un dossier de téléchargement

Dans cet exemple, le dossier „C:Upload“ apparaît donc comme dossier virtuel dans le dossier de départ de l’utilisateur FTP, sous le nom „Upload“. Pour cela, il reçoit des droits d’écriture (Write), des droits de création (Create) et des droits d’extension (Append). Ces derniers droits servent également à pouvoir poursuivre un upload. Les paramètres de ce dossier sont hérités par les sous-dossiers (+ subdirs). Voici à quoi ressemble le résultat côté client :

Virtueller Ordner mit Subdirs
Dossier virtuel avec sous-dirs

Dans l’option de menu „Settings“, vous trouverez les paramètres spécifiques au serveur, la plage de ports pour les connexions passives, le port du serveur, les délais d’attente, le comportement au démarrage, la compression, etc. Il convient de mentionner ici plus en détail le support SSL/TLS (Secure-FTP). L’assistant permet de créer son propre certificat ou d’en intégrer un existant. Cela permet une authentification sécurisée. Vous en apprendrez plus sur cette procédure plus tard dans cet article.

FileZilla Server – Settings
FileZilla Server – Settings

Serveur FTP Quick’n Easy

Un autre serveur FTP très facile à utiliser nous vient des Pays-Bas et répond au nom de Quick’n Easy FTP Server. Vous trouverez Quick’n Easy FTP Server dans les archives logicielles de WinTotal.

L’interface s’inspire fortement de Windows, ce qui facilite la navigation, surtout pour les débutants. Une installation n’est pas nécessaire, les paramètres sont enregistrés dans un fichier XML. Le serveur peut donc être démarré quasiment à partir de n’importe quel endroit du disque dur. Il suffit donc de le décompresser et de démarrer. Lors du premier démarrage, un assistant vous accueille et vous demande le nom d’utilisateur, le mot de passe, le répertoire personnel du nouvel utilisateur et les droits d’accès à ce répertoire. Ensuite, le serveur est déjà prêt à démarrer.

La première étape est la gestion des utilisateurs, accessible à gauche dans la zone des tâches sous „Comptes d’utilisateurs“. Cliquez ensuite sur le nouvel utilisateur et les options correspondantes s’affichent.

Quick’n Easy FTP Server
Serveur FTP Quick’n Easy

C’est justement le volet des tâches à gauche qui rend l’administration si simple. Les chemins d’accès virtuels sont affichés en bas à droite. De nouveaux chemins peuvent être définis via le menu contextuel ou le volet des tâches (sous „Répertoires virtuels“). Voici à quoi cela ressemble :

Quick’n Easy FTP Server – Virtuelle Pfade
Serveur FTP Quick’n Easy – Chemins virtuels

Dans la capture d’écran, on peut également voir que la limite de téléchargement a été fixée à 10 (Ko/s).

Vous pouvez accéder aux paramètres du serveur en cliquant sur „Configuration“ dans le volet des tâches. Ici, il est par exemple possible de définir le comportement au démarrage, les messages du serveur et le répertoire d’accueil par défaut. En cliquant sur le gros bouton vert „Start“ en haut à gauche, le serveur est mis en ligne.

Autres serveurs FTP

Un serveur purement francophone serait Personal FTP Server. Dans la variante gratuite, l’étendue des fonctions est limitée. D’autres alternatives aux serveurs présentés seraient CesarFTP et TYPSoft FTP-Server, mais ce dernier ne propose pas de limitation de la bande passante. Dès que quelqu’un télécharge quelque chose, sa propre ligne est en grande partie bloquée. Ceux qui souhaitent utiliser leur ordinateur à la fois comme serveur web et comme serveur FTP devraient regarder de plus près le paquet XAMPP pour Windows, dans lequel le serveur FileZilla est inclus.

Pour les plus exigeants, le serveur PSFTP, originaire d’Allemagne, a fait ses preuves et est proposé dans différentes éditions.

L’article de comparitech.com donne également un bon aperçu, en anglais toutefois, des 20 meilleurs serveurs FTP gratuits pour Windows.

Clients FTP

Un client FTP permet de se connecter à un serveur FTP et de télécharger ou d’envoyer des données.

FileZilla

FileZilla n’existe pas seulement en tant que serveur FTP, mais aussi en tant que client FTP, qui présente un avantage décisif par rapport à beaucoup d’autres : On peut l’installer ou choisir une variante comprimée qui fonctionne sans installation. La variante comprimée, appelée portable, peut ensuite être comprimée sur une clé USB ou gravée sur un CD (les modifications des favoris ou des paramètres ne sont alors bien sûr pas possibles). Le téléchargement du client FTP (également portable) est disponible ici.

Sous Edit – Settings – Interface Settings – Language, on peut changer la langue en allemand. „Interface Settings“ s’appelle maintenant „Réglages de l’interface“. Cliquez dessus et cochez la case „Server folder view“. Ainsi, on peut aussi naviguer rapidement dans les sous-structures du côté du serveur.

FileZilla
FileZilla

L’interface du programme de haut en bas : La barre d’outils vient en premier. L’icône à l’extérieur gauche mène au gestionnaire de serveur, comparable aux favoris/marque-pages du navigateur. Les symboles situés à l’extérieur, à droite, devant le point d’interrogation facilitent la communication avec le serveur FTP. Ils servent à annuler une action ainsi qu’à se déconnecter et se reconnecter au serveur. Les symboles entre les deux servent à la représentation visuelle du client.

En dessous, il y a une barre qui permet une connexion rapide. On a besoin de l’adresse du serveur, du nom d’utilisateur et du mot de passe. Il n’est pas nécessaire de saisir le port, seulement s’il diffère du standard.

La zone en dessous sert à afficher les commandes d’état lors de la connexion au serveur. Cette fenêtre est surtout importante lorsqu’une erreur se produit. La zone centrale affiche les arborescences/contenus des répertoires du client (à gauche) et du serveur (à droite). La fenêtre inférieure affiche les transferts en cours.

Le serveur FTP peut maintenant être testé. Pour cela, on démarre un client FTP – ici FileZilla – sur l’ordinateur sur lequel fonctionne le serveur FTP. Cela devrait en tout cas déjà fonctionner, car aucun composant entre le serveur et le client ne peut perturber la communication. Comme adresse, on saisit „localhost“. Mon utilisateur s’appelle „Test“, il a aussi un mot de passe, la connexion peut donc être lancée. Voici le résultat d’une connexion réussie :

FileZilla – Verbindungsaufbau
FileZilla – Etablissement de la connexion

Depuis son propre ordinateur, on accède au serveur avec „localhost“ ou „127.0.0.1“. Depuis un autre ordinateur du réseau, on accède au serveur FTP par l’adresse IP, le nom NETBIOS ou, si le DynDNS-Updater fonctionne sur l’ordinateur, également par le nom du serveur (de l’article DynDNS). Depuis Internet, il faut utiliser le nom du serveur enregistré, que le client DynDNS fonctionne sur l’ordinateur ou dans un éventuel routeur.

SmartFTP

SmartFTP compte parmi les meilleurs clients FTP et est disponible pour une version d’essai de 30 jours. Après 30 jours, seul un écran Nag s’affiche pour indiquer la durée de fonctionnement du programme. SmartFTP est multilingue et peut être téléchargé depuis notre archive de logiciels WinTotal.

L’interface se présente alors comme suit :

SmartFTP
SmartFTP

La structure de l’interface est identique à celle de FileZilla : barre d’outils, barre de connexion rapide et, en bas, la file d’attente de transfert. Lors d’une connexion à un serveur, la zone grise affiche l’arborescence/le contenu du répertoire. L’affichage peut être modifié via les points de menu Affichage et Fenêtre. Après la connexion, cela peut ressembler à ceci :

SmartFTP – Verbunden

Comme FileZilla, SmartFTP propose également une gestion des favoris, dans laquelle les serveurs FTP les plus fréquemment visités peuvent être organisés. Il vaut la peine d’explorer les possibilités du programme, dont l’étendue dépasserait le cadre de cet article. Les deux clients FTP ont en commun leur simplicité d’utilisation. Pour transporter des données, il suffit de glisser-déposer les fichiers et dossiers correspondants du côté local vers le côté serveur, à la manière de l’explorateur Windows.

Autres clients FTP

Les autres clients gratuits vraiment intéressants sont rares, car il s’agit souvent de versions légères de clients FTP shareware. Un article ultérieur vous montrera d’autres possibilités que je ne veux pas anticiper ici. On peut encore citer LeechFTP, dont le développement a toutefois été interrompu (ou alors une variante payante sera publiée sous un autre nom), ainsi que Staff-FTP.

Parmi les clients FTP payants, le PSFtp, originaire d’Allemagne, est un bon choix.

Navigateur web comme client FTP: il est également possible d’accéder à un serveur FTP avec un navigateur. La syntaxelautet:ftp://benutzername:passwort@hostname.domain
Par exemple : ftp://jemand:test@nobodys.homeftp.net. Mais n’oubliez pas que les navigateurs ne sont pas adaptés à l’accès à un serveur FTP. Ils n’offrent pratiquement aucune fonctionnalité FTP, sont lents et ne se déconnectent pas du serveur FTP à la fermeture de la page. Si les connexions maximales sont définies par IP ou par utilisateur dans le serveur FTP, il peut même arriver assez rapidement que l’on ne puisse plus se connecter si l’on saisit plusieurs fois l’adresse dans le navigateur. Ce n’est que pour les téléchargements individuels par lien direct qu’il est judicieux d’utiliser les accès par navigateur.

Réflexions sur son propre serveur FTP

Si l’on crée un serveur FTP entre ses quatre murs, certaines conditions doivent être réunies. Ainsi, la connexion Internet doit être ouverte pour que d’autres utilisateurs puissent accéder au serveur. L’upload personnel doit également être suffisamment important, car ce qui est upload pour l’ordinateur personnel est download pour les autres utilisateurs. Un antivirus est absolument obligatoire, surtout si les utilisateurs sont autorisés à télécharger des fichiers sur leur propre ordinateur.

N’oubliez pas que le FTP est une méthode de transfert de fichiers non cryptée. Choisissez donc votre serveur FTP en fonction des circonstances. Pour les serveurs FTP qui sont disponibles depuis longtemps et sur Internet, il ne faut pas renoncer à une variante cryptée.

Inside FTP – Cryptage et approfondissement des informations

Dans cette partie, des alternatives sont présentées au niveau des clients et des paquets de serveurs. En outre, le transfert de fichiers crypté sécurisé est abordé et le transfert FXP est expliqué. Cet article approfondit les connaissances sur le FTP.

Définition des termes SSH, SCP, SFTP, FTP sécurisé et FTPS

Dans cette partie, j’aborderai entre autres les techniques de cryptage lors du transfert de données, c’est pourquoi je vous propose tout d’abord une définition des termes SSH, SCP, SFTP, Secure FTP et FTPS.

  • SSH signifie Secure Shell et est à la fois un protocole (port TCP 22) et un programme. SSH permet une connexion de données sécurisée et cryptée entre deux ordinateurs.
  • SCP signifie Secure Copy et est, comme SSH, à la fois un protocole et un programme. Il sert à copier des données entre un serveur et un client via une connexion sécurisée et cryptée par SSH.
  • SFTP, pour SSH File Transfer Protocol, est la suite logique de l’idée SCP et met à la disposition de l’utilisateur un jeu de commandes pour pouvoir communiquer entre deux ordinateurs et exécuter des actions. SFTP utilise SSH pour crypter l’authentification, la communication et le transfert de données entre deux ordinateurs. L’utilisation semble similaire à celle de FTP, mais SFTP est un protocole complètement indépendant qui fonctionne différemment. Il n’y a qu’une seule connexion (donc pas de canal de commande et de données séparé) et un seul port est utilisé (par défaut : port 22). Actuellement, seuls quelques clients et serveurs supportent le SFTP.
  • Il existe également Secure FTP, qui se base à nouveau sur le FTP. Dans ce cas, l’authentification et le changement de répertoire sont cryptés via un tunnel SSH, le reste de la communication, y compris le transfert de données, se fait en clair. L’avantage est que les ordinateurs concernés ne sont pas autant sollicités par le cryptage que dans le cas d’un cryptage complet de la communication. On distingue le FTP sécurisé explicite et implicite. Dans le cas du Secure FTP implicite, le cryptage par SSL/TLS est obligatoire lors de l’inscription à un domaine ; dans le cas du Secure FTP explicite, une inscription non cryptée à un domaine est également possible, mais le cryptage peut être initialisé par le client FTP via un signal AUTH. Le port standard pour Secure FTP est le port 990.
  • Tout comme il existe HTTPS, il existe également FTPS, une connexion FTP sécurisée par SSL/TLS, avec laquelle le transfert de données crypté est possible. En combinaison avec Secure FTP, une communication sécurisée entre deux ordinateurs est possible.

Dans l’ensemble, les possibilités de connexion sécurisée ne sont prises en charge que par un nombre relativement restreint de serveurs et de clients, et tous ne chiffrent pas le canal de contrôle et le canal de données dans la variante sécurisée par SSL/TLS.

Serveur FTP – 2ème partie

Serv-U

Serv-U est un package de serveur FTP plus important. Il offre de nombreuses fonctionnalités que les paquets libres ne proposent pas : plusieurs domaines, plage de ports en mode passif, intégration de certificats SSL, interface de base de données ODBC et maintenance à distance. Il existe plusieurs types de licences et donc plusieurs niveaux de prix. Les différences peuvent être consultées ici : http://www.serv-u.info/produktinfo/editionen.htm. La version shareware sera suffisante pour un premier aperçu dans cet article, car elle fonctionne pendant 30 jours en tant que version corporate.

Vous pouvez la télécharger ici : http://www.serv-u.info/produktinfo/download.php. La version anglaise est disponible à l’adresse http://www.serv-u.com/.
Après l’installation de Serv-U, l’assistant initial demande les données pour le premier domaine FTP et si le serveur doit fonctionner comme service système. Ensuite, le serveur FTP peut être configuré. Il a déjà été demandé si les droits d’administrateur doivent être accordés. Soyez prudent et circonspect avec de tels paramètres et définissez les autorisations de manière aussi restrictive que possible.

Sous „Serveur local“, on peut démarrer et arrêter complètement le serveur et configurer le type de démarrage en tant que service système. En cliquant sur Licence, on voit la durée de fonctionnement jusqu’à ce que le programme se remette en mode Personal Edition. Désinstaller et réinstaller ne sert à rien ici.

Juste en dessous, on trouve les paramètres globaux. Dans l’onglet „Général“, il est possible de restreindre l’accès à tous les domaines. Les options de vitesse doivent être choisies en fonction de la largeur de bande de la connexion Internet. L’option „Interdire les connexions permanentes“ est utile en cas d’accès fréquent via le navigateur web et de limitation du nombre maximal d’utilisateurs connectés simultanément sur le serveur.

Serv-U Administrator

Le certificat SSL permet le FTP via TLS/SLL (FTPS), c’est-à-dire que l’authentification et le canal de contrôle sont cryptés, mais pas le transfert de données. Vous devez générer vous-même un certificat. L’aide intégrée détaillée vous y aidera (mot-clé : certificat SSL). Le certificat généré est signé par Serv-U lui-même et ne provient donc pas d’une autorité de certification comme VeriSign. Les autorités de certification sont des organismes de confiance qui émettent des certificats garantissant qu’une clé publique appartient à une personne déterminée. Une signature numérique est apposée sur le certificat, ce qui permet de prouver l’intégrité et l’authenticité du certificat.

Sous „Avancé“, on trouve par exemple le réglage d’une plage de ports si l’on souhaite utiliser le serveur en mode passif.

Sous les paramètres globaux, on trouve l’activité globale. Si quelqu’un est connecté et/ou télécharge quelque chose, on le voit ici. La case à cocher en haut à gauche pour l’actualisation automatique est intéressante ici, de sorte que l’on a toujours l’état actuel au premier coup d’œil. L’onglet Protocole de domaine représente le fichier journal global. Toutes les fonctions globales desservent l’ensemble du serveur FTP. Serv-U peut gérer plusieurs domaines, ce qui signifie que plusieurs hôtes virtuels peuvent être gérés. Chaque hôte – ou domaine – a son propre nom et ses propres paramètres, fichiers journaux, utilisateurs, groupes, etc.

Si vous cliquez sur un domaine, vous pouvez définir des paramètres qui concernent le domaine lui-même. Il s’agit par exemple du numéro de port sur lequel le serveur écoute et si l’accès sécurisé est possible.

Serv-U Administrator
Serv-U Administrator

Dans l’onglet „Général“, il est possible de définir des chemins virtuels, qui ont déjà été décrits en détail plus haut.

On peut maintenant se consacrer à la gestion des utilisateurs. Pour autoriser le „login anonyme“, il suffit de créer l’utilisateur „anonymous“ (clic droit sur Utilisateur – Nouvel utilisateur, suivre les instructions). Lorsqu’un nouvel utilisateur est défini, de nombreux paramètres attendent d’être configurés. Cliquez sur un utilisateur. Dans l’onglet „Compte“, on voit en grande partie les réglages effectués qui ont été demandés lors de la création d’un nouvel utilisateur. Il est également possible de désactiver un compte ou de lui attribuer un délai d’expiration. Si vous avez défini des groupes d’utilisateurs, vous pouvez ici ajouter l’utilisateur à un ou plusieurs groupes. Ce système est par exemple connu dans l’Active Directory, mais malheureusement, les membres d’un groupe ne peuvent être consultés nulle part dans la version actuelle.

Serv-U Administrator
Serv-U Administrator

L’onglet „Général“ contient des paramètres importants pour la connectivité. Prenez le temps d’effectuer ces réglages. L'“Accès au répertoire“ est au moins aussi important. Le répertoire racine est déjà préconfiguré. A droite, vous trouverez les autorisations sur les fichiers et les dossiers et si ces droits doivent être hérités par les sous-dossiers. Il n’y a aucun problème pour partager également un lecteur de CD-ROM par exemple. En ajoutant des chemins dans cet onglet, les répertoires n’apparaissent pas encore lors du login de l’utilisateur. Ce sont les chemins virtuels, configurés dans les paramètres du domaine, qui sont utilisés ici.

Je vais décrire la procédure à titre d’exemple. Je définis d’abord le répertoire „Mes images“ comme répertoire de départ pour un utilisateur. J’ajoute également un autre répertoire dans l’onglet „Accès au répertoire“, le répertoire „Ma musique“.

Serv-U Administrator
Serv-U Administrator

Un test de connexion montre qu’actuellement „seul“ le contenu du répertoire „Mes images“ est affiché. Le répertoire „Ma musique“ n’est pas accessible. Je vais maintenant dans les paramètres de domaine, dans l’onglet „Général“ et j’ajoute un nouveau chemin virtuel. Le chemin sur le disque dur est „C:Documents et réglages%NOM_UTILISATEUR%Mes fichiersMa musique“, le chemin virtuel est „C:Documents et réglages%NOM_UTILISATEUR%Mes fichiersMes images“. Ainsi, le dossier „Ma musique“ sera affiché dans le répertoire racine (Mes images) après la connexion. Enfin, le nom d’affichage est défini. Le système des répertoires virtuels a déjà été expliqué en détail au début de cet article.

Virtuelle Pfade
Chemins virtuels

Après une nouvelle connexion via le Client FTP, un dossier „Programmes“ est maintenant affiché dans la racine du répertoire Windows.

Si l’on cherche le réglage d’un „ratio“, on le trouve sous „Ratio UL/DL“. Cette fonction permet de définir des rapports de chargement et de téléchargement. Afin de ne pas encombrer le disque dur, on peut en outre définir une limite d’espace mémoire.

Si vous avez des problèmes ou des questions concernant ce programme, n’hésitez pas à utiliser l’aide détaillée intégrée. De plus, Serv-U dispose d’une base de connaissances qui peut répondre à de nombreuses questions.

Serveur FTP avec les moyens de base de Windows

Windows XP Professional est lui aussi déjà équipé d’un serveur FTP. Il fait partie des „Internet Information Services (IIS)“ – ici version 5.0 – et doit d’abord être installé ultérieurement. Vous pouvez l’installer dans votre installation Windows via Panneau de configuration – Ajout/Suppression de programmes – „Ajouter/Supprimer des composants Windows“ – „Services d’information Internet“. Sélectionnez les composants „Service FTP (File Transfer Protocol)“, „Fichiers partagés“ et „Services d’information Internet Snap-In“ et laissez-les s’installer. Le cas échéant, vous aurez besoin de votre CD Windows. Notez que cette fonctionnalité est absente de l’édition familiale. Dans l’édition professionnelle, un seul site FTP est autorisé. De plus, le nombre de connexions est limité à 10. Ce sont les différences avec les versions serveur de Windows 2000 (IIS 5.0) et 2003 (IIS 6.0).

Vient ensuite la configuration, qui n’est pas très étendue. Vous trouverez le snap-in MMC „Internet Information Services“ sous Panneau de configuration – Outils d’administration. Sous les „Sites FTP“, il y a d’abord un „Site FTP standard“. Passez par le menu contextuel dans les propriétés pour la configuration. Dans l’onglet „Site FTP“, attribuez de préférence comme description le nom DynDNS ou un nom pertinent qui s’oriente sur le répertoire racine.

IIS / FTP-Site festlegen
Définir IIS / site FTP

Sous „Comptes de session“, la connexion anonyme est activée. Ceux qui le souhaitent peuvent tout laisser en l’état. Si ce n’est pas le cas, il suffit de décocher la case en haut. On peut ensuite se connecter avec des comptes d’utilisateurs sur l’ordinateur, qui sont configurés sous Panneau de configuration – Outils d’administration – Gestion de l’ordinateur – Système – Utilisateurs et groupes locaux – „Utilisateurs“. L’installation d’ISS crée un compte avec des droits d’invité : ISUR_%COMPUTERNAME%. Chaque utilisateur FTP a besoin d’un compte local.

Continuer dans les propriétés du site FTP : Dans l’onglet „Répertoire de base“, il est possible de définir le chemin racine ainsi que les droits correspondants (lecture et écriture). Si l’écriture doit être autorisée dans la structure du répertoire FTP, l’accès en écriture doit être activé ici. Le chemin par défaut se trouve sous %SYSTEMDRIVE%inetpubftproot et est également créé automatiquement lors de l’installation du serveur IIS.

Vous pouvez maintenant fermer la configuration. Les répertoires virtuels sont également possibles. Cliquez sur un site FTP et sélectionnez dans la zone libre à droite „Nouveau“ – „Répertoire virtuel“ dans le menu contextuel.

Dans le snap-in „Services d’information Internet“, on peut choisir la racine du snap-in et se connecter sous „Action“ – „Connecter“ à un serveur FTP distant basé sur IIS et l’administrer en grande partie.

L’étendue des fonctions s’arrête là. IIS doit impérativement être installé sur une partition NTFS afin de disposer d’un outil de gestion des droits („Partage de fichiers simple“ désactivé). Vous devez bien connaître la gestion des droits dans Windows avant d’envisager de mettre en ligne un serveur FTP basé sur IIS. L’outil „IIS Lockdown“ vous aidera également à durcir le système.

Serveur SFTP/FTPS avec PSFTPd

PSFTPd est un serveur FTP complet, disponible en version Lite et Corporate. Ce serveur maîtrise le FTP, le FTPS (explicite & implicite) et le SFTP (SecureFTP on SSH2), réunis dans une interface facile à utiliser. Une version qui peut être intégrée au système en tant que service est disponible après l’enregistrement. La version Corporate offre entre autres une gestion multiple des domaines et des groupes d’utilisateurs.

La configuration est très simple, le programme facilite vraiment la tâche. Un double-clic sur les protocoles (comme on peut le voir sur la capture d’écran suivante) permet de configurer les ports et les certificats.

PSFTPd
PSFTPd

Pas de surprise non plus dans les autres onglets. Dans la configuration utilisateur, il est possible de créer des chemins virtuels par glisser-déposer.

L’interface est très épurée, mais cela s’explique aussi par le fait que cette version Lite n’offre pas un nombre de fonctions aussi énorme que Serv-U par exemple. En revanche, elle marque des points en ce qui concerne les protocoles pris en charge.

PSFTPd

Serveur SFTP avec Cygwin

Cygwin reproduit son propre environnement UNIX sur Windows. Il est livré avec OpenSSH en tant que serveur SSH, le package comprend également un serveur SFTP. L’installation complète de Cygwin est assez volumineuse, je vais décrire ici la manière d’installer les composants nécessaires. Si vous le souhaitez, vous pouvez installer un éditeur (nano ou vim, l’affichage des catégories est recommandé dans l’installateur, qui sera expliqué plus en détail dans un instant).

Pour le guide suivant sur Cygwin, vous devez disposer de droits d’administrateur. En outre, Cygwin doit être installé sur une partition NTFS qui permet une gestion des droits.

Créez un répertoire sur votre disque dur (par ex. Cygwin) – l’endroit n’a pas d’importance. Enregistrez-y le fichier setup.exe du téléchargement WinTotal et lancez-le ensuite. A l’aide de l’installateur, les fichiers d’installation peuvent être téléchargés directement depuis Internet. Pour cela, sélectionnez „Install from Internet“ comme source d’installation. Le répertoire d’installation est ensuite sélectionné. Vous pouvez prendre le répertoire dans lequel se trouve déjà le fichier setup.exe. Le type de texte par défaut peut rester „UNIX“. Le „Local Package Directory“ peut également rester sur le chemin de l’installateur. Comme miroir, il faut en choisir un près de chez soi. Il y a suffisamment de serveurs universitaires. Lors de la sélection des packages, cliquez une fois sur le bouton „View“ pour que la vue passe en „Full“. Les paquetages sont classés par ordre alphabétique. Cherchez „OpenSSH“, cliquez sur „Skip“ pour qu’une croix apparaisse sous „Binary“.

Cygwin
Cygwin

L’installation peut maintenant être lancée. Environ 40 Mo sont maintenant téléchargés. Avec cet installateur, Cygwin peut être modifié et désinstallé à tout moment.

Après le premier démarrage du shell Bash de Cygwin, quelques composants sont encore initialisés. Avant d’y lancer la configuration d’OpenSSH, Windows doit encore être préparé. Appuyez sur les touches [Win]+[Pause] (ou sur le module „Système“ dans le panneau de configuration), allez dans l’onglet „Avancé“, cliquez sur Variables d’environnement, cherchez l’entrée PATH dans les variables système et modifiez-la. Ajoutez un point-virgule ( 😉 à la fin et le chemin vers le dossier bin dans le répertoire d’installation de Cygwin. Dans mon cas, le chemin est C:Cygwinb in.

Cygwin
Cygwin

Ensuite, une nouvelle variable est créée à l’aide du bouton Nouveau. Comme nom, saisissez „CYGWIN“, comme valeur, saisissez „ntsec tty“. Confirmez et fermez toutes les fenêtres Windows ouvertes en cliquant sur [OK] pour que les modifications soient prises en compte.

La procédure se poursuit maintenant dans le shell Bash. Tapez ssh-host-config. Un script démarre. Si l’on vous demande „privilege seperation“, répondez par „yes“. Faites de même lorsque vous êtes interrogé sur le „local user sshd“. L’idée derrière la „privilege seperation“ est expliquée dans cet article : http://www.symlink.ch/articles/02/05/27/220210.shtml. Pour cela, l’utilisateur „sshd“ est nécessaire.

Si vous souhaitez que le démon SSH soit disponible à chaque démarrage de Windows et qu’il démarre en tant que service, répondez également à la question suivante par „yes“. Cela n’est pas seulement utile pour le serveur SFTP envisagé, mais peut également être utilisé pour d’autres connexions, par exemple pour le transfert crypté du trafic de messagerie. Ensuite, la variable système „CYGWIN“ est interrogée. Saisissez ici la valeur „ntsec tty“ définie précédemment. Il faut maintenant définir les droits de manière plus restrictive. Pour cela, saisissez successivement dans la console

„touch /var/log/sshd.log“.
„chown -R system:system /var/log/sshd.log /var/empty /etc/ssh_h*“.

Vous créez ainsi un fichier journal pour le démon SSH et définissez ensuite les droits d’accès pour plusieurs fichiers de manière à ce que l’utilisateur „System“ du groupe d’utilisateurs „System“ en devienne le propriétaire.

Le démon SSH peut maintenant être démarré (à l’avenir, il démarrera par défaut dans le compte d’utilisateur local actuel). Tapez donc „cygrunsrv –start sshd“ sur la ligne de commande.

Cygwin
Cygwin

De la même manière, on peut arrêter le service avec „stop“ au lieu de „start“. La ligne de commande Windows fonctionne également : „net start sshd“. Et bien sûr, on peut aussi passer par le Panneau de configuration – Outils d’administration – Services.

Il est maintenant possible d’effectuer un premier test de connexion. Il suffit d’entrer „ssh localhost“. Il est recommandé de créer un utilisateur avec les droits souhaités sous Windows, que l’on peut ensuite utiliser pour se connecter depuis l’extérieur. Saisir ensuite „ssh-user-config“ dans la console. On peut répondre à toutes les questions par „no“, mais on peut aussi créer des fichiers de clés. Dans ce cas, utilisez un cryptage sous SSH2 pour vous connecter à ce serveur SSH. Le mot de passe ne doit bien sûr pas être facile à deviner. N’oubliez pas que l’accès depuis Internet est possible, sauf si le routeur ou le pare-feu l’interdit (par exemple en cas d’utilisation exclusive dans le réseau domestique). Il existe maintenant un répertoire .ssh dans le répertoire personnel de l’utilisateur connecté. Tapez „cd“ dans le shell, puis „ls -al“. Les droits sur le répertoire devraient ressembler à ceci : „rwx——„. Si ce n’est pas le cas, il faut taper la commande „chmod 700 .ssh“.

Tout est maintenant prêt à démarrer. La syntaxe pour tester le login par ssh est la suivante : „ssh username:serverip“. De même, par SFTP : „sftp username:serverip“. SSH et SFTP utilisent le port 22 pour la communication. Configurez le logiciel et le matériel réseau en conséquence. Vous pouvez reconfigurer le port dans le fichier sshd_config du répertoire /etc. Procédure à suivre : Arrêter le serveur, „cd /etc“, „nano sshd_config“, modifier le port, enregistrer, démarrer le serveur. Si l’accès est refusé, modifier les droits par chmod pour la durée de la modification. Dans ce fichier, il est également possible de restreindre l’accès à certains utilisateurs (AllowUsers, voir le manuel, commande : „man sshd“).

Cygwin ne dispose pas de sa propre gestion des utilisateurs, mais se sert des comptes d’utilisateurs de Windows. Une grande restriction s’applique à Cygwin : il n’est pas possible de se connecter dans le shell en tant qu’utilisateur différent de celui qui vient de se connecter sous Windows. De plus, SSH ne fonctionne que sous le compte d’utilisateur sous lequel Cygwin a été installé, car cet utilisateur est défini dans le fichier /etc/passwd. On peut contourner ces deux problèmes en copiant dans ce fichier la ligne contenant les données de l’utilisateur existant et en changeant le nom d’utilisateur. Par exemple :
test:unused_by_nt/2000/xp:0:0:PCtest,S-1-1-11-111111111-222222222-333333333-500:/home/test:/bin/bash

Les 2 chiffres après „by_nt/2000/xp“ doivent être changés en ID non utilisés, ils indiquent l’ID du groupe ou de l’utilisateur. Le même ID de groupe signifie également la même appartenance à un groupe. Il en va de même pour l’ID utilisateur. Le répertoire d’accueil, qui doit éventuellement être créé au préalable, est défini entre les deux deux deux points suivants.

Serveur (S)FTP sous SuSE Linux vsftpd

Bien sûr, avec un tel article, il faut choisir une distribution. Mon choix s’est porté sur SuSE Linux, car cette distribution est tout simplement la plus répandue actuellement. Le point de départ est une installation standard de SuSE Linux 9.2, dans laquelle SSH est déjà intégré. Google m’a rapidement indiqué s’il existait un paquet RPM de la version actuelle de vsftpd pour SuSE. Pour cet article, la version 2.0.3 était à jour. Le paquet s’appelle vsftpd-2.0.3-1.1.i586.rpm pour SuSE People, qui s’installe facilement via „YAST“. vsftpd signifie „very secure ftp daemon“, il est principalement optimisé pour la sécurité et maîtrise également SFTP.

La procédure se poursuit maintenant dans le shell. Les droits root sont nécessaires et il faut ensuite éditer le fichier vsftpd.conf dans le répertoire /etc. Tapez „vi /etc/vsftpd.conf“. Avant les lignes suivantes, le signe de commentaire principal („#“) doit être supprimé :

  • write_enable=YES (accès en écriture autorisé)
  • ftpd_banner=“Message de bienvenue à l’ouverture de session“
  • local_enable=YES (les utilisateurs locaux sont autorisés à se connecter)
  • chroot_local_user=YES (limitation au répertoire racine prédéfini)

Vous trouverez de l’aide pour la suite de la configuration en tapant „man vsftpd.conf“.

Commandes vim utiles lors de l’édition :

  • „i“ – activer le mode d’insertion avant le caractère actuel
  • „ESC“ – quitter le mode d’insertion
  • „o“ – nouvelle ligne
  • „dd“ – supprimer une ligne
  • „:wq“ – enregistrer et quitter
  • „:q !“ – quitter sans enregistrer

Le démon vsftp peut maintenant être activé. Tapez „vi /etc/xinetd.d/vsftpd“, changez la ligne „disable = yes“ en „disable = no“ et enregistrez ces modifications. Veillez à ce qu’aucun autre serveur FTP ne fonctionne en parallèle. Cela peut être vérifié à ce stade dans la ligne de commande avec „nmap localhost“ (si FTP est listé – le paquet „nmap“ doit être installé pour cela). Maintenant, il faut encore redémarrer les services réseau. Pour cela, tapez „/etc/init.d/xinetd restart“. Le serveur FTP est maintenant actif, on peut le vérifier avec „ftp localhost“. Après s’être connecté (utiliser simplement l’utilisateur actuellement connecté au système), on peut vérifier si la limitation au répertoire racine prédéfini fonctionne. Pour cela : 1. „ls“, 2. „cd …“, 3. Le même contenu de répertoire devrait être affiché dans les deux cas.

vsftpd
vsftpd

Avec „sftp localhost“, cela devrait bien sûr également fonctionner.

Les nouveaux utilisateurs et groupes peuvent être créés via „YAST – Sécurité et utilisateurs“. Voici le chemin via la ligne de commande :
Pour la gestion des utilisateurs, il faut d’abord créer un nouveau groupe, dans lequel les utilisateurs FTP virtuels seront ensuite placés. Tapez „groupadd ftpuser“ dans le shell. Un nouvel utilisateur peut maintenant être créé. Un exemple :

useradd -d /home/tester -g ftpuser -m -s /sbin/false tester
La règle est la suivante

  • „-d“ = répertoire personnel
  • „-g“ = appartenance primaire à un groupe
  • „-m“ = le répertoire personnel est créé en même temps, par défaut sous /home/
  • „-s“ = shell de connexion (utilisé ici : l’utilisateur ne peut se connecter qu’au serveur FTP, pas au système)

La ligne se termine par le nom du compte. Saisissez ensuite la ligne suivante :
passwd nom d’utilisateur

Dans cet exemple, je saisis donc : „passwd tester“. Je peux maintenant définir le mot de passe. Il y a bien le paramètre -p pour „useradd“ pour une définition de mot de passe, mais le login ne fonctionne pas avec cette méthode, du moins pour la distribution utilisée ici, car SuSE crypte par défaut avec Blowfish, que vsftpd ne peut pas décrypter. Cela ne s’applique pas si la méthode de cryptage par défaut a été modifiée lors de l’installation de SuSE.

Il est également possible de gérer une liste des noms d’utilisateurs autorisés à se connecter au serveur FTP. Cette procédure est recommandée, car elle permet d’éviter que d’autres comptes présents sur le système ne se connectent, à moins que cela ne soit explicitement autorisé. Créez un nouveau fichier „/etc/vsftpd.user_list“ et inscrivez les noms d’utilisateurs autorisés à se connecter au serveur FTP les uns en dessous des autres. A la fin du fichier „/etc/vsftpd.conf“, ajoutez les lignes suivantes :

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list

Activez et modifiez la ligne „chroot_list_enable“ à „NO“ :
chroot_list_enable=NO
„chroot“ redéfinit la racine du répertoire pour les programmes et les logins. Dans le cas d’une connexion FTP, l’utilisateur verra donc „/“ comme chemin root.

Clients FTP – 2ème partie

Client SFTP

Pour accéder à un serveur SFTP, il nous faut maintenant un client qui maîtrise cette méthode d’accès. WinSCP est ici l’un des premiers choix. Le nom WinSCP est trompeur, le programme maîtrise également SFTP.

WinSCP
WinSCP

Et bien sûr, WinSCP maîtrise également les connexions SCP. Le gestionnaire de connexions permet de choisir le type de connexion.

Le programme FTP gratuit FileZilla, déjà présenté plus haut, maîtrise également le SFTP. On accède au serveur par „sftp://“ + IP ou nom DNS. Le port est 22 par défaut.

FileZilla
FileZilla

Comme client en ligne de commande, il est recommandé d’utiliser PSFTP, disponible dans les téléchargements de PuTTY.

Saisissez open servername et authentifiez-vous. Avec la commande „help“, on peut jeter un coup d’œil sur les commandes disponibles, qui sont accompagnées d’une description de leur fonction.

Pour les utilisateurs de Total Commander, il existe également un plug-in SFTP et FTPS sur la page d’accueil de Total Commander. Prenons l’exemple du plug-in SFTP et expliquons brièvement son utilisation : Après l’installation, le plug-in est automatiquement intégré, si ce n’est pas le cas, on peut l’intégrer manuellement dans la configuration sous Plugins de système de fichiers. On peut alors appuyer sur [ALT]+[F1], sélectionner „Voisinage réseau“, on y trouve maintenant „Secure FTP Connections“ et on peut établir des connexions avec „Edit connections“.

Ligne de commande Windows

La ligne de commande Windows maîtrise également le FTP de manière native. Cliquez sur Démarrer – Exécuter et tapez „cmd“ pour que la ligne de commande s’ouvre. Tapez „ftp“ et c’est parti. Le jeu de commandes peut être consulté en tapant „help“. L’utilisation est très simple. Une session peut ressembler à ceci :

open ftp.nomserveur.fr (ouvre la connexion au serveur, forme abrégée après cmd : "ftp ftp.nomserveur.fr")
 username (nom d'utilisateur)
 password (mot de passe)
 binary (passe en mode de transfert binaire, car je veux transférer des fichiers compressés)
 cd folder (passe au répertoire "folder")
 get "fichier.7z" (télécharge le fichier "fichier.7z")
 put "datei2.7z" (télécharge le fichier "datei2.7z")
 quit

Ceci est pratique, par exemple, si l’on souhaite télécharger une sauvegarde de données par FTP sur un ordinateur distant. Pour avoir encore moins de travail, on peut mettre le tout dans un fichier batch. Dans le chemin du fichier batch, on peut alors placer un fichier texte avec les commandes FTP – dans cet exemple, du nom d’utilisateur à quit dans un fichier „ftptransfer.txt“. Dans un batch, la séquence de commandes peut ressembler à ceci :

ftp -s:ftptransfer.txt ftp.nomserveur.fr

Avec le paramètre -s, les commandes FTP sont traitées dans le fichier texte.

Transfert FXP

FXP (File Exchange Protocol) est un procédé permettant de transférer des données directement entre 2 serveurs, sans devoir passer par un client. Pour cela, les deux serveurs FTP impliqués ne doivent pas interdire cette fonctionnalité.

FXP n’est pas une fonction FTP spécifique, mais exploite les particularités des modes actif et passif. Vers un 1er serveur, un client FTP approprié envoie le signal PASV et reçoit le port et l’adresse IP du serveur. Vers un 2e serveur, il envoie le port + l’adresse IP qu’il vient de recevoir dans le signal PORT, ce qui permet d’établir une connexion entre les serveurs concernés. Les transferts de données peuvent alors être initialisés au moyen du signal STOR (1er serveur) ou RECV (2e serveur).

Un client qui maîtrise le FXP est Staff-FTP.

La première connexion est établie normalement, avant la deuxième connexion, il faut cliquer sur le bouton marqué dans la capture d’écran.

FXP mit Staff-FTP
FXP avec Staff-FTP

Une alternative est FlashFXP.

Dépannage de l’établissement de connexions FTP

Cette dernière partie est consacrée à la recherche d’erreurs, car tout ne se passe pas toujours comme prévu, en bref : la connexion du client au serveur ne fonctionne pas. On peut alors lancer une recherche d’erreurs du côté du serveur et du côté du client. Les deux cas sont décrits ci-dessous à l’aide de listes de contrôle.

Recherche d’erreurs du côté du serveur

Flussdiagramm Fehlersuche Serverseite
Organigramme Recherche d’erreurs côté serveur
    1. Le package du serveur FTP fonctionne-t-il ?
      Procédure à suivre: Regardez dans le gestionnaire de tâches si le serveur FTP fonctionne. S’il fonctionne en tant que service ou s’il est réduit dans le tray (à côté de l’horloge système), vous devez regarder dans les processus.
      Solution: démarrez le serveur FTP.
    2. Le login fonctionne-t-il localement ?
      Procédure à suivre: Connectez-vous avec un client FTP sur le même ordinateur que celui où fonctionne le serveur FTP. L’adresse du serveur est 127.0.0.1 – ne pas oublier les données d’utilisateur. Il doit exister au moins un compte avec lequel on peut se connecter. En outre, un répertoire de départ doit être défini pour l’utilisateur.
      Solution: créer un compte et définir un répertoire de départ. Le compte anonymous est idéal pour faire des tests. Contrôlez si la touche „verrouillage des majuscules“ est activée et si le mot de passe est mal écrit pour cette raison.
    3. S’il existe un deuxième ordinateur dans un réseau domestique : pouvez-vous vous connecter à l’intérieur du réseau domestique ?
      Procédure à suivre: Trouvez l’IP de l’ordinateur sur lequel fonctionne le serveur FTP. Ouvrez l’invite de commande. Pour ce faire, allez dans le menu Démarrer et cliquez sur „Exécuter“, saisissez „cmd“ et appuyez sur Entrée. L’invite de commande s’ouvre. Saisissez „ipconfig“ et appuyez sur Entrée. Vous obtenez maintenant plusieurs sorties, dont votre adresse IP. Si plusieurs adaptateurs s’affichent, cherchez un „adaptateur LAN“.
ipconfig
ipconfig

Allez maintenant sur le 2e ordinateur et ouvrez à nouveau l’invite de commande. Assurez-vous que l’ordinateur sur lequel fonctionne le serveur FTP est accessible. Tapez „ping adresse-ip-du-serveur-ftp“ dans la ligne de commande (et insérez bien sûr l’IP que vous avez déterminée plus tôt). L’ordinateur devrait répondre et les temps de réponse devraient être relativement courts.
Démarrez maintenant un programme client FTP et indiquez à nouveau le nom de l’ordinateur comme adresse du serveur et complétez les données utilisateur. Le login devrait également fonctionner ici.
Solution: Si cela ne fonctionne pas, un pare-feu logiciel pourrait être en cause. Désactivez-le à titre d’essai lorsque vous êtes déconnecté d’Internet. Si cela fonctionne, vous pouvez réactiver le pare-feu logiciel et devez libérer les ports 20 et 21 et autoriser ICMP pour la commande PING. La réponse à la question suivante explique comment procéder.

Conseil: Dans un réseau local, la résolution de nom à l’aide du nom de l’ordinateur fonctionne également. Déterminez le nom de l’ordinateur où fonctionne le serveur FTP. Pour ce faire, appuyez sur Panneau de configuration – Système [touche Win]+[Pause], passez à l’onglet „Nom de l’ordinateur“ et lisez-le, essayez à nouveau un PING depuis un autre ordinateur, mais cette fois-ci sur le nom de l’ordinateur. Vous pouvez donc également saisir le nom de l’ordinateur au lieu de l’IP dans le client FTP, pour autant que vous souhaitiez atteindre un serveur FTP dans la même zone de réseau. Le login devrait également fonctionner.

Ping-Tests
Tests ping
  1. Un(e) ami(e) peut-il/elle se connecter chez vous ?
    Procédure à suivre: La meilleure variante pour tester un serveur FTP depuis l’extérieur (c.-à-d. depuis Internet) est un test effectué par un ami – le mieux est d’être connecté avec lui par téléphone, voix sur IP (téléphone, Skype, Teamspeak ou autre) ou par Messenger afin de pouvoir réagir rapidement. Pour exclure la source d’erreur DynDNS, il devrait utiliser votre IP publique comme adresse de serveur. Sur l’ordinateur avec le serveur FTP, allez sur la page http://www.wieistmeineip.de/ pour la trouver. Votre ami devrait entrer cette adresse IP comme adresse de serveur dans le client FTP, ainsi que ses données d’utilisateur.
    Solution: si cela ne fonctionne pas, vérifiez les points suivants :
    Utilisez-vous un pare-feu logiciel ? Il doit être configuré de manière à ce que le serveur FTP puisse communiquer avec l’extérieur. Cela vaut également pour le pare-feu Windows. Si vous utilisez le pare-feu Windows, la communication doit être ouverte sur le port 21. Ouvrez la configuration du pare-feu dans le Panneau de configuration, allez dans l’onglet „Avancé“, sélectionnez la connexion réseau concernée (généralement une connexion LAN), cliquez sur „Paramètres“ et cochez la case Serveur FTP dans l’onglet „Services“. Passez ensuite à l’onglet „ICMP“ et cochez une nouvelle fois la case „Autoriser les demandes d’écho entrantes“ (PING). Les paramètres sont acceptés après deux confirmations par un clic sur le bouton OK. Le serveur FTP est maintenant accessible derrière le pare-feu XP et l’ordinateur sur l’interface réseau concernée peut être pingué.
ICMP bei der Windows-Firewall einstellen
Régler ICMP sur le pare-feu Windows

Avec d’autres pare-feu logiciels, il vous est généralement demandé lors du premier accès si l’accès doit être autorisé. Si ce n’est pas le cas, vous pouvez créer manuellement un partage de la même manière que pour la configuration du pare-feu Windows et du routeur suivant. Comme il n’est évidemment pas possible de prendre en compte toutes les configurations de pare-feu logiciel dans un tel article, je vais décrire ici à titre d’exemple la configuration dans le pare-feu personnel Kerio (installation standard, donc pas de mode d’apprentissage, c’est-à-dire pas de demande d’autorisation d’accès). Dans l’interface de configuration, allez dans „Sécurité du réseau“ et dans l’onglet „Prédéfini“. Si vous souhaitez que votre serveur FTP puisse être pingué depuis Internet, vous devez autoriser „Ping and Tracert in“ depuis Internet (cliquez sur la croix rouge). Kerio PF fonctionne sur la base d’applications, c’est pourquoi le filtre de paquets doit être configuré dans l’onglet „Applications“. Pour ce faire, cliquez sur le bouton du même nom et ajoutez une nouvelle règle comme dans la capture d’écran suivante :

Analoge Einstellungen bei der Kerio Firewall
Paramètres analogues pour le pare-feu Kerio

Avec les paramètres par défaut de ce pare-feu logiciel, la connexion et le transfert de fichiers fonctionnent désormais. D’autres pare-feux logiciels interdisent tout trafic – entrant et sortant. Dans ce cas, il faut soit autoriser le port 20 sortant et le port 21 entrant (le serveur FTP est contacté activement), soit définir une plage de ports dans le serveur FTP et autoriser le port 21 entrant dans le pare-feu logiciel (le serveur FTP est contacté passivement). Cette dernière option n’est pas possible avec GuildFTPd dans sa version actuelle, il faudrait par exemple utiliser Serv-U comme serveur FTP. Si vous utilisez un pare-feu logiciel, veillez à toujours le mettre à jour.
Utilisez-vous un routeur ? Celui-ci pourrait également empêcher la connexion. Il faut effectuer un port forwarding. Cette opération consiste à rediriger les paquets IP provenant d’Internet sur un port donné (ici 21) vers un port défini + une adresse IP derrière le routeur.
Appelez la configuration de votre routeur. Le manuel de votre routeur vous aidera à savoir comment configurer le port forwarding. Parfois, ce point s’appelle „Virtual Server“, „NAT Setup“ ou autre. Si vous avez égaré votre manuel, vous pouvez généralement le télécharger en format PDF sur le site du fabricant. En général, vous devez „forwarder“ le port 21 TCP sur l’ordinateur sur lequel le serveur FTP fonctionne.
Exemple pour un routeur modèle Draytek 2900G : appeler l’interface web du routeur – NAT Setup – Configure Port Redirection Table – Nom du service : FTP – Protocole : TCP – Port public : 21 – IP privée : 192.168.1.111 – Port privé : 21 – Cocher Active – Cliquer sur OK.
Vous trouverez d’autres instructions entre autres ici : http://portforward.com/routers.htm

Remarque importante: évitez d’inclure votre ordinateur dans la DMZ (Demilitarized Zone) – si elle existe – ; ne le faites pas non plus à des fins de test. Vous compromettriez ainsi la sécurité de l’ensemble du réseau qui se trouve derrière le routeur.

SSH et SFTP utilisent le port 22 pour la communication. Si vous utilisez la communication sécurisée (partie 2), vous devez procéder de la même manière que pour le port 21, comme décrit précédemment.
Il est recommandé d’attribuer au préalable des adresses IP fixes dans le réseau domestique et, par conséquent, de désactiver un serveur DHCP existant dans le routeur. Exemple : si l’interface web du routeur s’ouvre en entrant l’IP 192.168.1.1, vous pourriez configurer vos clients avec les adresses IP 192.168.1.101, 192.168.1.102, etc. La passerelle par défaut et le serveur DNS préféré sont dans les deux cas votre routeur, dans cet exemple donc 192.168.1.1. Vous pouvez configurer cela sous Panneau de configuration – Connexions réseau – Clic droit sur Connexion LAN et sélectionner Propriétés – Sélectionner Protocole Internet (TCP/IP) – Propriétés. Vous pouvez maintenant indiquer l’IP attribuée comme ordinateur cible lors du transfert de port. Que se passe-t-il maintenant avec les paquets de données qui arrivent sur le port 21 ? Ils sont redirigés vers l’ordinateur cible.

  • 5. le login fonctionne-t-il lors de l’utilisation du nom DynDNS ?
    Procédure à suivre: Il y a deux façons de procéder, selon le client DynDNS utilisé. Si l’on utilise un client logiciel (DynDNS Updater, DirectUpdate, DeeEnEs, etc.), on peut tester soi-même. Si l’on utilise le client dans un routeur, demander à un ami d’effectuer le login avec le nom DynDNS enregistré, car très peu de routeurs permettent d’atteindre le nom DynDNS également sur le côté interne (LAN).
    Solution: si cela ne fonctionne pas, il se peut que le nom d’hôte ne soit pas résolu correctement ou que le client DynDNS ne soit pas mis à jour. Saisissez la commande „nslookup“ dans l’invite de commande de Windows et confirmez en appuyant sur Entrée. Vous pouvez maintenant saisir un domaine – saisissez ici votre nom DynDNS et confirmez par Entrée (vous quittez la boîte de dialogue en saisissant „exit“ + Entrée). En général, l’une des réponses devrait être :„Réponse non autorisée: Nom : votre_nom_DynDNS, Adresse : l’adresse_IP_associée„.
nslookup
nslookup

Comparez l’adresse IP avec celle qui se trouve sur http://www.wieistmeineip.de/. Elle devrait être identique. Si ce n’est pas le cas, le client DynDNS du routeur ou de votre ordinateur ne se synchronise pas correctement. Vérifiez la configuration, en particulier l’orthographe correcte du nom d’hôte, du nom d’utilisateur et du mot de passe. Vous pouvez en outre vérifier le nom d’utilisateur et le mot de passe sur http://www.dyndns.org/. En haut à droite se trouve le login (Sign In). Une fois le login réussi, vous pouvez également cliquer en haut sur „My Services“. Votre nom d’hôte s’affiche alors en bas sous „Host Level Services“. En cliquant sur „Dynamic DNS“, vous voyez l’adresse IP associée et la dernière date de synchronisation. Sous „New IP Address“, votre adresse IP actuelle est affichée. Si celle-ci est différente de „IP in Database/DNS“, cliquez sur „Modify Host“. L’adresse IP est maintenant actualisée dans la base de données DynDNS et votre serveur FTP devrait être accessible via le nom DynDNS.

Dépannage du côté client

Flussdiagramm Fehlersuche Clientseite

  1. Quoi que j’essaie, je ne parviens à me connecter à aucun serveur, il y a toujours un délai d’attente.
    Solution: si vous avez installé un pare-feu logiciel supplémentaire, vérifiez s’il bloque l’établissement de la connexion. Le fichier journal du programme est utile à cet effet. Reconfigurez le logiciel en conséquence afin que le client FTP puisse communiquer.
  2. Un certain serveur FTP sur Internet n’est pas accessible, il y a toujours un délai d’attente.
    Solution: assurez-vous d’abord que le nom du serveur, le nom d’utilisateur et le mot de passe sont correctement écrits.
    La première façon de vérifier si un serveur est accessible est d’utiliser la commande PING. Cela suppose bien sûr qu’ICMP ne soit pas bloqué par un pare-feu. Tapez la commande „ping nom du serveur“ dans la ligne de commande de Windows (Démarrer – Exécuter : cmd). Les réponses permettent de tirer les premières conclusions.
    Si le serveur répond et que vous obtenez 4 lignes avec des valeurs en millisecondes, cela ressemble à ceci :

    Antwort auf PING-Anfrage
    Réponse à une requête PING

    L’ordinateur est accessible. Si l’accès par FTP ne fonctionne pas maintenant, il faut vérifier que les pare-feu côté client et côté serveur sont correctement configurés. Si vous avez exclu toutes les autres sources d’erreur, il est fort probable que le service FTP ne soit pas disponible actuellement sur le serveur.

Si vous recevez le message suivant…

Fehler“>
…, cela indique un problème avec la résolution de nom (DNS). Dans ce cas, essayez de voir si, par exemple, la commande „ping www.google.de“ ou „ping www.t-online.de“ est réussie. Si ce test est positif, cela signifie que le nom d’hôte souhaité du serveur FTP n’est pas correctement résolu. Saisissez la commande „ipconfig /flushdns“ dans la ligne de commande. Cela permet de vider le cache DNS.
Si vous ne parvenez toujours pas à résoudre correctement le nom, vous devriez vérifier vos paramètres de connexion Internet, en particulier le serveur DNS préféré et la configuration IP.
Si la réponse est „Hôte de destination inaccessible“, cela signifie que le routage vers l’hôte de destination est erroné, même si vous pouvez par ailleurs naviguer normalement sur Internet.

Ping mit kompletter URL
Ping avec l’URL complète

Si vous recevez généralement cette réponse, vous devriez vérifier les masques de sous-réseau de votre environnement réseau.
Si vous recevez de nombreux dépassements de requête, cela signifie que l’hôte est temporairement ou complètement inaccessible.

Ping mit IP
Ping avec IP

Cela indique une connexion réseau inexistante, une congestion du réseau, une erreur de résolution ARP sur le chemin du serveur, un filtrage de paquets (pare-feu) ou une erreur de routage. Parfois, un simple redémarrage du routeur (s’il existe) peut aider, mais la recherche d’un ver à l’origine du trafic peut parfois aussi permettre d’éliminer une surcharge. Vous pouvez consulter les perturbations d’Internet ici : http://www.heise.de/imonitor/
Si vous obtenez des messages d’erreur même avec un „ping localhost“ / „ping 127.0.0.1“, vous devriez réinstaller la pile TCP/IP. Pour cela, allez dans le Panneau de configuration – Connexions réseau – Clic droit Connexion au réseau local – Propriétés – Protocole TCP/IP – Désinstaller – puis redémarrer – ensuite, retournez dans cette boîte de dialogue et réinstallez le protocole TCP/IP.

  • Le login fonctionne, mais je n’obtiens rien en téléchargement ou en envoi.
    Solution: il est possible qu’un pare-feu bloque le transport. Si vous utilisez le mode de connexion actif, réglez votre client FTP sur le mode de connexion passif et réessayez.
  • Les fichiers sont téléchargés de manière incomplète.
    Solution: Il est possible que le mode de transfert utilisé ne soit pas le bon (ASCII / binaire – nous avons expliqué au début de la première partie de cette série d’articles quel est le bon choix pour quel type de fichier). Cherchez le paramètre correspondant dans votre client FTP et réglez-le sur „Automatique“. Si le client FTP ne fait pas le bon choix, vous pouvez déterminer vous-même le mode de transfert, au cas où une mise à jour du programme FTP n’aiderait pas.
    Une autre raison, plus difficile à localiser, d’un transfert erroné est la valeur MTU. Vous trouverez des instructions détaillées sur ce problème ici : http://www.gschwarz.de/mtu-wert.htm

Articles similaires