Configurer FileZilla Server FTP

Important : Cette page concerne la configuration du serveur FTP Filezilla Server et non le client FTP Filezilla, tous deux téléchargeables depuis le site du projet FileZilla.
Le client Filezilla est fourni avec une aide en ligne en français qui me paraît suffisamment claire pour la plupart des utilisateurs. Ce n'était pas le cas de FileZilla Server, dans la version 0.8.8 décrite ici, lorsque j'en ai eu besoin, début 2004, d'où cette page. Si vous recherchez des explications complémentaires sur l'utilisation ou le paramétrage du client Filezilla, vous pouvez me contacter et j'essaierai aussi de vous aider mais je n'ai pas l'intention de lui consacrer une page qui me semble superflue.

A ma grande surprise, cette page est devenue l'une des pages les plus demandées de mon site. Pour me permettre de savoir si elle répond correctement à votre attente et à vos besoins, je vous demande de bien vouloir répondre au mini-sondage en bas de page (il vous suffira de cliquer "oui" ou "non" : votre réponse anonyme me parviendra avec les statistiques de visite du site).

A ma connaissance, FileZilla et FileZilla Server ne tournent que sous Windows.

Merci de lire attentivement ceci :

Je décline toute responsabilité en cas de problème lié à l'utilisation de FileZilla Server FTP, que ce problème soit ou non lié aux explications et / ou aux conseils donnés dans cette page. En effet, la diversité des machines ne me permet pas de garantir un quelconque résultat et je ne suis pas l'auteur du logiciel.
Cette page vise seulement à vous aider à paramétrer le logiciel si vous n'êtes pas familier du transfert de fichiers ou si vous ne comprenez pas l'anglais (le logiciel n'est actuellement disponible qu'en anglais).
Si vous ne comprenez pas certaines explications ou certains termes, mieux vaut conserver les valeurs par défaut du programme, voire vous abstenir d'utiliser le logiciel tant que vous n'aurez pas pu obtenir d'explications suffisamment claires. Est-il besoin de dire que cela vaut aussi pour tout ce qui concerne le partage de fichiers et la mise en réseau ?

La version décrite ici est la version 0.8.8 (ou 8.8 selon les fenêtres). Les fenêtres d'autres versions du programme peuvent ne pas correspondre totalement au texte ou aux copies d'écran.
Les anglophones et les informaticiens chevronnés voudront bien me pardonner certaines longueurs (mais ont-ils encore quelque chose à apprendre dans cette page ?) et je les remercie d'avance de bien vouloir m'indiquer d'éventuelles erreurs aussi bien dans la traduction que dans mes explications.

Vous devez lancer le serveur et vous y connecter avant de lancer l'interface. Sinon, si vous lancez d'abord l'interface, vous devrez lancer le serveur puis vous y connecter depuis l'interface, le paramétrage n'étant pas accessible si le serveur est arrêté.

L'interface

Fenêtre de FileZilla Server Interface
La fenêtre de l'interface de FileZilla Server au démarrage, FileZilla Server ayant été lancé auparavant.
En passant la souris au-dessus des icônes, une explication apparaît dans le coin inférieur gauche de la fenêtre (à la place de "Ready" dans l'image ci-dessus).
Le nombre d'octets reçus (bytes received), la vitesse de connexion (B/s) et le nombre d'octets envoyés (bytes sent) apparaissent dans le coin inférieur droit de la fenêtre au fil des transferts de données.

Si vous lisez l'anglais, sautez ce passage qui ne donne que la traduction du menu et des principales informations de cette fenêtre et passez directement au paramétrage des utilisateurs et groupes d'utilisateurs.
Le menu :

Paramétrer les utilisateurs et les groupes d'utilisateurs

Selon l'usage que vous voulez faire de votre service FTP, vous n'aurez pas besoin de définir des groupes d'utilisateurs. Ceci ne concerne en effet que la mise à disposition de fichiers à plusieurs utilisateurs dont certains auront des paramètres communs.
Tous les utilisateurs membres d'un même groupe pourront avoir le même dossier d'entrée (home directory) sur votre machine et les mêmes droits de lecture, modification, ajout, effacement de fichiers ou de dossiers. Vous pouvez leur donner des droits différents sur le dossier d'entrée et sur chacun de ses sous-dossiers. Le dossier d'entrée doit être un dossier partagé (ou être un sous-dossier d'un dossier partagé) sur la machine qui fait office de serveur. Vous n'êtes pas tenu de donner accès à tous les sous-dossiers d'un dossier. Chaque utilisateur membre du groupe pourra en plus avoir des paramètres individuels différents de ceux de son groupe.

Icône "groupes" Icône "utilisateurs"
Créer et gérer les groupes
(2 visages superposés)
Créer et gérer les utilisateurs
(1 seul visage)

Vous pouvez ne créer que des utilisateurs individuels ou les créer comme membres d'un groupe. Vous pouvez leur demander de s'identifier par mot de passe (ce n'est pas possible pour un groupe).
Comme pour les groupes, ce dossier d'entrée doit être un dossier partagé (ou être un sous-dossier d'un dossier partagé) et vous n'êtes pas tenu de donner accès tous les sous-dossiers d'un dossier.
Les noms des utilisateurs et des groupes devront bien sûr être rigoureusement identiques sur les machines clientes et sur celle qui joue le rôle de serveur. Si votre réseau comporte plusieurs machines, chaque utilisateur ou groupe peut n'être autorisé à utiliser qu'une seule d'entre elles car c'est son nom qui sera ou non reconnu par le serveur FTP.

Fenêtre de configuration des groupes d'utilisateurs
La fenêtre de configuration des groupes d'utilisateurs.

Configurer des groupes ou des utilisateurs
Commencez par la partie supérieure droite de l'écran et cliquez sur "Add" pour ajouter un groupe ou un utilisateur. Saisissez un nom (espace, chiffres et lettres admis, évitez toutefois les caractères accentués et faites attention aux minuscules et majuscules qui peuvent poser problème sur certains systèmes) et cliquez "OK" pour valider (ou "Cancel" pour annuler).
Quand des groupes ou des utilisateurs sont créés, vous pouvez les supprimer ("Remove"), modifier leur nom ("Rename") ou les copier ("Copy" : le programme vous demande alors d'entrer le nom du nouveau groupe ou utilisateur qui hérite de toutes les propriétés de celui que vous recopiez).
Sélectionnez un groupe ou un utilisateur et passez à la partie centrale de l'écran ("Access Rights") pour définir ses droits d'accès aux fichiers.
Vous retrouvez les boutons "Add" (Ajouter), "Remove" (Supprimer) et "Rename" (Renommer : permet de changer de dossier ou de chemin d'accès) plus un nouveau bouton "Set as home dir" (Définir comme home directory c'est à dire comme répertoire ou dossier de base). Le dossier de base doit être le dossier de niveau le plus élevé accessible par l'utilisateur, il contiendra tous les autres dossiers et sous-dossiers accessibles par cet utilisateur. Rien ne vous oblige à donner accès aux fichiers qu'il contient, les droits de l'utilisateur peuvent être limités à un ou plusieurs sous-dossiers du dossier de base.
Sélectionnez un dossier et cochez les cases correspondant aux droits que vous voulez accorder :

Notez qu'un double-clic sur un nom de dossier rouvre l'arborescence de votre disque et permet de changer de dossier sans devoir passer les boutons "Delete" et "Create" alors que 2 clics successifs permettent de modifier le nom ou le chemin de ce dossier comme le bouton "Rename".
Quand vous avez fini, cliquez "OK" pour valider l'ensemble de vos saisies ou "Cancel" pour les annuler.

Particularités pour les groupes :
Sur un serveur de pages perso par exemple, vous pourrez utiliser ":u" à la place du nom d'utilisateur dans les noms de dossiers si le dossier de base de chacun porte le nom de l'utilisateur.
La zone "Group settings", en bas, au centre de l'écran comporte 2 cases à cocher :

Particularités pour les utilisateurs individuels :
La zone "Accounts settings", en bas, au centre de l'écran comporte les mêmes cases à cocher que les groupes et 2 options supplémentaires :

Si vous n'affectez pas de dossiers à un utilisateur membre d'un groupe, il hérite des dossiers et des droits du groupe.
Vous devez attribuer au moins un dossier à tout utilisateur non membre d'un groupe... sinon il n'aura accès à aucun fichier du serveur.
Si le même nom d'utilisateur est utilisé dans 2 groupes différents, il correspond à 2 utilisateurs distincts, avec des droits différents.

Les autres réglages

Fenêtre des options
La fenêtre des options.

Réglages généraux (General settings)
Les différentes options de cette page sont les suivantes:

Message d'accueil (Welcome message)
Saisissez dans cette fenêtre le texte du message d'accueil qui pourra s'afficher sur l'écran de vos visiteurs (si leur logiciel client le permet). Vous pouvez conserver le message par défaut, le modifier ou en taper un nouveau. Il n'y aura pas de retour à la ligne automatique et les lignes de plus de 70 caractères seront tronquées. Les lignes blanches en début ou en fin de message ne seront pas affichées.
La chaîne "%v" affiche automatiquement la version de FileZilla Server. Pour afficher le signe % comme texte, vous devez entrer la chaîne "%%".

Réglages du mode passif (Passive mode settings) :
Utilisez des réglages personnalisés du mode passif si vous utilisez le serveur derrière un routeur NAT ou un pare-feu (firewall). La plupart des demandes d'aide que je reçois concernent l'utilisation de FileZilla Server sur une machine équipée d'un modem-routeur. Cela me semble en effet la partie la plus difficile pour les novices.
Dans ce cas, l'adresse IP du serveur est inaccessible de l'extérieur et vous devez l'indiquer ici. Vous avez le choix entre 3 options :

Si ces explications ne suffisent pas ou vous paraissent encore trop obscures, vous pouvez tenter de vous reporter au site Le Cochon sidéral qui consacre une rubrique au paramétrage de FileZilla Server en mode passif en termes relativement simples.

Réglages de sécurité (Security settings) :
Cette section propose 4 cases à cocher. Il s'agit ici de bloquer les transferts de serveur à serveur qui sont le plus souvent inutiles et encombrent les circuits. Voici d'abord une traduction des explications sur le sujet.
S'il est activé, le filtre IP vérifie l'adresse IP du côté distant quand un transfert est demandé. Si l'adresse IP ne correspond pas à l'adresse IP distante du circuit de contrôle, le transfert sera refusé.
FXP est souvent utilisé pour des transferts Warez illicites. Des attaques par tremplin peuvent aussi servir à une attaque DoS (Deny of Service = refus de service) parce qu'un utilisateur mal intentionné pourrait lancer une série de transferts de serveur à serveur qui ont un impact important sur la bande passante et l'accessibilité du serveur.
Si le filtre IP strict est activé, l'adresse IP entière est vérifiée. Mais cette option peut, par exemple, poser problème avec des serveurs proxy qui utilisent plusieurs adresses.
Pour éviter cela, vous pouvez désactiver le filtre IP strict. Dans ce cas, seules les 3 premières parties de l'adresse IP seront vérifiées. Mais ceci réduit la sécurité par rapport aux attaques FXP et par tremplin.
Vous devez choisir entre sécurité et compatibilité. Pour un résultat optimal, vous devriez bloquer tous les transferts FXP et n'activer le filtre strict que pour les transferts entrants.
Voici donc les cases à cocher :

Divers (Miscellaneous)
Une case à cocher (Don't show passwords in message log) permet de ne pas afficher les mots de passe dans le message de login. Il semble judicieux de la cocher.
Une autre case (Start minimized) permet de faire démarrer l'interface dans une fenêtre réduite. En fait, soit vous souhaitez utiliser l'interface pour suivre les transferts, soit vous ne le souhaitez pas et vous n'avez pas besoin de la lancer.
Enfin, une zone de saisie vous permet d'ajuster la taille du tampon de transfert (Transfer buffer size). La valeur par défaut est 4096. Si vous avez de très basses vitesses de transfert, vous pouvez tenter d'ajuster cette valeur.

Réglages de l'interface d'administration (Admin interface settings)
FileZila Server peut être administré à distance.
Par souci de sécurité, ces réglages ne peuvent se faire qu'en local, l'adresse IP de votre serveur étant 127.0.0.1.
Une zone de saisie vous propose de modifier le port sur lequel suivre l'interface d'administration (Port on which the admin interface should listen). La valeur par défaut est 14147. Il n'y a normalement pas lieu de la modifier.
L'adresse 127.0.0.1 existe toujours et ne peut être supprimée. Vous pouvez toutefois lier l'interface d'administration à d'autres adresses IP que vous saisirez dans une zone de liste déroulante (Bind the admin interface to the following IP addresses). Le caractère * permet de lier à toutes les adresses.
Une autre liste déroulante (IP addresses which are allowed to connect to the admin interface) permet de saisir une liste d'adresses autorisées à accéder à l'interface d'administration. L'adresse 127.0.0.1 est toujours autorisée et il n'y a pas lieu de la saisir dans la liste. Les jokers (wildcards) sont admis dans cette liste et vous pouvez saisir des adresses IP telles que 123.234.12?.* (le ? remplace toutes les valeurs de 0 à 9 pour ce caractère et * remplace toutes les valeurs de 0 à 999 pour cette partie de l'adresse IP)
Un mot de passe peut être utilisé pour l'administration à distance (fortement conseillé) et doit être saisi à l'identique dans les 2 zones de saisie (New Password et Retype new Password). Attention aux minuscules et majuscules si vous devez saisir votre mot de passe sur des machines qui font la différence. Ce mot de passe est inutile pour l'administration en mode local.
Si un de mot passe existe déjà, une case à cocher (Change admin password) est disponible et permet d'autoriser ou non le changement du mot de passe.

Fichier de suivi (Logging)
Vous pouvez enregistrer le suivi des transferts dans un fichier en activant la case "Enable logging to file". Sinon le reste de cette section ne vous concerne pas.
Si vous choisissez d'activer cet enregistrement, une autre case (Limit log file size to) vous permet d'entrer la taille maxi du fichier (100 ko par défaut).
Le nom de ce fichier est "FileZilla Server.log" mais vous pouvez choisir d'en changer chaque jour et d'effacer automatiquement les fichiers les plus anciens. Pour cela vous disposez de 2 boutons et d'une zone de saisie :

Réglages GSS (GSS Settings)
Ceci vous permet d'activer le support de Kerberos GSS pour Windows, version 2.2 beta 2 ou suivantes. Les versions plus anciennes telles la 2.1 risquent de faire planter FileZilla Server si un utilisateur tente de s'authentifier... à utiliser avec circonspection.
Kerberos GSS est l'un des protocoles de cryptage de données (mot de passe et données) utilisables lors de transferts sur le web.

Limites de vitesse (Speed limits)
Afin d'optimiser votre connexion réseau, FileZilla Server vous permet de fixer des limites que vous pouvez ajuster en fonction des jours et de plages horaires aussi bien que pour la réception de fichiers que pour l'envoi. La valeur par défaut, vitesse illimitée (No limit) devrait convenir à la plupart des utilisations. Il se peut toutefois qu'une réduction de la vitesse de transfert permette de mieux partager la bande passante entre plusieurs transferts simultanés.