Académique Documents
Professionnel Documents
Culture Documents
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.
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
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
Page 4
Service FTP
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 }
Linstruction nice est importante puisquelle permet de rguler la bande passante utilise. vsftp peut aussi tre dmarr en mode autonome laide de la commande :
Page 5
Service FTP
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
Page 6
Service FTP
Rfrences
La documentation officielle de vsftpd est disponible sur le site http://vsftpd.beasts.org/
Page 7