Vous êtes sur la page 1sur 17

Implémenter le serveur FTP

1
Présentation de protocole FTP.
• Le protocole FTP (File Transfert Protocol, en français protocole de
transfert de fichiers) permet d’envoyer ou récupérer des fichiers sur
un réseau TCP/IP en utilisant le modèle client-serveur.
• vsftpd (Very Secure FTP Daemon) est un serveur FTP pour les
systèmes UNIX, y compris Linux. Les principales qualités qui lui
sont reconnues sont sa légèreté, sa configuration simple , sa
puissante et sa sécurité.
• vsftpd est capable de s’exécuter dans deux modes : xinetd ou
Standalone. Le premier sera à privilégier si les connexions clientes sont
rares, le second si les connexions sont plus fréquentes.

2
Les modes standalone et xinetd
Avant le développement d’inetd, tous les services réseau étaient démarrés en arrière-plan au
démarrage du système. Peu importe si ces processus allaient effectivement être utilisés ou
non, Ces services sont dits fonctionnant en mode « autonome » ou « standalone ».
Au fils du temps, le nombre de démons développés pour répondre à des besoins les plus
divers a constamment augmenté, à tel point que des problèmes de performance ont
commencé à se poser. Pour résoudre cette difficulté, l’université de Berkeley a développé
inetd (aujourd’hui xinetd), qui peut être considéré comme un « Super Serveur Internet », à
l'écoute sur plusieurs ports. Il s’agit également d’un processus fonctionnant en arrière plan,
mais dont le rôle est de recevoir les demandes de connexion de plusieurs clients (telnet,
ftp,...) et de lancer le serveur correspondant à la demande.

3
Les ports multiples de FTP.
• Contrairement à la plupart des protocoles utilisés sur Internet, FTP a
besoin de multiples ports réseau afin de pouvoir fonctionner
correctement.
• Lorsqu'une application FTP cliente établit une connexion avec un serveur
FTP, elle ouvre le port 21 sur le serveur appelé port de commande. Ce
port est utilisé pour exécuter toutes les commandes destinées au serveur.
• Toute donnée requise du serveur est renvoyée au client via un port de
données. Le numéro de port pour les connexions aux données et la manière
selon laquelle les connexions aux données est effectuée varient selon que
le client demande les données en mode actif ou en mode passif.

4
Les modes multiples de FTP
Mode actif :
 C'est le mode utilisée à l'origine par le protocole FTP.
 Le client établi dans un premier temps une session TCP sur le port 21 (FTP) du
serveur ("control channel"). Une fois la session établie et l'authentification FTP
acceptée, le serveur établit une connexion depuis le port 20 vers un port aléatoire,
non-privilégié (supérieur à 1024) spécifié par le client.
 Dans une telle situation, l'ordinateur client doit être autorisé à accepter des
connexions sur tout port supérieur à 1024. Avec le nombre croissant de réseaux non-
sécurisés, tels que l'Internet, l'utilisation de pare-feu pour protéger les ordinateurs
clients est désormais très répandue. Étant donné que ces pare-feu côté client refusent
souvent les connexions entrantes originaires de serveurs FTP en mode actif, il est
recommandé d'utiliser le mode passif.

5
Les modes multiples de FTP
Mode actif :

6
Les modes multiples de FTP
Mode passif :
 Le mode passif, tout comme le mode actif, est engendré par l'application client FTP sur
le port 21 coté serveur. Lors d'une demande de données auprès du serveur, le client FTP
indique qu'il souhaite accéder aux données en mode passif et le serveur fournit une
adresse IP et un port aléatoire, non-privilégié (supérieur à 1024) sur le serveur. Le
client se connecte alors à ce port sur le serveur afin de télécharger les informations
demandées.

 Alors que le mode passif résout les problèmes d'interférence du pare-feu côté client
avec des Connexions aux données, il peut rendre plus complexe l'administration du pare-
feu côté serveur. En limitant dans le fichier de configuration du serveur FTP, l'éventail
des ports non-privilégiés disponibles pour des connexions passives, il est possible de
restreindre le nombre de ports ouverts sur un serveur, ce qui permet également de
simplifier la création de règles de pare-feu pour le serveur.

7
Les modes multiples de FTP

• Mode passif :

8
Installation de serveur vsftpd
L‘installation du vsftpd se fait grâce à la commande rpm ou de l’utilitaire YUM :
rpm –ivh vsftpd-…….rpm
La configuration du service vsftpd peut se faire à travers les fichiers suivants :
– /etc/vsftpd/vsftpd.conf : Le fichier de configuration de vsftpd.
– /etc/vsftpd/ftpusers : Une liste des utilisateurs qui ne sont pas autorisés à se
connecter à vsftpd. Par défaut cette liste inclut entre autres les utilisateurs root, bin et
daemon.
– /etc/vsftpd/user_list : Ce fichier peut être configuré de manière à refuser ou
permettre l'accès aux utilisateurs faisant partie de la liste, selon que la directive
userlist_deny a pour valeur YES (par défaut) ou NO dans /etc/vsftpd/vsftpd.conf.
– /var/ftp/ : Le répertoire contenant les fichiers fournis par vsftpd. Il contient
également le répertoire /var/ftp/pub/ pour les utilisateurs anonymes.

9
Démarrage et arrêt de vsftpd

• Pour démarrer, arrêter ou redémarrer ce serveur, connectez-vous en tant

que super-utilisateur et tapez la commande suivante :

service vsftpd start|stop|restart

• Pour démarrer le service au démarrage de la machine

chkconfig vsftpd on

10
Options de configurations.

• Toute configuration de vsftpd est traitée par son fichier de configuration,

/etc/vsftpd/vsftpd.conf. Chaque directive apparaît sur sa propre ligne au

sein du fichier et suit le format suivant :

<directive>=<value>

• Remarque : Dans une directive, aucun espace ne doit figurer entre la

<directive>, le signe égal et l'élément <value>.

11
Options de configurations.

12
Options de configurations.

13
Les commandes ftp

14
Les commandes ftp

15
Exemple

16
Démarrage de multiples instances de
vsftpd
• Parfois un seul serveur est utilisé pour héberger plusieurs sites ftp appartenant à
plusieurs domaines. L’un des moyens utilisés pour atteindre cet objectif est de
démarrer plusieurs instances de vsftpd.
• Pour réaliser cette tâche :
– Chaque site ftp doit être associer à une adresse IP différente
– Chaque site doit avoir son propre fichier de configuration (exemple :
/etc/vsftpd/vsftpd-site-2.conf).
– A l’intérieur de chaque fichier de configurarion on doit modifier la directive :
listen_address=N.N.N.N
N.N.N.N : adresse IP associée au site ftp
– Démarrer les instance multiple de vsftpd :
vsftpd /etc/vsftpd/<configuration-file>

17

Vous aimerez peut-être aussi