Solution Activité Transfert de fichiers anonyme avec vsftpd

Ce document présente une solution complète pour configurer un serveur FTP avec vsftpd, en particulier pour permettre un transfert de fichiers anonyme. Il s’adresse aux étudiants ou administrateurs systèmes souhaitant comprendre la mise en place et le test d’un serveur FTP sécurisé avec authentification et accès anonyme.

D'après le document Solution Activité Transfert de fichiers anonyme avec vsftpd

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Solution Activité Transfert de fichiers anonyme avec vsftpd

Document source

Afficher l'aperçu du document

Consulter le document original →

Ce document présente une solution complète pour configurer un serveur FTP avec vsftpd, en particulier pour permettre un transfert de fichiers anonyme. Il s’adresse aux étudiants ou administrateurs systèmes souhaitant comprendre la mise en place et le test d’un serveur FTP sécurisé avec authentification et accès anonyme.

Test de l'accès FTP authentifié

La première étape consiste à vérifier le fonctionnement de l’accès FTP avec authentification utilisateur.

  1. Identifier les ports utilisés par le protocole FTP dans le fichier /etc/services avec la commande :
grep ftp /etc/services
  1. Démarrer le service vsftpd :
service vsftpd start
  1. Vérifier que le port 21 est bien ouvert :
netstat –ntaupe | grep :21
  1. Tester la connexion FTP avec un compte système existant, par exemple l’utilisateur elies :
[root@fed12 ~]# ftp localhost
Trying ::1...
ftp: connect to address
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.0)
Name (localhost:user): elies
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/elies"
ftp> ls
227 Entering Passive Mode (127,0,0,1,228,126).
150 Here comes the directory listing.
226 Directory send OK.
ftp>

La connexion est réussie, l’utilisateur peut accéder à son répertoire personnel et lister les fichiers.

  1. Ajouter l’utilisateur elies au fichier /etc/vsftpd/ftpusers pour le bloquer, puis retenter la connexion :
[root@fed12 ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connexion refusée
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.0)
Name (localhost:user): elies
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>

L’accès est refusé car l’utilisateur est désormais interdit dans la configuration FTP.

  1. Tester la connexion avec le compte anonymous :
[root@fed12 ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connexion refusée
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.0)
Name (localhost:user): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
227 Entering Passive Mode (127,0,0,1,80,5).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Mar 09 11:09 pub
226 Directory send OK.
ftp>

L’accès anonyme est autorisé et permet de naviguer dans le répertoire racine FTP.

Autoriser le transfert de fichiers pour les utilisateurs anonymes

Pour permettre aux utilisateurs anonymes de déposer des fichiers sur le serveur, il faut préparer un répertoire dédié et modifier la configuration de vsftpd.

Préparation du répertoire d’upload

  • Créer le répertoire /var/ftp/entrant :
mkdir /var/ftp/entrant
  • Définir le groupe propriétaire sur ftp :
chown root.ftp /var/ftp/entrant
  • Attribuer les permissions suivantes : propriétaire a tous les droits, groupe a lecture et exécution, autres aucun droit :
chmod 730 /var/ftp/entrant

Modification de la configuration vsftpd

Éditer le fichier vsftpd.conf pour ajouter ou modifier les paramètres suivants :

anonymous_enable=YES
anon_upload_enable=YES
chown_uploads=YES
chown_username=elies
anon_umask=077

Ces options permettent :

  • d’autoriser les connexions anonymes (anonymous_enable=YES),
  • d’autoriser les uploads pour les utilisateurs anonymes (anon_upload_enable=YES),
  • de changer la propriété des fichiers uploadés (chown_uploads=YES) au nom de l’utilisateur elies (chown_username=elies),
  • et de définir les permissions des fichiers uploadés à 077 (aucun droit pour groupe et autres) avec anon_umask=077.

Test du transfert de fichiers anonymes

Après redémarrage du service vsftpd, tester la connexion et le transfert :

[root@fed12 ~]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connexion refusée
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.0)
Name (localhost:user): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,190,231).
150 Here comes the directory listing.
drwx-wx---    2 0        50           4096 Mar 09 11:07 entrant
drwxr-xr-x    2 0        0            4096 Mar 09 11:09 pub
226 Directory send OK.
ftp> cd entrant
250 Directory successfully changed.
ftp> mput fichier.txt
mput fichier.txt? y
227 Entering Passive Mode (127,0,0,1,112,57).
150 Ok to send data.
226 File receive OK.
6 bytes sent in 0,0002 secs (30,00 Kbytes/sec)
ftp> ls
227 Entering Passive Mode (127,0,0,1,98,122).
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).
ftp> bye

[root@fed12 ~]# ls -l /var/ftp/entrant/
total 4
-rw------- 1 elies ftp 6 avril 19 15:59 fichier.txt
[root@fed12 ~]#

Le fichier fichier.txt a bien été transféré et appartient à l’utilisateur elies avec les permissions 700 (lecture, écriture et exécution pour le propriétaire uniquement).

Glossaire des termes clés

  • vsftpd : Serveur FTP sécurisé (Very Secure FTP Daemon) utilisé pour gérer les transferts de fichiers.
  • FTP : Protocole de transfert de fichiers permettant d’échanger des données entre un client et un serveur.
  • Port 21 : Port réseau standard utilisé pour les connexions FTP.
  • Utilisateur anonyme : Compte spécial permettant un accès FTP sans authentification personnelle.
  • chmod : Commande Linux pour modifier les permissions d’un fichier ou d’un répertoire.
  • chown : Commande Linux pour changer le propriétaire ou le groupe d’un fichier ou répertoire.
  • vsftpd.conf : Fichier de configuration principal du serveur vsftpd.
  • anonymous_enable : Option de configuration qui active ou désactive l’accès anonyme FTP.
  • anon_upload_enable : Option permettant aux utilisateurs anonymes de déposer des fichiers sur le serveur.
  • chown_uploads : Option qui change la propriété des fichiers uploadés.
  • anon_umask : Masque de permissions appliqué aux fichiers uploadés par les utilisateurs anonymes.

Points clés à retenir

  • Le service vsftpd doit être démarré et le port 21 ouvert pour permettre les connexions FTP.
  • Les utilisateurs peuvent être bloqués via le fichier /etc/vsftpd/ftpusers.
  • L’accès anonyme est possible et peut être configuré pour autoriser le transfert de fichiers.
  • Le répertoire d’upload doit avoir des permissions et un groupe adaptés pour garantir la sécurité.
  • La configuration de vsftpd permet de définir la propriété et les permissions des fichiers uploadés anonymement.
  • Les tests FTP en ligne de commande permettent de vérifier la bonne configuration du serveur.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions