EEIJ

Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux


Sommaire

On se lasse de tout, sauf de comprendre.
Attribué à Virgile.

Installer et configurer le serveur ProFTPd

Historique

6 mars 2013 : Reprise de la page de l'ancien site de Païou et actualisation.
12 août 2013 : refonte, avec une page séparée des bases de FTP.

Difficulté

Pour : utilisateur un peu curieux.

Introduction

Le File Transfer Protocol est un protocole qui permet à des ordinateur distants d'échanger des fichiers à travers un réseau.
Les applications sont multiples :

Haut

Un peu de théorie

Regardez attentivement la page relative aux bases de FTP Cliquez

Elle vous sera très utile pour :

Haut

Installation

Le paquetage s'appelle proftpd. L'installation peut se faire :

Haut

Configuration

La configuration se fait grâce au fichier /etc/proftpd.conf.
Proftpd utilise une configuration "façon apache". Des modules additionnels permettent d'étendre les possibilités de proftpd. Proftpd est bien indiqué pour un usage 'professionnel'.

Configuration par défaut

La configuration par défaut convient bien dans la plupart des cas.
Vous pouvez la découvrir ci-dessous

Pour les curieux, survolez : La configuration par défaut, en détail

Configuration générale

La configuration par défaut, prévoit :

  • la possibilité d'inclure des modules supplémentaires : Include /etc/proftpd.d/*.conf,
    ModulePath /usr/lib/proftpd, ModuleControlsACLs insmod,rmmod allow user root et ModuleControlsACLs lsmod allow user *
  • la possibilité de redéfinir le nom de votre serveur : ServerName "ProFTPD Default Installation"
  • de pouvoir modifier le mode de démarrage du serveur : ServerType standalone (démarrage en même temps que la machine) ou inetd (par le démon xinet, à la demande)
  • d'étendre le canal de contrôle pour pouvoir recevoir certaines réponses sur plusieurs lignes: MultilineRFC2228 on
  • de définir un temps maxi d’inactivité avant de déconnecter = 10 mn (TimeoutNoTransfer 600)
  • de définir un temps maxi sans recevoir de données en data = 10 mn (TimeoutStalled 600)
  • de définir un temps maxi sans recevoir de données ni en data, ni en control = 20 mn (TimeoutIdle 1200)
  • de ne donner aucune information relative au serveur utilisé : DeferWelcome off
  • d'afficher un message lorsqu'un client se connecte : DisplayLogin welcome.msg
  • d'afficher un message lorsqu'un client change de répertoire : DisplayChdir .message
  • de permettre la reprise, après interruption, du transfert de fichiers vers le serveur : AllowStoreRestart on
  • de limiter le nombre d'instances, pour éviter les attaques dos : MaxInstances 30
  • de définir sous quelle identité est lancé le serveur : User nobody et Group nogroup
  • de permettre de gérer la journalisation : TransferLog /var/log/proftpd/proftpd.log et SystemLog /var/log/proftpd/proftpd.log

Manipulations sur les fichiers/dossiers

La configuration par défaut, prévoit :

  • de voir les liens symboliques : ShowSymlinks on
  • d'afficher un fichier par ligne, pour le contenu des répertoires : ListOptions "-l"
  • d'éviter les attaques dos avec ../../.. : DenyFilter \*.*/
  • d'éviter que les fichiers ou répertoires créés puissent être modifiés par le monde entier : Umask 022 022
  • de permettre de cantonner les utilisateurs dans leur répertoire, en modifiant la ligne : #DefaultRoot ~
  • d'autoriser le remplacement des anciens fichiers par des nouveaux : AllowOverwrite on

Configuration réseau

La configuration par défaut, prévoit :

  • de ne pas utiliser un adressage IP version 6 : UseIPv6 Off
  • le port 21 est le port FTP standard : Port 21
  • de permettre de spécifier la plage de ports passifs que ProFTPd utilisera pour répondre aux clients, en modifiant la ligne : #PassivePorts 49152 65534
  • de permettre de désactiver une fonction qui optimise l'envoi de fichiers au client (enlevez le #) : #UseSendFile off

Configuration de l'authentification

La configuration par défaut, prévoit :

  • de permettre de maintenir le mot de passe durant toute une session cantonnée, en modifiant la ligne : PersistentPasswd off

Configuration de l'accès anonyme

La configuration par défaut, prévoit :

Options pour les utilisateurs authentifiés

La configuration par défaut, prévoit :

Haut

En travaux Travaux

La configuration se fait soit par le Centre de Contrôle, soit par l'édition du fichier de configuration.

Haut

Affiner avec un éditeur

Vous pouvez souhaiter affiner le configuration avec un éditeur.

Ouvrir un éditeur en administrateur

Sauvegardez le fichier d'origine

Enregistrez sous ... proftpd.conf.origine
Rechargez le fichier proftpd.conf

Limiter le nombre de ports passifs

Si vous avez un pare-feu, il est utile de limiter le nombre de ports à ouvrir.
Remplacez la ligne #PassivePorts 49152 65534 par PassivePorts 50000 50050

Pour ne pas donner d'info précise sur le serveur

Remplacez la ligne DeferWelcome on par DeferWelcome off

Franciser les messages d'accueil

Vous modifiez les deux lignes (en fin de fichier), comme par exemple :
AccessGrantMsg " -- Accès autorisé pour %u --"
AccessDenyMsg " !-!! ACCÈS REFUSÉ !!-! VOUS NE SEMBLEZ PAS Y ÊTRE AUTORISÉS !!"

Autorisez les accès anonymes

Vous souhaitez peut-être permettre un accès anonyme, c'est à dire un accès à n'importe quel usager, généralement en lecture seule, et à un répertoire bien défini.

Vous ajoutez les lignes suivantes :
# Include anonymous
Include /etc/proftpd-anonymous.conf

Par défaut, les utilisateurs anonymes auront accès aux seuls répertoires /var/ftp et ses sous-répertoires, en lecture seule.

Pour attribuer un autre répertoire, vous devez modifier le fichier /etc/proftpd-anonymous.conf, après avoir sauvegardé l'original, comme pour /etc/proftpd.conf
Remplacez, dans la ligne :
Anonymous ~ftp par votre répertoire, par exemple Anonymous /home/ftp

Haut

Démarrage

Maintenant que vous avez configuré, vous n'avez plus qu'à activer les changements.
Pour ceci, vous relancez le service proftpd.

Le serveur FTP est prêt. Ne refermez pas encore le Centre de Contrôle. Vous devez également configurer le pare-feu, s'il est actif.

Haut

Configuration du pare-feu

Si le serveur FTP intègre un pare-feu ou est placé derrière un pare-feu, vous devrez ouvrir les ports utilisés par FTP.

Haut

Utilisateurs virtuels et hôte virtuel

Utilisateurs virtuels

Vous avez peut-être besoin de définir des permissions pour des utilisateurs autres que ceux qui sont enregistrés sur le serveur FTP (qui figurent dans le fichier /etc/passwd) : des utilisateurs virtuels.

Rendez-vous à la page Configurer le serveur ProFTPD pour des utilisateurs virtuels Cliquez.

Hôte virtuel

La même machine physique peut abriter un ou plusieurs serveurs ProFTPD supplémentaires : des hôtes virtuels.
Les utilisateurs peuvent y accéder en donnant une adresse IP différente ou un port différent (ou les deux).

Rendez-vous à la page Configurer le serveur ProFTPD pour des hôtes virtuels Cliquez.

Haut