File Transfer Protocole : Le but du mini-projet est d’effectuer la configuration du serveur FTP, afin de permettre le transfert de fichier à partir du poste serveur vers des postes clients.FTP, ou File Transfer Protocol (protocole de transfert de fichiers), est un protocole de communication. Dans les réseaux informatiques et les télécommunications, un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier.
Atmani Amal Benabdallah Mohammed Koulali Sara Ecole Nationale des Sciences Appliquées d’Oujda
14/05/2009
FTP : File Transfer Protocole
Partie 1 : GENERALITE : I. FTP : File Transfer Protocole : FTP est destiné à l'échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers vers un autre ordinateur du réseau, d'administrer un site web, ou encore de supprimer ou de modifier des fichiers sur cet ordinateur. Ceci s’effectue par Internet ou par le biais d'un réseau informatique local (intranet) La variante de FTP protégée par les protocoles SSL (Secure Socket Layer) ou TLS (Transport Layer Security), SSL étant le prédécesseur de TLS, s'appelle FTPS. SSL et TLS sont un protocole de sécurisation des échanges sur Internet. FTP obéit à un modèle client-serveur, c'est-à-dire qu'une des deux parties, le client, envoie des requêtes auxquelles réagit l'autre, appelé serveur. En pratique, le serveur est un ordinateur sur lequel fonctionne un logiciel luimême appelé serveur FTP, qui rend public une arborescence de fichiers similaire à un système de fichiers Unix. Pour accéder à un serveur FTP, on utilise un logiciel client FTP (possédant une interface graphique ou en ligne de commande).
II. FTP : Modes d’utilisation : Le protocole, qui appartient à la couche session du modèle OSI et à la couche application du modèle ARPA, utilise une connexion TCP. Il peut s'utiliser de deux façons différentes : • Mode actif: c'est le client FTP qui détermine le port de connexion à utiliser pour permettre le transfert des données. Ainsi, pour que l'échange des données puisse se faire, le serveur FTP initialisera la connexion de son port de données (port 20) vers le port spécifié par le client. Le client devra alors configurer son pare-feu pour autoriser les nouvelles connexions entrantes afin que l'échange des données se fasse. De plus, il peut s'avérer problématique pour les utilisateurs essayant d'accéder à des serveurs FTP lorsqu'ils sont derrière une passerelle NAT. Étant donnée la façon dont fonctionne le NAT, le serveur FTP lance la connexion de données en se connectant à l'adresse externe de la passerelle NAT sur le port choisi. Certaines Atmani Amal, Benabdallah Mohammed, Koulali Sara
2
FTP : File Transfer Protocole
passerelles NAT n'ayant pas de correspondance pour le paquet reçu dans la table d'état, le paquet sera ignoré et ne sera pas délivré au client.
• Mode passif : le serveur FTP détermine lui-même le port de connexion à utiliser pour permettre le transfert des données (data connexion) et le communique au client. En cas de présence d'un parefeu devant le serveur, celui-ci devra être configuré pour autoriser la connexion de données. L'avantage de ce mode, est que le serveur FTP n'initialise aucune connexion. Ce mode fonctionne sans problèmes avec une passerelle NAT. Dans les nouvelles implémentations, le client initialise et communique directement par le port 21 du serveur; cela permet de simplifier les configurations des pare-feu serveurs.
III. FTP : Les logiciels : Le port par défaut et le plus souvent utilisé, lors de la connexion à un serveur FTP, est le port 21. On trouve de nombreux serveurs FTP pour Linux/Unix/BSD comme : • • •
ProFTPd, Pure-FTPd, VsFTPd.
Sous Windows, on trouve : • •
FileZilla Server, Pure-FTPd,
D’un autre côté, Il existe de nombreux clients en ligne de commande, comme ftp, Wget, CURL en téléchargement ou Wput pour déposer des fichiers. La plupart des logiciels possèdent désormais une interface graphique permettant de mettre en place un serveur FTP ou de se connecter à celui-ci pour y copier des données (client FTP). Certains logiciels tels que CuteFTP (Windows) sont payants ; d'autres, tels que FileZilla (multiplate-forme), KamzyFTP (Windows), Cyberduck (MacOSX) ou gftp (Linux) sont gratuits et libres. On peut également citer FTP explorer (Shareware pour Windows), aussi pratique à utiliser que l'explorateur de fichiers, ou encore FireFTP, extension Atmani Amal, Benabdallah Mohammed, Koulali Sara
3
FTP : File Transfer Protocole
pour Firefox. Pour des utilisations plus poussées (commandes spéciales etc.) un logiciel tel que FlashFXP (payant) peut être intéressant.
IV. FTP : Diagramme des flux :
V. FTP : Principe incipe de base : Le client ouvre une session FTP sur un serveur. Un serveur FTP requiert une identification du client. Il existe souvent un compte "anonyme", qui donne accès en lecture seule dans la partie publique du serveur, mais il existe également des parties privées où les clients disposant d'un compte peuvent accéder en écriture sur certains répertoires de l'arborescence.
Entre serveur et utilisateur FTP Atmani Amal, Benabdallah Mohammed, Koulali Sara
4
FTP : File Transfer Protocole
Le client FTP, par l'intermédiaire de l'interface utilisateur, va cacher les diverses commandes du protocole FTP par des manipulations plus conviviales, en proposant à l'utilisateur une vision des choses similaire à un gestionnaire de fichiers. Avec des clicks et des "glisser/déposer" l'utilisateur exploitera FTP sans en connaître la multitude de commandes. Mais sachez qu'avec beaucoup de courage et de connaissance du protocole, vous pourriez utiliser Telnet pour faire du FTP.
Atmani Amal, Benabdallah Mohammed, Koulali Sara
5
FTP : File Transfer Protocole
Partie 2 : PRATIQUE : Le serveur FTP qu’on a choisi d’utiliser est : VsFTPd. VsFTPd, ou Very secure FTPd est un serveur FTP conçu avec la problématique d'une sécurité maximale. Contrairement aux autres serveurs FTP (ProFTPd, PureFTPd, etc.), aucune faille de sécurité n'a jamais été décelée dans VsFTPd. Ce serveur est notamment utilisé à grande échelle par des entreprises telles que Red-Hat.
I. FTP : Installation : L’installation du paquet VsFTPd se fait en appliquant la commande apt-get install vsftpd
II. FTP: Configuration: Pour configurer le serveur FTP on édite le fichier : /etc/vsftpd.conf. Ce fichier contient les instructions qui permettent le bon fonctionnement du serveur. Pour permettre aux utilisateurs locaux (ceux qui ont un compte sur la machine) de se connecter au serveur et d'écrire, on utilise : local_enable=YES write_enable=YES Pour permettre la configuration du chmod par défaut que prendront les fichiers et les dossiers, on utilise : local_umask=077 Il est possible de personnaliser le texte de connexion au serveur en initialisant la variable : ftpd_banner Et pour empêcher la connexion d’utilisateur anonyme au serveur, on initialise la variable anonymous_enable à NO. Atmani Amal, Benabdallah Mohammed, Koulali Sara
6
FTP : File Transfer Protocole
Ceci parmi d’autres.
III. FTP : Utilisateur : L’utilisation d’un serveur ftp nécessite bien évidemment l’existence d’utilisateurs. Ces derniers peuvent être créés par trois méthodes : des comptes LDAP, en utilisant une base de données ou bien par ligne de commande. On a choisi de créer des utilisateurs en utilisant la ligne de commande : adduser
Tout en spécifiant après le mot d passe du compte.
IV. FTP : Connexion au serveur : 1. Sous Linux : Un serveur client existe déjà sur la machine. Pour se connecté au serveur il suffit d’exécuter la commande : ftp Il est possible de se connecter en mode actif, et ce en spécifiant le port de connexion après l’adresse ip du serveur, ou passif, et ce en laissant le serveur spécifier le port de connexion. Ensuite, il fait s’identifier pour accéder au serveur. Pour visualiser l’ensemble des commandes disponibles, et connaître l’utilité de chacune, on utilise help.
2. Sous Windows : Nous avons choisi d’installer « FileZilla_3.2.4.1_win32setup.exe » comme client Windows.
Atmani Amal, Benabdallah Mohammed, Koulali Sara
7
FTP : File Transfer Protocole
1-Hôte : Entrez ici l'adresse du serveur ftp à laquelle vous souhaitez vous connecter. N'entrez le protocole que s'il s'agit d'un serveur SFTP. 2-Identifiant : A entrer si besoin 3-Mot de passe : A entrer si besoin 4-Port : Par défaut, 21 pour FTP et 22 pour SFTP
1-Menu/Barre d'outils/Connexion rapide : Différentes options proposées par FileZilla. Nous verrons plus en détail la partie du menu Edition / Configuration. 2-Journal des messages :
Atmani Amal, Benabdallah Mohammed, Koulali Sara
8
FTP : File Transfer Protocole
C'est la liste des échanges entre le serveur FTP et FileZilla.
3-Affichage du site en local : Vous pouvez ici explorer le contenu de votre site local. Celui-ci se présente quasiment comme le site distant.
4-Affichage du site distant : Vous pouvez ici explorer le contenu de votre site distant. Vous pouvez télécharger les fichiers depuis le site distant. Un menu contextuel vous permet de télécharger les fichiers depuis le serveur ou les placer en file d'attente 5-File d'attente : Liste des fichiers ou dossiers présents dans la file d'attente quand l'envoi comporte plus d'une entité.
- FileZilla : Configuration : Il est possible d'optimiser FileZilla en le configurant à ses besoins. Pour le configurer, allez dans Edition / Configuration. Vous obtenez cet écran :
Atmani Amal, Benabdallah Mohammed, Koulali Sara
9
FTP : File Transfer Protocole
Vous pouvez définir le type de transfert de fichier par défaut (Auto, ASCII ou Binaire)
Atmani Amal, Benabdallah Mohammed, Koulali Sara
10
FTP : File Transfer Protocole
Le plus simple est de laisser Automatique par défaut. Il passera en ASCII pour les types de fichiers de la liste du bas. Vous pouvez modifier cette liste.
Atmani Amal, Benabdallah Mohammed, Koulali Sara
11
FTP : File Transfer Protocole
WEBLIOGRAPHIE :
• http://www.google.fr/ • http://fr.wikipedia.org/wiki/File_Transfer_Protocol • http://www.commentcamarche.net/contents/internet/ftp.php3 • http://doc.ubuntu-fr.org/ • http://www.businessdecision-interactive.com/754-protocole-detransfert-de-fichier-ou-ftp.htm • http://stielec.ac-aix-marseille.fr/cours/caleca/ftp/index.htm • http://doc.fedorafr.org/wiki/Vsftpd_:_Installation_et_configuration#Base_berkeley • www.developpez.com
Atmani Amal, Benabdallah Mohammed, Koulali Sara
12