VsFTP: Transfert de fichiers sécurisé

vsFTPd (Very Secure FTP Daemon) est une implémentation FTP (File Transfer Protocol), Il permet la gestion distante de fichiers, au travers d’un réseau TCP/IP. VsFTPd assure un haut niveau de sécurité, avec le protocole TLS, pour former ainsi le protocole s’appelle FTPS.

VsFTPd est l’un des premiers à mettre en œuvre la séparation des privilèges, minimisant ainsi les risques de piratage.

2. INSTALLATION DES PAQUETS REQUIS

su

# Mise à niveau du système
apt-get update
apt-get upgrade

 

# Installation de VsFTPd
apt-get install vsftpd

Ce service répondra à l’adresse : ftp.domainepme.tld

3. CONFIGURATION DE BASE

# Faire une copie de sécurité au préalable
cp /etc/vsftpd.conf /etc/vsftpd.backup

# Editer le fichier de configuration
nano /etc/vsftpd.conf

 

et y placer (ou vérifier):

 

# Nous voulons que le service fonctionne en mode ‘standalone’. . .
listen=YES
# . . . mais en protocole Ipv4 seulement
listen_ipv6=NO
# On ne veut pas de connexions en mode ‘anonyme’
anonymous_enable=NO
# Les utilisateurs locaux au serveur peuvent se connecter (par défaut)
local_enable=YES
# Les utilisateurs peuvent ‘uploader’ des fichiers sur le serveur
write_enable=YES
# On fixe le masque local a 022 (les fichiers ‘uploadés’ auront des droits »755″ )
local_umask=022
# usage de l’heure local
use_localtime=YES
# logguer les uploads/downloads.
xferlog_enable=YES
# vérifier l’usage initial du port 20 (ftp-data).
connect_from_port_20=YES
# Bannière d’accueil lors de la connexion d’un utilisateur
ftpd_banner=— BIENVENUE SUR LE SERVICE FTP DE domainepme.tld —
# On veut limiter les utilisateurs su système à leur répertoire
chroot_local_user=YES
# permettre l’écriture dans le répertoire racine
allow_writeable_chroot=YES
# Nom du service
pam_service_name=vsftpd
# Activation ssl et certificats
rsa_cert_file=/etc/letsencrypt/live/domainepme.tld/cert.pem
rsa_private_key_file=/etc/letsencrypt/live/domainepme.tld/privkey.pem
ssl_enable=YES
# Utiliser l’encodage UTF-8
utf8_filesystem=YES
# Nombre maximal de clients ftp simultanés
max_clients=10
# Nombre maximal de clients sur la même ip
max_per_ip=2
# Plage de ports utilisés (choix arbitraire et non utilisés ailleurs)
pasv_min_port=40721
pasv_max_port=40998

Attention : Aucun espace doit être placé de part et d’autre du signe ‘=’
Prise en compte :

systemctl vsftpd start

4. CONNECTION AVEC UN CLIENT FTP (FileZilla par EXEMPLE)

4.1 S’il s’agit d’un user local « administrateur » : on se connecte alors en FTP via SSH

  • Hôte 111.22.333.44
  • port 2233
  • protocole SFTP – SSH File Transfert Protocol
  • chiffrement Connexion FTP explicite sur TLS
  • Type authentification : Demander le mot de passe
  • Login Webmaster_domainepme (par exemple)
  • mot de passe (laisser vide : .. il le demandera après!)
  • Cliquer sur  le bouton :  » connexion »

NB : L’utilisateur a accès à tous le système de fichier

4.2 S’il s’agit d’un user local mais « non administrateur » (Ex : Webmaster)

  • Hôte ftp.domainepme.tld
  • port (laisser vide)
  • protocole FTP – Protocole de Transfert de Fichiers
  • chiffrement Connexion FTP explicite sur TLS
  • Type authentification : Demander le mot de passe
  • Login Webmaster_domainepme (par exemple)
  • mot de passe (laisser vide : .. il le demandera après!)
  • Cliquer sur  le bouton :  » connexion »

NB : L’utilisateur reste confiné dans son répertoire

NB : Cette politique permet aux administrateurs système, détenteurs d’un certificat SSH de naviguer dans tout le système, alors que les autres sont confinés à leur propre répertoire (celui du site pour un webmaster, ou /home/xxx pour les autres). Il n’y a pas d’utilisateurs « virtuels ». Tous les utilisateurs ont un compte sur le système.

 

Laisser un commentaire

Plugin Kapsule Corp