[VSFTPD] : Configuration des utilisateurs virtuels
Par neoclimb,
samedi 23 avril 2005 à 18:34 ::Linux::
Le but de la présente Fiche Pratique, est d'indiquer à l'administrateur système, comment installer, configurer et exploiter, un serveur vsftp avec un accès virtualusers.
Présentation
FTP (File transfert Protocol) est un protocole destiné au transfert de fichiers d'une machine à une autre via le réseau.
Ici nous utiliserons vsftpd acronyme Very Secure FTP daemon disponible sur le site officiel vsftpd.beasts.org.
Cette fiche pratique à pour but de d'écrire la configuration de vsftpd via les utilisateurs virtuels c'est à dire une connexion à un FTP sans compte système réel Linux.L'utilisation des utilisateurs virtuels évite la compromission du système.
Installation
-Préparation et pre-requis matériel
Pour installer un serveur vsftpd, il faut disposer des éléments suivants :
* Un serveur sous Linux/Fedora Core.
* Un accès réseau INTERNET.
* De la place disque pour les différentes zones ftp (anonyme ou non) que l'on souhaite mettre en oeuvre.
-Installation des paquetages par le système yum
Demander à RPM de le lister pour vérifier l'installation du paquetages.
Nommer votre service FTP dans son domaine DNS. En général l'usage de ftp.nom-domaine.fr est conseillé. Deux possibilités nous sont présentes, la deuxième étant largement plus intéressante.
* nommer la machine ftp.nom-domaine.calimero.homelinux.net
* ou créer un alias ftp.nom-domaine.calimero.homelinux.net qui pointe vers nom-machine.nom-domaine.calimero.homelinux.net
Nous allons voir dans les sections suivantes comment configurer vsftpd avec les utilisteurs virtuels.
VirtualUsers, en français utilisateurs virtuels consiste à stocker ceux ci dans un fichier de type berkley database et ainsi éviter la création d'utilisateurs Unix.
-Mise en place
Le fichier de configuration est installé dans le répertoire /etc/vsftpd/vsftpd.conf lors de l'installation du paquetage.
Avant toute manipulation du fichier de configuration il faut le sauvegarder.
Certains comptes système doivent être non autorisé à se connecter au ftp via la directive userlist_enable qui utilise le fichier /etc/vsftpd.user_list.
-Création du ficher vsftpd.user_list
Cet utilisateur sera le propriétaire des fichiers et dossiers que les utilisateurs virtuels vont créer.
-Création de la base utilisateurs virtuels
Penser bien à limiter l'acces au fichier contenant les password
Par défaut, un utilisateur virtuel n'a ni le droit de lire, ni le droit d'écrire.
Pour donner des droits à un utilisateurs, nous allons créer un fichier portant le nom de cet utilisateur et dans ce fichier y paramétrer les droits.
Dossier contenant les droits :
Vsftpd utilise PAM pour l'authentification des utilisateurs. Voici une configuration :
Editer le fichier /etc/pam.d/vsftpd defini par la directive pam_service_name du fichier vsftpd.conf.
Démarrer le service vsftpd :
FTP (File transfert Protocol) est un protocole destiné au transfert de fichiers d'une machine à une autre via le réseau.
Ici nous utiliserons vsftpd acronyme Very Secure FTP daemon disponible sur le site officiel vsftpd.beasts.org.
Cette fiche pratique à pour but de d'écrire la configuration de vsftpd via les utilisateurs virtuels c'est à dire une connexion à un FTP sans compte système réel Linux.L'utilisation des utilisateurs virtuels évite la compromission du système.
Installation
-Préparation et pre-requis matériel
Pour installer un serveur vsftpd, il faut disposer des éléments suivants :
* Un serveur sous Linux/Fedora Core.
* Un accès réseau INTERNET.
* De la place disque pour les différentes zones ftp (anonyme ou non) que l'on souhaite mettre en oeuvre.
-Installation des paquetages par le système yum
#yum install vsftpd-Vérification
Demander à RPM de le lister pour vérifier l'installation du paquetages.
#rpm -qa vsftpd* vsftpd-2.0.1-5-Configurer le DNS pour le service vsftpd
Nommer votre service FTP dans son domaine DNS. En général l'usage de ftp.nom-domaine.fr est conseillé. Deux possibilités nous sont présentes, la deuxième étant largement plus intéressante.
* nommer la machine ftp.nom-domaine.calimero.homelinux.net
* ou créer un alias ftp.nom-domaine.calimero.homelinux.net qui pointe vers nom-machine.nom-domaine.calimero.homelinux.net
machine IN A 192.168.0.1 ftp IN CNAME machine.nom-domaine.calimero.homelinux.net.-Configurer le démarrage du service vsftpd
# chkconfig --level 2345 vsftpd on # chkconfig --list vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off-Configurations du service vsftpd avec les virtualusers
Nous allons voir dans les sections suivantes comment configurer vsftpd avec les utilisteurs virtuels.
VirtualUsers, en français utilisateurs virtuels consiste à stocker ceux ci dans un fichier de type berkley database et ainsi éviter la création d'utilisateurs Unix.
-Mise en place
Le fichier de configuration est installé dans le répertoire /etc/vsftpd/vsftpd.conf lors de l'installation du paquetage.
Avant toute manipulation du fichier de configuration il faut le sauvegarder.
# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ori # touch /etc/vsftpd/vsftpd.confAttention au nommage des fichiers dans le répertoire /etc/vsftpd,les extensions .conf sont considérés comme un autre démon vsftpd.
Certains comptes système doivent être non autorisé à se connecter au ftp via la directive userlist_enable qui utilise le fichier /etc/vsftpd.user_list.
-Création du ficher vsftpd.user_list
#cat /etc/passwd | cut -d: -f1 > /etc/vsftpd.user_list-Création de l'utilisateur système
Cet utilisateur sera le propriétaire des fichiers et dossiers que les utilisateurs virtuels vont créer.
# groupadd vftp # useradd -g vftp -d /home/vftp vftp # chown vftp:vftp /home/vftp # chmod 700 /home/vftpEditer le fichier /etc/passwd pour rajouter le paramètre suivant sur le compte système vsftp.
vftp:x:502:502::/home/vftp/$USER:/sbin/nologin
-Création de la base utilisateurs virtuels
Penser bien à limiter l'acces au fichier contenant les password
# touch /etc/vsftpd/virtual_users_list # chmod 600 /etc/vsftpd/virtual_users_listEditer le fichier virtual_users_list
# utilisateur # mot de passe darkVador lukeLa commande db_load nous permet la création du fichier type berkley database.
# db_load -T -t hash -f /etc/vsftpd/virtual_users_list /etc/vsftpd/virtual_login.db # chmod 600 /etc/vsftpd/virtual_login.db-Configuration des droits des utilisateurs virtuels
Par défaut, un utilisateur virtuel n'a ni le droit de lire, ni le droit d'écrire.
Pour donner des droits à un utilisateurs, nous allons créer un fichier portant le nom de cet utilisateur et dans ce fichier y paramétrer les droits.
Dossier contenant les droits :
# mkdir /etc/vsftpd/vsftpd_users_conf-Edition du fichier de l'utilisateur virtuel darkVador
# Activer les utilisateurs virtuels guest_enable=YES # Nom de l'utilisateur système utilisé guest_username=vftp # Répertoire du client user_sub_token=$USER # Permission des fichiers déposés 644 anon_umask=022 # Droit de lecture anon_world_readable_only=NO # Droit d'écriture write_enable=YES anon_upload_enable=YES # Droit de créer un dossier anon_mkdir_write_enable=YES # Droit de supprimer,renommer,.. anon_other_write_enable=YESPour pouvoir se connecter avec les utilisateurs virtuels, il faut modifier notre fichier /etc/vsftpd/vsftpd.conf
# Accepter les connections anonymes anonymous_enable=YES # Accepter les connections local_enable=YES # Aucun droit pas défaut write_enable=NO # Contenir les utilisateurs dans un blob chroot_local_user=YES # Dossier contenant les droits des utilisateurs virtuels user_config_dir=/etc/vsftpd/vsftpd_users_conf # Fichier des comptes systèmes à bannir userlist_enable=YES # Format et fichier de logs xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES # Mise en écoute de vsftpd pam_service_name=vsftpd listen=YES # Pas d'utilisation des TCP WRAPPERS tcp_wrappers=NO-Configuration du PAM
Vsftpd utilise PAM pour l'authentification des utilisateurs. Voici une configuration :
Editer le fichier /etc/pam.d/vsftpd defini par la directive pam_service_name du fichier vsftpd.conf.
# Authentification des utilisateurs virtuels account sufficient pam_userdb.so db=/etc/vsftpd/virtual_login auth sufficient pam_userdb.so db=/etc/vsftpd/virtual_login # Authentification des utilisateurs locaux auth sufficient pam_shells.so account sufficient pam_unix.so session sufficient pam_unix.so-Test du serveur ftp avec les virtualusers
Démarrer le service vsftpd :
#service vsftpd startToujours avec notre client FileZilla :
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.