LPIC-202 Lab 1: Configurer un serveur FTP avec vsftpd sur CentOS 7

Page 1 sur 4Lecteur de document UniversityLib

LPIC-202 Lab 1: Configurer un serveur FTP avec vsftpd sur CentOS 7

Linux Server Administration · notes

Voir tous les documents en systèmes d'exploitation et cloud

LPIC-202

Lab 1

Configurer un serveur ftp avec vsftpd sur

centos 7

FTP (File Transfer Protocol) est un protocole réseau client-serveur standard qui permet aux

utilisateurs de transférer des fichiers vers et depuis un réseau distant.

Il existe plusieurs serveurs FTP open source disponibles pour Linux. Les plus populaires et les

plus utilisés sont PureFTPd, ProFTPD et vsftpd.

Dans ce tutoriel, nous allons installer vsftpd (Very Secure Ftp Daemon) sur CentOS 7. Il s'agit

d'un serveur FTP stable, sécurisé et rapide. Nous vous montrerons également comment

configurer vsftpd pour restreindre les utilisateurs à leur répertoire personnel et crypter toute la

transmission avec SSL / TLS.

Pour des transferts de données plus sécurisés et plus rapides, utilisez SCP ou SFTP.

Conditions préalables

Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur

avec les privilèges sudo ou en tant que root.

Installation de vsftpd sur CentOS 7

Le package vsftpd est disponible dans les référentiels CentOS par défaut. Pour l'installer,

exécutez la commande suivante:

sudo yum install vsftpd

Une fois le package installé, démarrez le démon vsftpd et activez-le pour démarrer

automatiquement au démarrage:

sudo systemctl start vsftpd

sudo systemctl enable vsftpd

Vous pouvez vérifier que le service vsftpd fonctionne en imprimant son état:

sudo systemctl status vsftpd

Publicité

La sortie ressemblera à quelque chose comme ci-dessous, montrant que le service vsftpd est

actif et en cours d'exécution:

● vsftpd.service - Vsftpd ftp daemon Loaded: loaded

(/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)

Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main

PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612

/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Elies Jebri

Page 1 sur 4

LPIC-202

Lab 1

Configuration de vsftpd

La configuration du service vsftpd implique la modification du fichier de configuration

/etc/vsftpd/vsftpd.conf . La plupart des paramètres sont bien documentés dans le fichier

de configuration. Pour toutes les options disponibles, visitez la page officielle vsftpd.

Dans les sections suivantes, nous passerons en revue certains paramètres importants requis pour

configurer une installation vsftpd sécurisée.

Commencez par ouvrir le fichier de configuration vsftpd:

sudo nano /etc/vsftpd/vsftpd.conf

Configurer le service pour utiliser IPv4 au lieu de IPv6

with the listen_ipv6 directive.

listen=YES

Make sure, that one of the listen options is commented !!

listen_ipv6=NO

1. Accès FTP

Nous n'autoriserons l'accès au serveur FTP qu'aux utilisateurs locaux, trouverons les directives

Publicité

anonymous_enable et local_enable et vérifierons votre correspondance de configuration

avec les lignes ci-dessous:

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO local_enable=YES

2. Activation des téléchargements

Décommentez le paramètre write_enable pour autoriser les modifications du système de

fichiers telles que le téléchargement (upload) et la suppression de fichiers.

/etc/vsftpd/vsftpd.conf

write_enable=YES

Elies Jebri

Page 2 sur 4

LPIC-202

Lab 1

3. Limitation de la connexion utilisateur

Pour autoriser uniquement certains utilisateurs à se connecter au serveur FTP, ajoutez les lignes

suivantes après la ligne userlist_enable=YES :

/etc/vsftpd/vsftpd.conf

userlist_file=/etc/vsftpd/user_list

userlist_deny=NO

Lorsque cette option est activée, vous devez spécifier explicitement quels utilisateurs peuvent

se connecter en ajoutant les noms d'utilisateur au fichier /etc/vsftpd/user_list (un

utilisateur par ligne).

Redémarrez le service vsftpd

Une fois l'édition terminée, le fichier de configuration vsftpd (à l'exclusion des commentaires)

devrait ressembler à ceci:

/etc/vsftpd/vsftpd.conf

Publicité

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

listen_ipv6=NO

pam_service_name=vsftpd

userlist_enable=YES

userlist_file=/etc/vsftpd/user_list

userlist_deny=NO

Enregistrez le fichier et redémarrez le service vsftpd pour que les modifications prennent effet:

Elies Jebri

Page 3 sur 4

LPIC-202

Lab 1

sudo systemctl restart vsftpd

Ouverture du pare-feu

Pour ouvrir le port 21 (port de commande FTP), le port 20 (port de données FTP) la commande

suivante:

sudo firewall-cmd --permanent --add-port=20-21/tcp

Rechargez les règles du pare-feu en tapant:

firewall-cmd --reload

Publicité

Création d'un utilisateur FTP

Pour tester notre serveur FTP, nous allons créer un nouvel utilisateur.

 Si vous avez déjà un utilisateur auquel vous souhaitez accorder un accès FTP, ignorez

la 1ère étape. Si vous définissez allow_writeable_chroot=YES dans votre fichier de

configuration, ignorez la 3ème étape.

1. Créez un nouvel utilisateur nommé newftpuser :

sudo adduser newftpuser

Ensuite, vous devrez définir le mot de passe utilisateur:

sudo passwd newftpuser

Ajoutez l'utilisateur à la liste des utilisateurs FTP autorisés:

echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list

Créez l'arborescence de répertoires FTP et définissez les autorisations appropriées:

sudo mkdir -p /home/newftpuser/ftp/upload

sudo chmod 550 /home/newftpuser/ftp

sudo chmod 750 /home/newftpuser/ftp/upload

sudo chown -R newftpuser: /home/newftpuser/ftp

Comme discuté dans la section précédente, l'utilisateur pourra télécharger ses fichiers

dans le répertoire ftp/upload .

À ce stade, votre serveur FTP est entièrement fonctionnel et vous devriez pouvoir vous

connecter à votre serveur avec n'importe quel client FTP pouvant être configuré pour utiliser le

chiffrement TLS tel que FileZilla.

Elies Jebri

Page 4 sur 4