Software">
5 Cour VSFTPD
5 Cour VSFTPD
5 Cour VSFTPD
TRI 2A
1
Sommaire
1. Présentation .................................................................................................................................... 3
2. VSFTPD............................................................................................................................................. 3
3. Installation ....................................................................................................................................... 3
4. Configuration ................................................................................................................................... 4
5. Utilisateur Linux............................................................................................................................... 4
ftpusers et user_list ............................................................................................................................. 6
6. Test (client) ...................................................................................................................................... 6
6.1 Commande ftp ......................................................................................................................... 6
6.2 File Zilla (Windows) ................................................................................................................. 7
6.3 Navigateur ............................................................................................................................... 8
7. Utilisateur virtuel (Format berkeley) ............................................................................................... 8
8. Référence ...................................................................................................................................... 10
2
1. Présentation
Le FTP (File Transfer Protocol) ou protocole de transfert de fichiers est un protocole de
communication dédié à l'échange informatique de fichiers sur un réseau TCP/IP. Il intervient
au niveau de la couche application du modèle OSI (couche n°7) et utilise TCP comme
protocole de transport.
Pour la connexion de contrôle, le numéro de port utilisé par le serveur ftp est 21.Pour la
connexion de transfert de données, le numéro de port utilisé par le serveur ftp est 20.Le client,
quand à lui, obtient un numéro de port dynamiquement.
2. VSFTPD
vsftpd est un deamon FTP très léger, rapide et sécurisé. Il peut gérer des services FTP de tous
types. VsFTPd est un serveur FTP conçu avec la problématique d'une sécurité maximale. Il
fait ce que l’on appelle du FTPS ou encore SFTP c’est-à-dire qu’il utilise le protocole
SSL/TLS pour la sécurisation des données
3. Installation
vsftpd étant le serveur FTP choisi par défaut par Fedora, celui-ci est directement accessible
via yum ou dnf :
Une fois l'installation effectuée, pour que le serveur se lance automatiquement au démarrage :
3
Pour démarrer et stopper le service, les commandes respectives sont :
Normalement votre système doit déjà avoir un utilisateur ftp et un groupe ftp :
4. Configuration
Le fichier de configuration de vsftpd se trouve dans le répertoire /etc/vsftpd/ et se nomme
vsftpd.conf
5. Utilisateur Linux
Créer une sauvegarde du fichier de configuration /etc/vsftpd.conf , en cas de problème cela
peut toujours être utile
Remarque: les commentaires dans ce fichier commencent par le caratère # (dièse), donc les
paramètres écrits après # seront ignorés.
#Fixer le masque local a 022 (les fichiers remontés auront des droits en 755)
local_umask=022
4
# Refus des droits d'écriture pour les anonymes (et donc utilisateurs virtuels)
anon_upload_enable=NO
# Banniere de bienvenue
ftpd_banner=Bienvenue sur mon ftp perso
5
ftpusers et user_list
Ces deux fichiers ont la même vocation : interdire des utilisateurs. En effet, ils contiennent
tous les deux une liste d'utilisateurs pour lesquels le serveur FTP refusera toute connexion.
Le premier (ftpusers) est utilisé via PAM dans la configuration par défaut faite sur
Fedora. A la connexion d'un utilisateur, PAM vient lire ce fichier et si l'identifiant de
connexion utilisé est dans ce fichier, la connexion est refusée.
Le second (user_list) est utilisé directement par vsftpd. Il peut avoir deux usages : soit
les seuls utilisateurs contenus dans ce fichier ont le droit de se connecter, soit l'accès
leurs est systématiquement refusé.
Par exemple pour refuser les utilisateurs du fichier « user_list » il faut modifier les
lignes suivante :
# Fichier de users
userlist_file=/etc/vsftpd/user_list // Pour la version Centos7 nous avons pas besoin d’ajouter
cette ligne
# Chargement de la liste userlist_file
userlist_enable=YES
6. Test (client)
Les logiciels clients sont nombreux, certains sont en ligne de commande (par exemple la
commande ftp, implémentée en standard sous de nombreux systèmes d'exploitation), mais une
grande majorité permet de manipuler des fichiers sous une interface graphique
(FileZilla,gFTP,AxyFTP par exemple), rendant les transferts de fichiers plus conviviaux.
Utiliser la commande ls
>ls
Navigation
Utiliser la commande pwd
>pwd
6
Accéder à un dossier
Utiliser la commande cd
>cd nom du dossier
Pour télécharger plus d’un fichier utiliser la commande mget (multi get)
>mget fichier1 fichier2 fichier3
La commande put s’utilise comme get, donc la commande mput permet d’uploader plusieurs
fichiers
7
6.3 Navigateur
Nous pouvons utiliser le navigateur Web pour réaliser de tels transferts de fichiers. Dans la
barre d'adresse, au lieu d'une adresse http://, tapez ftp:// suivi de l'adresse du serveur FTP que
vous souhaitez utiliser.
Si le serveur accepte d'être contacté depuis un navigateur Web, vous voyez alors apparaître
une fenêtre de dialogue. Entrez alors votre nom et mot de passe. Cliquez ensuite sur Ouvrir
une session.
Dans cette méthode, nous utilisons la base de données Berkeley (db4 (version4) pour stocker
les noms d'utilisateurs virtuels avec leurs mots de passe.) Installez d' abord lepaquet db4-
utils s'il n'est pas installé:
Créez d'abord un fichier texte et entrez les noms d'utilisateurs virtuels et leurs mots de passe
un par un. Ensuite, créez le fichier db à partir du fichier texte brut. Ce fichier doit se terminer
par un retour à la ligne.
Par exemple, je crée un fichier texte brut appelé login.txt dans le répertoire /etc/vsftpd avec
le nom d'utilisateur ilham et amina le mot de passe mdpilham et ofppt :
8
Configuration du PAM
Editez le fichier /etc/pam.d/vsftpd, commenter toutes les lignes existantes et ajouter les lignes
suivantes :
auth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login
session required pam_loginuid.so
Configuration VSFTPD
#vi /etc/vsftpd/vsftpd.conf
Assurez-vous d'avoir ajouté ou modifié les lignes suivantes, comme indiqué ci-dessous:
## Les utilisateurs virtuels utiliseront les mêmes autorisations que les utilisateurs anonymes
virtual_use_local_privs = yes
# Décommentez ceci pour activer n'importe quelle forme de commande d'écriture FTP.
write_enable = yes
# Vous pouvez spécifier une liste explicite d'utilisateurs locaux à chroot () à leur domicile
# répertoire. Si chroot_local_user est YES, alors cette liste devient une liste de
# utilisateurs à ne pas chrooter ().
chroot_local_user = yes
9
## Masquer les ID de l'utilisateur
hide_ids = yes
# mkdir /home/vftp
# mkdir -p /home/vftp/{amina,ilham}
# chown -R ftp:ftp /home/vftp
Test
Essayez de vous connecter au serveur FTP en utilisant l'utilisateur virtuel amina avec le mot
de passe ofppt :
8. Référence
https://www.cyberciti.biz/tips/centos-redhat-vsftpd-ftp-with-virtual-users.html
https://doc.fedora-fr.org/wiki/Vsftpd_:_Installation_et_configuration
https://openclassrooms.com/courses/les-bases-du-ftp-sous-ms-dos
10