Tutoriels Linux Debian

Gérer plusieurs clés SSH de manière simple et automatique Lorsqu'on développe on utilise parfois une paire de clés SSH public/privée pour s'authentifier auprès d'un serveur distant. On utilise un système de clé publique/ clé privée couplée à un agent...

Lire la suite

Héberger son site internet sur son serveur dédié... Avant d'entrer dans le vif de ce tuto, notons que pour des raisons pratiques, sur le serveur dédié : les sites seront installés sur /home/nomdusite/. chaque site contient un répertoire logs/...

Lire la suite

Compilation du noyau sous debian ( kernel ) La compilation du noyau Debian peut être une étape nécessaire dans l'exploitation du système. La gestion des pilotes de périphériques est géré différemment sous Linux que sur Windows. Les pilotes...

Lire la suite

TCPDump ou comment sniffer le trafic TCP sous Linux... Tcpdump est un outil d'analyse réseau très répandu chez les amateurs de sécurité de l'information et de routage réseau. Tcpdump affiche les en-têtes de paquets d'une interface réseau en fonction...

Lire la suite

Les commandes top et htop La commande top La commande top permet de lister l'ensemble des processus et de ressources utilisées sur votre système linux, Unix ou BSD. [bash] top [/bash] Précisons la 3ème ligne : Options...

Lire la suite

  • Prev
  • Next

vsFTPd un serveur FTP hautement sécurisé

2

Category : FTP

Après avoir présenté pureftpd, je vous présente aujourd’hui vsFTPd. vsFTPd signifie « Very Secure FTP daemon », c’est un serveur FTP réputé pour sa sécurité disponible sous Unix et Linux : aucune faille de sécurité n’a jamais été décelé dans le code du serveur. VsFTPd supporte ipv6 et SSL. Il propose aussi les fonctionnalités usuelles des autres serveurs FTP : limitation de bande passante, chroot …

Installer VsFTPd

Installons le package Debian avec notre gestionnaire de paquets préféré APT …

apt-get install vsftpd

Configurer VsFTPd

Par défaut avec vsFTPd, seul l’utilisateur anonyme à le droit d’accéder au serveur FTP en lecture seule.
Il vous faudra donc probablement modifier les directives de configuration qui se trouvent dans /etc/vsftpd.conf.
Attention par défaut, VsFTPd donne accès au serveur FTP en mode anonyme.

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO

En général, on préfère donner le droit en écriture aux utilisateurs locaux …

local_enable=YES
write_enable=YES

On peut chrooter les utilisateurs dans leur répertoire d’origine. C’est à dire que l’utilisateur ne peut pas naviguer en dehors du répertoire qui lui est affecté, et de ses sous-répertoires.

chroot_local_user=YES

On pourra aussi chrooter tous les utilisateurs sauf certains …

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

Le fichier /etc/vsftpd.chroot_list contiendra alors les noms des utilisateurs NON chrootés
Par mesure de sécurité, on peut changer le port d’écoute, qui par défaut est le port 21

listen_port=222

Chaque changement dans la configuration de vsFTPd necessite de recharger le serveur

/etc/init.d/vsftpd reload

Les utilisateurs qui sont chrootés dans leur home ne peuvent pas à priori naviguer dans un dossier a l’extérieur de leur home.
On aurait pu penser à la commande ln pour faire un lien symbolique …mais ça ne fonctionne pas à cause d’un problème de droit.
La solution est d’utiliser la commande mount avec l’option –bind

mount --bind dossier_source dossier_ftp

On pensera à activer le montage au démarrage en éditant le fichier /etc/fstab

dossier_source dossier_ftp    none  bind,defaults,auto     0    0

Utilisateurs virtuels

Par défaut les utilisateurs sont les utilisateurs locaux du système. Pour plus de souplesse, on aimera utiliser des utilisateurs virtuels.
On crée un répertoire pour la configuration des utilisateurs virtuels

mkdir -p /etc/vsftpd/vsftpd_user_conf

On sauvegarde les fichiers de configuration

cp /etc/vsftpd.conf /etc/vsftpd.conf.default.bak
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.default.bak

On installe le paquet permettant d’utiliser un fichier texte comme base de donnée des utilisateurs

apt-get install db4.2-util

Ensuite on efface le contenu du fichier /etc/pam.d/vsftpd et on remplace par :

auth required pam_userdb.so db=/etc/vsftpd/virtual-users
account required pam_userdb.so db=/etc/vsftpd/virtual-users
session required pam_loginuid.so

On crée ensuite le fichier texte des utilisateurs avec alternativement 1 login / 1 mot de passe.

nano /etc/vsftpd/virtual-users.txt
login1
pass1
login2
pass2

Il faut maintenant créer la base de données à partir de notre fichier texte

cd /etc/vsftpd/
db_load -T -t hash -f virtual-users.txt /etc/vsftpd/virtual-users.db

On sécurise les fichiers virtual-users.txt et virtual-users.db

chmod 600 /etc/vsftpd/virtual-users.*

On relance le serveur vsFTPd

/etc/init.d/vsftpd restart
VN:F [1.9.22_1171]
Rating: 5.6/10 (15 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 3 votes)
vsFTPd un serveur FTP hautement sécurisé, 5.6 out of 10 based on 15 ratings
Be Sociable, Share!

Soutenez le blog :)

2 Responses to “vsFTPd un serveur FTP hautement sécurisé”

  1. 2
    seb1780 Says:

    Bonjour,

    J’ai une autre méthode à proposer pour ce tutoriel. Il manque ici les fichiers de conf de chaque utilisateur dans le dossier /etc/vsftpd/vsftpd_user_conf. De plus, je n’ai pas configuré mon fichier vsftpd.conf tout à fait comme vous. les objectifs ne sont pas les même. Puis je vous le soumettre ?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  2. 1
    Epheo Says:

    Ln ne fonctionne pas car ce serait une grosse faille de sécurité, imaginez un user qui fait un « ln -s » à l’exterieur de son repertoire. Ça rendrait le chroot inutile.
    Pour Mount, l’utilisateur doit bénéficier des droits root ou du bit suid, c’est donc plus sécurisé.

    Aujourd’hui db4.8-util pour squeeze stable. Et donc db4.8_load plutôt que db_load

    Toujours pour plus de sécurité, supprimer le fichier texte est utile.

    VA:F [1.9.22_1171]
    Rating: 5.0/5 (1 vote cast)
    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

Leave a Reply