[VSFTPD] : Configuration des utilisateurs virtuels
Transcription
[VSFTPD] : Configuration des utilisateurs virtuels
1 LE BLOG DE JEROME COLOMBET [VSFTPD] : Configuration des utilisateurs virtuels 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 #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 Site : Le blog de Jerome COLOMBET Article : [VSFTPD] : Configuration des utilisateurs virtuels 2 -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.conf Attention 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 Site : Le blog de Jerome COLOMBET Article : [VSFTPD] : Configuration des utilisateurs virtuels 3 #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/vftp Editer 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_list Editer le fichier virtual_users_list # utilisateur # mot de passe darkVador luke La 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 Site : Le blog de Jerome COLOMBET Article : [VSFTPD] : Configuration des utilisateurs virtuels 4 -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=YES Pour pouvoir se connecter avec les utilisateurs virtuels, il faut modifier notre fichier /etc/vsftpd/vsftpd.conf # Accepter les connections anonymes anonymous_enable=YES Site : Le blog de Jerome COLOMBET Article : [VSFTPD] : Configuration des utilisateurs virtuels 5 # 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 : Site : Le blog de Jerome COLOMBET Article : [VSFTPD] : Configuration des utilisateurs virtuels 6 #service vsftpd start Toujours avec notre client FileZilla : Site : Le blog de Jerome COLOMBET Article : [VSFTPD] : Configuration des utilisateurs virtuels