Vous êtes sur la page 1sur 7

Service FTP

Stphane Gill Stephane.Gill@CollegeAhuntsic.qc.ca

Table des matires


Introduction Protocole ftp Utilisation du client ftp Installer un serveur vsftp Configurer le service ftp Le fichier /etc/services Le fichier /etc/xinetd.d/ftp Le fichier /etc/vsftpd.conf Crer un site ftp anonyme Crer des sites ftp virtuel Rfrences 2 2 2 4 5 5 5 6 7 7 7

Document crit par Stphane Gill Copyright 2004 Stphane Gill Ce document est soumis la licence GNU FDL. Permission vous est donne de distribuer et/ou modifier des copies de ce document tant que cette note apparat clairement.

Service FTP

Introduction
Dans un rseau, le transfert de fichiers dun ordinateur un autre se pratique couramment. Bien quil existe plusieurs protocoles de transfert bass sur TCP/IP, ftp (File Transfert Protocol) est certainement le plus utilis. Il existe de nombreux serveurs ftp, dont les plus connus sont wu-ftp et proftp. Malheureusement, ces logiciels sont de vritables trous de scurit. La distribution Red Hat Linux (Fedora) inclut maintenant le serveur vsftp (Very Secure File Transfert Protocol deamon). Ce serveur ftp est reconnu comme tant un des plus scuritaires. Ce chapitre dcrit donc la configuration du service ftp avec vsftp sur un serveur Red Hat Linux.

Protocole ftp
Le protocole ftp permet de transfrer des fichiers entre ordinateurs. Les deux ports suivant sont utiliss par ftp: 21 tcp (canal de contrle) : toutes les commandes changes par le serveur et le client ftp sont transmise. 20 tcp (canal de donnes) : cest via ce port que les donnes sont changes entre le serveur et le client.

ftp peut fonctionner en mode actif ou passif. Dans le premier cas, le client contacte le serveur sur le port 21, et celui-ci transfert les donnes sur le port 20. Dans le mode passif, le client initie la connexion sur le port 21 et le serveur retourne les donnes sur un port plus grand 1024.

Utilisation du client ftp


Tout comme telnet, FTP peut tre lanc en mode commande ou en mode saisie. Aprs tablissement de la connexion, il ny a pas de diffrence entre les deux modes. Ces diffrences ne sont visibles quau dmarrage du programme, car lun des modes spcifie lordinateur hte, alors que lautre mode ntablit la connexion qu lexcution de la commande open. Lappel du client ftp est ralis comme suit :

Copyright 2004 Stphane Gill

Page 2

Service FTP

ftp [-v] [-d] [-i] [-n] [-g] [host] Les paramtres de dmarrage remplissent les fonctions suivantes :

Option -v -d -i -n -g host

Fonction Toutes les rponses de lordinateur hte sont affiches et un fichier est cr, contenant les statistiques de transfert des donnes. Activation du mode de dbogage. Dconnecte le dialogue interactif lors du transfert de plusieurs fichiers. La connexion automatique (Auto-Login) est dsactive. Si le fichier .netrc existe, le programme y cherche les informations ncessaires la connexion. Dsactive la substitution de noms de fichiers. Nom de lordinateur cible (serveur FTP).

Si vous dmarrez le programme FTP sans indiquer le nom de lordinateur hte, linvite FTP est affiche. En tapant la commande ? , le programme affiche la liste des commandes disponibles. Voici la liste des commandes :

Commande

Fonction La saisie du caractre ! dmarre un shell local. Si ce caractre est suivi par les commandes Unix, cette commande est excute dans le shell, puis le programme revient automatiquement FTP. Lappel de la commande $ macro [param] dmarre lexcution dune macro dfini laide de la commande macdef. Certains ordinateurs htes attendent un mot de passe supplmentaire pour permettre laccs certaines ressources spciales. La commande account [mot_de_passe] permet de le transmettre. La commande append fichier [fichier_distant] permet de connecter un fichier local un nom de fichier distant de lordinateur hte. Si aucun nom nest prcis pour le fichier distant, cest le nom du fichier local qui est utilis. Le transfert de donnes passe en mode ASCII. Un signal sonore est mis la fin de chaque transfert de fichier. Le transfert de donnes passe en mode binaire.

account

append

ascii bell binary

Copyright 2004 Stphane Gill

Page 3

Service FTP

bye

Termine lexcution de FTP. La commande case influe sur lanalyse des minuscules et des majuscules pour la commande mget. Si la commande case est active, les noms des fichiers transfrs sur lordinateur hte sont affichs en majuscules, les minuscules tant transformes automatiquement en majuscules. Change de rpertoire sur lordinateur hte. Le rpertoire de travail courant de lordinateur hte devient le rpertoire parent courant. Cette commande modifie les droit daccs un fichier sur lordinateur hte. La connexion FTP est interrompue, et le programme FTP revient en mode commande. Le commutateur cr permet de convertir les signaux CarriageReturn/Linefeed, ds que ce commutateur est positionn (par dfaut). La commande delete fichier permet deffacer un fichier sur lordinateur hte. Ce commutateur active ou dsactive le mode dbogage Cette commande affiche le contenu du rpertoire de lordinateur hte.

case

cd cdup chmod close cr delete debug dir

Installer un serveur vsftp


Le serveur vsftp est souvent install automatiquement lors de linstallation de Red Hat Linux. Pour vrifier sa prsence il suffit de taper la commande suivante : rpm -qa | grep vsftpd Si vsftp nest pas install, il est possible de linstaller partir du CD-ROM laide de la commande : rpm -i vsftpd-1.2.0-5.rpm

Copyright 2004 Stphane Gill

Page 4

Service FTP

Configurer le service ftp


Aprs linstallation de vsftp une configuration de base est active. Voici la liste des fichiers impliqus dans le paramtrage de vsftp: /etc/services /etc/xinetd.d./ftp /etc/vsftpd.banned_emails /etc/vsftpd.chroot_list /etc/vsftpd/vsftpd.conf

Le fichier /etc/services
Le fichier /etc/services dcrit les services TCP/IP disponibles sur un serveurs Linux. Les lignes concernant le service ftp sont les suivantes : ftp-data ftp 20/tcp 21/tcp

Ces deux lignes dfinissent les ports utiliss pour les donnes et les commandes par le service ftp. Les valeurs de ces ports sont dfinies officiellement et ne doivent pas tre modifies.

Le fichier /etc/xinetd.d/ftp
Le dmon vsftpd peut dmarrer partir de xinetd. Voici un exemple de configuration de xinetd : service ftp { socket_type wait user server server_args log_on_success log_on_failure nice disable }

= stream = no = root = /usr/local/sbin/vsftpd = += DURATION USERID += USERID = 10 = no

Linstruction nice est importante puisquelle permet de rguler la bande passante utilise. vsftp peut aussi tre dmarr en mode autonome laide de la commande :

Copyright 2004 Stphane Gill

Page 5

Service FTP

service vsftpd start

Le fichier /etc/vsftpd.conf
Voici un exemple simple de fichier vsftpd.conf : # connexion en tant quanonyme interdite anonymous_enable=NO # connexion pour les utilisateurs locaux auoriss local_enable=YES # criture interdite write_enable=NO # Upoad pour anonyme interdit anon_upload_enable=NO # cration de rpertoire pour les anonymes interdit anon_mkdir_write_enable=NO # criture de fichier pour anonyme interdit anon_other_write_enable=NO # enferme lutilisateur dans le rpertoire ftp (chroot) chroot_local_user=YES # nombre de connexions maximales autorises par une mme adresse IP per_source = 5 # interdiction de se connecter au ftp partir de cette adresse no_access = 192.168.1.3 # Rend possible la connexion dutilisateurs virtuels guest_enable=YES # souhaitable, vu que la connexion anonyme est refuse guest_username=virtual # cette option permet de limiter laccs des ports pasv_min_port=30000 # disponibles, utile derrire un firewall pasv_max_port=30999 # enregistrement des logs... xferlog_enable=YES

Copyright 2004 Stphane Gill

Page 6

Service FTP

Crer un site ftp anonyme


Un site ftp anonyme est un site qui permet des usagers qui ne possdent pas de compte usager sur un serveur dchanger des fichiers. La connexion un site ftp anonyme utilise comme authentification le nom dusager "anonymous" et comme mot de passe une adresse e-mail. Une fois connects les utilisateurs anonymes naccdent que le rpertoire /var/ftp. Voici un exemple de configuration pour un site ftp anonyme: # Permettre la connexion des usagers anonymes anonymous_enable=YES # Permettre aux usagers anonymes de tlcharger des fichiers. # Loption write_anable doit aussi tre activ. anon_upload_enable=YES # Permettre aux usagers anonymes la cration de rpertoire anon_mkdir_write_enable=NO # Permettre aux usagers anonymes lcriture de fichier anon_other_write_enable=NO # Rpertoire pour les usagers anonymes (Par dfaut: /var/ftp) anon_root = /var/ftp

Crer des sites ftp virtuel


Pour mettre en place des sites ftp virtuels, il faut dmarrer autant de dmon vsftpd quil y dhtes virtuels. Chaque dmon doit avoir sont fichier de configuration avec linstruction listen_adress = x.x.x.x o x.x.x.x est une adresse IP virtuelle.

Rfrences
La documentation officielle de vsftpd est disponible sur le site http://vsftpd.beasts.org/

Copyright 2004 Stphane Gill

Page 7