0% ont trouvé ce document utile (0 vote)
42 vues82 pages

Comprendre le protocole FTP

Le document présente le protocole FTP (File Transfer Protocol), un standard pour le transfert de fichiers sur des réseaux TCP, en détaillant ses avantages et inconvénients. Il décrit également les connexions de contrôle et de données, ainsi que les modes actif et passif de FTP, et fournit des instructions pour l'installation et la configuration de vsftpd. Enfin, il liste les commandes FTP essentielles pour la gestion des fichiers et des connexions.

Transféré par

thevisionnary1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
42 vues82 pages

Comprendre le protocole FTP

Le document présente le protocole FTP (File Transfer Protocol), un standard pour le transfert de fichiers sur des réseaux TCP, en détaillant ses avantages et inconvénients. Il décrit également les connexions de contrôle et de données, ainsi que les modes actif et passif de FTP, et fournit des instructions pour l'installation et la configuration de vsftpd. Enfin, il liste les commandes FTP essentielles pour la gestion des fichiers et des connexions.

Transféré par

thevisionnary1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

FTP

File Transfer Protocol


FTP (File Transfer Protocol). FTP est un
protocole réseau standard utilisé pour
transférer des fichiers d'un hôte à un
autre sur un réseau basé sur le protocole
TCP, tel que l'internet.
La transmission de fichiers par serveur FTP
présente de nombreux avantages, notamment

- Elle vous permet de transférer de nombreuses


quantités de fichiers et de répertoires/dossiers.
- En cas d'interruption de la connexion, votre fichier
ne sera pas perdu, mais vous pourrez reprendre le
transfert là où il s'est arrêté.
- FTP est plus rapide que HTTP
- Enfin, vous pouvez programmer un transfert de
fichiers.
Malgré les avantages susmentionnés, le protocole
FTP présente quelques inconvénients :
- Fondamentalement, le transfert simultané de
plusieurs fichiers dans une instance entraînera
l'ajout de fichiers ultérieurs dans une file d'attente et
non le téléchargement de tous les fichiers au même
moment.
- Quelques points de sécurité comme l'utilisation
d'une simple attaque par force brute, n'importe
quelle personne extérieure peut y accéder.
- Vos identifiants de connexion tels que le nom
d'utilisateur et le mot de passe sont envoyés en clair.
- Avec un accès facile, un débutant, une personne
inexpérimentée peut (accidentellement) effacer le
FTP ou toute autre action majeure facilement.
Deux types de connexions
La connexion est une simple relation établie entre
deux points. Dans le cadre du protocole FTP, nous
disposons de deux connexions de base, à savoir la
connexion de contrôle et la connexion de données.
1. Connexion de contrôle : Il s'agit d'une connexion
initiale qui est établie dès que les données
d'identification sont envoyées et que l'un des
ports TCP 20 ou 21 est ouvert.
2. Connexion de données : Il s'agit d'une dernière
connexion établie dans le but spécifique de
transférer des données.
Deux types de connexions
La connexion est une simple relation établie entre
deux points. Dans le cadre du protocole FTP, nous
disposons de deux connexions de base, à savoir la
connexion de contrôle et la connexion de données.
1. Connexion de contrôle : Il s'agit d'une connexion
initiale qui est établie dès que les données
d'identification sont envoyées et que l'un des
ports TCP 20 ou 21 est ouvert.
2. Connexion de données : Il s'agit d'une dernière
connexion établie dans le but spécifique de
transférer des données.
Active mode

Command channel
Port 21

data channel Port 20

FTP client FTP server


Passive mode

Command channel
Port 21

data channel Random


port

FTP client FTP server


Outre les deux types de connexions, le
protocole FTP fonctionne selon deux modes
différents, le FTP actif et le FTP passif. Ces
modes dépendent de la personne qui initie la
connexion de données, le client ou le serveur.
• En mode actif : Le serveur initie la connexion de
données et le client écoute sur un port aléatoire
les connexions de données entrantes en
provenance du serveur.
• En mode passif : Le client initie la connexion de
données en envoyant les données, et le serveur
écoute.
installez vsftpd à l'aide du gestionnaire de
paquets dnf
sudo dnf install -y vsftpd
installez vsftpd à l'aide du gestionnaire de
paquets dnf
sudo dnf install -y vsftpd
Configuration
Le fichier de configuration principal de vsftpd est
généralement situé dans `/etc/vsftpd/[Link]`.
Configuration

Le fichier de configuration principal de


vsftpd est généralement situé dans
/etc/vsftpd/[Link]
Configuration

anonymous_enable
Contrôle si les connexions
anonymes (sans nomd’utilisateur et
mdp ) sont autorisées ou non. Si
cette option est activée, les noms
d'utilisateur ftp et anonymous sont
reconnus comme des connexions
anonymes.
Configuration

local_enable
Contrôle si les connexions locales
sont autorisées ou non. Si cette
option est activée, les comptes
d'utilisateurs normaux contenus
dans /etc/passwd (ou dans les
références de votre configuration
PAM) peuvent être utilisés pour se
connecter. Cette option doit être
activée pour que toute connexion
non anonyme fonctionne, y compris
Configuration

write_enable
Cette fonction détermine si les
commandes FTP qui modifient le
système de fichiers sont autorisées
ou non. Ces commandes sont les
suivantes : STOR, DELE, RNFR,
RNTO, MKD, RMD, APPE et SITE :
STOR, DELE, RNFR, RNTO, MKD,
RMD, APPE et [Link] par
défaut : NON
Configuration

umask_local
La valeur de l'umask pour la
création de fichiers pour les
utilisateurs locaux. NOTE ! Si vous
souhaitez spécifier des valeurs
octales, n'oubliez pas le préfixe "0",
sinon la valeur sera traitée comme
un entier en base 10 !Valeur par
défaut : 077
Configuration

xferlog_enable
xferlog_file=/var/log/[Link]
Active la journalisation des
transferts et spécifie le fichier dans
lequel les journaux de transfert
sont enregistrés.
Configuration

connect_from_port_20=NO
Cette option détermine si les
connexions de données de type PORT
utilisent le port 20 (ftp-data) sur la
machine serveur. Pour des raisons de
sécurité, certains clients peuvent
insister pour que ce soit le cas.
Inversement, la désactivation de
cette option permet à vsftpd de
fonctionner avec un peu moins de
Configuration

port_écoute=21
Si vsftpd est en mode autonome,
c'est le port sur lequel il écoutera les
connexions FTP entrantes.
Configuration

chroot_local_user=YES
Lorsqu'elle est définie sur OUI, cette option limite
les utilisateurs à leur répertoire personnel. Il
s'agit d'une mesure de sécurité visant à
empêcher les utilisateurs de naviguer vers
d'autres parties du système de fichiers.
Configuration

ftpd_banner=Bienvenue sur mon serveur FTP


Définit le message de bienvenue affiché aux
utilisateurs lorsqu'ils se connectent au serveur
FTP..
Configuration

Commandes FTP autorisées:


cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST
,RETR,RNFR,RNTO,RMD,SIZE,STOR,TYPE,USER,PA
SS,PASV
Limite les commandes FTP que les utilisateurs
sont autorisés à exécuter.
Configuration

userlist_enable=YES : Active la fonctionnalité de


liste d'utilisateurs.
userlist_file=/etc/vsftpd.user_list : Spécifie le
chemin d'accès au fichier de la liste d'utilisateurs.
userlist_deny=NO : Si la valeur est OUI, les
utilisateurs répertoriés dans le fichier se voient
refuser l'accès ; si la valeur est NON, seuls les
utilisateurs figurant dans la liste sont autorisés à
accéder à la liste.
Configuration

Pour plus d’information N'hésitez pas à lire cet


article
[Link]
(5): config file for vsftpd - Linux man page ([Link])
Configuration

Enregister (ctrl + s) et fermer (ctrl + x) le fichier


Configuration

Crée un utilisateur pour le ftp (optionnel)


Configuration

Si "userlist_deny" est défini sur NO, seuls les


utilisateurs de la liste sont autorisés à accéder. Nous
devons donc ajouter notre utilisateur au fichier de
liste userlist_file=/etc/vsftpd.user_list .
Configuration

Si "userlist_deny" est défini sur NO, seuls les


utilisateurs de la liste sont autorisés à accéder. Nous
devons donc ajouter notre utilisateur au fichier de
liste userlist_file=/etc/vsftpd.user_list .
Pare-feu

ajoute le service FTP aux règles du pare-feu.


Pare-feu

ajoute le service FTP aux règles du pare-feu.


Pare-feu

ajoute le service FTP aux règles du pare-feu.


Pare-feu

permettre un accès complet (lecture /


écriture) aux serveurs FTP sous SELinux

setsebool -P ftpd_full_access on
Démarrer le service ftp
Pare-feu

Service de vérification de
l'état FTP
FTP Client
Windows
Configurez l’ordinateur client pour qu’il se
connecte au serveur FTP. L’exemple ci-dessous
concerne Windows.

FTP Client
Windows
Par exemple, utilisez FileZilla pour le logiciel client
FTP. Téléchargez FileZilla à partir de ce qui suit.
⇒ [Link]
type=client

FTP Client
Windows
Installez FileZilla sur votre PC Windows et
démarrez-le, puis l’écran suivant s’affiche.
Entrez votre nom d’hôte FTP, votre nom
d’utilisateur. mot de passe, port de connexion,
comme suit. Cliquez ensuite sur [Connexion
rapide].

FTP Client
Windows
ok

FTP Client
Windows
Et voilà, vous pouvez gérer
vos fichiers sur le serveur à
partir d'ici

FTP Client
Windows
Par exemple, je peux faire
glisser ce fichier de la
machine locale vers le
serveur pour l'envoyer
(upload).

FTP Client
Windows
et comme vous pouvez le voir, le
fichier a été transféré avec succès

FTP Client
Windows
Cette option représente un
répertoire dans lequel vsftpd
essaiera de se connecter après une
connexion locale (c'est-à-dire non
anonyme). Les utilisateurs ftp
seront limités à l'accès à ce
répertoire.
Comme vous pouvez le voir,
l'utilisateur ne peut plus voir que le
dossier que nous lui avons attribué.
Anci Nouve
en au

Voici une
comparaison
FTP Client
CLI
Installez le client FTP.
dnf -y install lftp

FTP Client
CLI
Connectez-vous en tant
qu’utilisateur commun et utilisez
l’accès FTP.
lftp [option] [nom d’hôte]
[redhat@dlp ~]

FTP Client
CLI
Si vous utilise le Windows accepter
l'Access du FTP au réseau

FTP Client
CLI
Commandes FTP
Les utilisateurs peuvent utiliser ces commandes pour accéder au système
distant.

Vous trouverez ci-dessous une liste de commandes d’accès

USER : Cette commande est utilisée pour donner des informations sur
l’utilisateur. Il ne prend qu’un seul argument, c’est-à-dire l’identifiant de
l’utilisateur.
PASS : Cette commande est utilisée pour définir le mot de passe de
l’utilisateur, ou à l’aide de cet utilisateur, il peut se connecter au système.
Il ne prend qu’un seul argument, c’est-à-dire le mot de passe de
l’utilisateur.
ACCT : Il donne des informations sur le compte de l’utilisateur. Il ne prend
qu’un seul argument, c’est-à-dire le nom du compte.
QUITTER : Pour se déconnecter du système, cette commande est utilisée.
ABOR : Abandonne la commande précédente.
1. Commandes d’accès
REIN : Il est utilisé pour réinitialiser le système.
Les utilisateurs peuvent utiliser ces commandes pour accéder au système
distant.

Vous trouverez ci-dessous une liste de commandes d’accès

USER : Cette commande est utilisée pour donner des informations sur
l’utilisateur. Il ne prend qu’un seul argument, c’est-à-dire l’identifiant de
l’utilisateur.
PASS : Cette commande est utilisée pour définir le mot de passe de
l’utilisateur, ou à l’aide de cet utilisateur, il peut se connecter au système.
Il ne prend qu’un seul argument, c’est-à-dire le mot de passe de
l’utilisateur.
ACCT : Il donne des informations sur le compte de l’utilisateur. Il ne prend
qu’un seul argument, c’est-à-dire le nom du compte.
QUITTER : Pour se déconnecter du système, cette commande est utilisée.
ABOR : Abandonne la commande précédente.
1. Commandes d’accès
REIN : Il est utilisé pour réinitialiser le système.
Les utilisateurs peuvent accéder au système de fichiers présent sur le
système distant à l’aide de ces commandes. Il permet à un utilisateur de
créer un nouveau répertoire, de supprimer des fichiers, de naviguer dans
les répertoires, etc.

Vous trouverez ci-dessous la liste des commandes de gestion de fichiers

CWD : Cette commande permet de passer d’un répertoire à un autre. Il ne


prend qu’un seul argument, c’est-à-dire le nom du répertoire.
CDUP : Il permet de basculer vers le répertoire parent.
DELE : Il est utilisé pour supprimer le fichier du répertoire. Il ne prend
qu’un seul argument, c’est-à-dire le nom du fichier.
LIST : Il donnera une liste de tous les fichiers présents dans le répertoire
spécifié. Il ne prend qu’un seul argument, c’est-à-dire le nom du
répertoire.
NLIST : Il donnera une liste de fichiers dont les attributs ne sont pas
2. Commandes de gestion de fichiers
présents dans le répertoire spécifié. Il ne prend qu’un seul argument,
MKD : Cette commande permet de créer un nouveau répertoire. Il ne
prend qu’un seul argument, c’est-à-dire le nom du répertoire.
RMD : Cette commande permet de supprimer le répertoire. Il ne prend
qu’un seul argument, c’est-à-dire le nom du répertoire.
PWD : Il affichera le nom du répertoire courant.
RNTO : Il est utilisé pour renommer le fichier. Il prend un argument, c’est-
à-dire un nouveau nom de fichier.
SMNT : Il est utilisé pour le montage d’un système de fichiers. Il ne prend
qu’un seul argument, c’est-à-dire le nom du système de fichiers.
RNFR : Il est utilisé pour identifier un fichier qui doit être renommé. Il ne
prend qu’un seul argument, c’est-à-dire l’ancien nom de fichier.

2. Commandes de gestion de fichiers


Pour définir les attributs de données, ces commandes ont été utilisées. Il
définit les attributs des données tels que le type de fichier, la structure
des données et les modes de transmission.

TYPE : Définit le type de fichier. Il faut cinq arguments pour définir le type
de fichier. A pour ASCII, E pour EBCDIC, I pour une image, N pour non-
print et T pour telnet.
STRU : Il définit l’organisation des données. Il faut trois arguments. F pour
le fichier, R pour l’enregistrement et P pour la page.
MODE : Cette commande permet de définir le mode de transmission du
fichier. Il faut trois arguments. S pour le flux, B pour bloc et C pour
compressé.

3. Commandes de formatage des


Il est utilisé pour définir le numéro de port pour la connexion côté client.
Le numéro de port peut être attribué à l’aide de l’une des méthodes de
tromperie.

- Le client peut choisir un numéro de port éphémère à l’aide de la


commande PORT, puis l’envoyer au serveur à l’aide de l’ouverture
passive. Après avoir reçu un numéro de port éphémère, le serveur crée
une ouverture active.
- Le client utilise la commande PASV et indique au serveur de choisir
n’importe quel numéro de port. Un serveur ouvre passivement sur ce
numéro de port et envoie ce numéro de port au client. Après avoir reçu
un numéro de port d’un serveur, le client émet une ouverture active pour
ce numéro de port.
Vous trouverez ci-dessous la liste des commandes de définition de port
PORT : Cette commande permet à un client de choisir un numéro de port.
Il ne prend qu’un seul argument, c’est-à-dire un identifiant à six chiffres.
4. Commandes de définition de port
PASV : Cette commande permet au serveur de choisir un numéro de port.
Pour le transfert de fichiers, ces commandes sont utilisées. Ces
commandes prennent un argument, c’est-à-dire le nom du fichier.

Vous trouverez ci-dessous la liste des commandes de transfert de fichiers

RETR : Le client utilise cette commande pour récupérer des fichiers sur le
serveur.
STOR : Le client utilise cette commande pour stocker des fichiers sur le
serveur.
APPE : elle est similaire à la commande STON, mais si le fichier existe, les
données doivent y être ajoutées.
STOU : Elle est également similaire à la commande STON, mais chaque
nom de fichier doit être unique dans le répertoire.
ALLO : Cette commande permet d’allouer de l’espace de stockage pour
les fichiers sur le serveur.
STAT : Cette commande affichera l’état des fichiers spécifiés.
5. Commandes de transfert de fichiers
REST : cette commande positionne le marqueur de fichier aux points de
données spécifiés.
Ces commandes sont utilisées pour fournir des informations à l’utilisateur
FTP côté client.

Vous trouverez ci-dessous la liste des commandes diverses.

AIDE : Cette commande affiche des informations sur le serveur.


NOOP : Cette commande permet de vérifier si le serveur est actif ou non.
SITE : Cette commande spécifie les commandes spécifiques. Il ne faut
qu’un seul argument, c’est-à-dire des commandes.
SYST : Cette commande affiche des informations sur le système
d’exploitation utilisé par le serveur.

6. Commandes diverses
Changer le chemin
actuelle du machine
distante (serveur)

Example
Changer le chemin
actuelle du machine
locale

Example
envoyer un fichier de la
machine locale au
serveur

Example
SFTP
secure FTP
Install le package
openssl

SFTP
Créer des certificats auto-signés.
Mais si vous utilisez des certificats valides comme
ceux de Let's Encrypt ou d'autres, vous n'avez pas
besoin de créer celui-ci.
cd /etc/pki/tls/certs

SFTP
Créer des certificats auto-signés.
Mais si vous utilisez des certificats valides comme
ceux de Let's Encrypt ou d'autres, vous n'avez pas
besoin de créer celui-ci.
openssl req -x509 -nodes -newkey rsa:3072 -
keyout [Link] -out [Link] -days 3650

SFTP
Vous allez être invité à saisir des informations qui seront
intégrées dans votre demande de certificat.
dans votre demande de certificat. Ce que vous allez saisir
est ce que l'on appelle un nom distinctif (Distinguished
Name ou DN).Les champs sont assez nombreux, mais
vous pouvez en laisser certains vides
Certains champs ont une valeur par défaut, Si vous
entrez '.', le champ sera laissé vide.

SFTP
Changer les droit
d'Access du notre clée

SFTP
Configurez Vsftpd.

SFTP
ajouter à la fin (activer
SSL/TLS)

SFTP
ajouter à la fin : correction
des ports PASV

SFTP
Redémarre le serveur ftp
systemctl restart vsftpd

SFTP
ajoute une série de ports (21000 à
21100, TCP) aux règles du pare-
feu et le recharge.
firewall-cmd --add-service=ftp
firewall-cmd --add-port=21000-
21100/tcp
firewall-cmd --runtime-to-
SFTP
permanent
Ouvrir [File] - [Site Manager].

Example de connexion (sous


Saisissez les informations
de l'utilisateur comme
suit, pour le champ de
cryptage, sélectionnez
[explicit FTP over TLS].

Example de connexion (sous


Saisissez les informations
de l'utilisateur comme
suit, pour le champ de
cryptage, sélectionnez
[explicit FTP over TLS].

Example de connexion (sous


Saisissez les informations
de l'utilisateur comme
suit, pour le champ de
cryptage, sélectionnez
[explicit FTP over TLS].

Example de connexion (sous


Le mot de passe de
l’utilisateur est requis.
Saisissez-le.

Example de connexion (sous


Si vous définissez un certificat
auto-signé, l’avertissement
suivant s’affiche, ce n’est pas un
problème. Allez ensuite.

Example de connexion (sous


Si les paramètres sont corrects, il
est possible de se connecter au
serveur FTP avec FTPS comme
suit.

Example de connexion (sous


Example de connexion (sous linux

Vous aimerez peut-être aussi