SERVER FTP LINUX / UNIX Chapitre 13 RAYMOND
Transcription
SERVER FTP LINUX / UNIX Chapitre 13 RAYMOND
SERVEUR FTP Linux Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 1 Pure-FTPD Définition : Pure-ftp est un serveur ftp (File transfert protocol) performant, fiable et simple à configurer. Dans ce qui suit la configuration sur le quel nous allons nous appuyer est celui des distributions FEDORA, RHL, RHEL. (réf pure-ftp fedora). Fonction principal disponible sure pure-ftpd: limite du nombre d’utilisateurs limitation de la bande passante chroot des utilisateurs support du protocole FXP (File eXchange Protocol) support de plusieurs types d’authentification (Unix, PAM, LDAP, MySQL, PostgreSQL, utilisateurs virtuels) support des quotas Raymond RAZAFIMAMONJY www.razafimamonjy.fr limitation de la connexion en fonction du créneau horaire limitation du nombre de connexion par IP limitation du nombre de connexion par utilisateurs log via syslog autocréation du dossier personnel ratio upload/download support de TLS Administration LINUX / UNIX Chapitre 13 2 Pure -ftpd installation et configuration 1-installation de pure-ftpd : # yum install pure-ftpd 2-Configuration de pure-ftpd: # nano /etc/pure-ftpd/pure-ftpd.conf Dedans on trouvera les lignes de la configuration relatif à: 1-Configuration générale du serveur 2-Manipulations sur les fichiers/dossiers 3-Configuration réseau 4-Configuration de l'authentification 5-Configuration de l'accès anonyme 6-Options pour les utilisateurs authentifiés 7-les utilisateurs virtuelles : authentification /droits/gestion 8- ajout des droits upload Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 3 2-2 MANIPULATION SUR LES FICHIERS ET DOSSIERS # nano /etc/pure-ftpd/pure-ftpd.conf Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 4 2-2 CONFIGURATION GENERALE DU SERVEUR # nano /etc/pure-ftpd/pure-ftpd.conf Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 5 2-3 CONFIGURATION RESEAU # nano /etc/pure-ftpd/pure-ftpd.conf Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 6 2-4 CONFIGURATION DE L’AUTHENTIFICATION # nano /etc/pure-ftpd/pure-ftpd.conf Exemple : Pour une authentification userftp a partir d’un serveur mysql, on aurait juste qu’a configurer le fichier suivant pour le serveur d’authenfication mysql: « /etc/pure-ftpd/pure-ftpd.mysql » Et idem pour LDAP et PostGresql Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 7 2-5 CONFIGURATION DE L’ACCES ANONYMES # nano /etc/pure-ftpd/pure-ftpd.conf il y a 3 types d'utilisateurs d'un serveur ftp: 1. ANONYMOUS (anonyme): pour permettre les accès publics sous le compte anonymous sans avoir a donner de mot de passe secret. (dans ce cas, seule l'adresse de messagerie suffit comme mot de passe) . Les utilisateurs connectés en ``anonymes'' se retrouvent apres connexion dans un espace disque indépendant du file system général présent sur le disque. 2. REAL (réel): pour permettre à de réels utilisateurs de se connecter à leur home directory via le serveur ftp. (Les utilisateurs ``réels'' sont ceux possédant un compte de connexion sur la MACHINE SERVEUR ftp, et donc ayant une entrée personnelle dans /etc/passwd) 3. GUEST (Virtuelle): créer un compte ``guest'' est la bonne manière pour permettre à des utilisateurs ``invités''de se connecter sur la machine serveur avec un mot de passe dans un espace disque restreint!. L'utilisateur invité ``guest'' doit posséder un compte sur la machine serveur (donc une entrée dans /etc/passwd) . La seule différence avec le compte ``real'' ci dessus est que ces utilisateurs invités se retrouvent après connexion dans un espace disque limité. le serveur effectue un ``chroot(2)'' qui modifie la racine du système de fichier. Comme pour un accès anonymous l'utilisateur invité se retrouve connecté à partir d'une racine ``/'' virtuelle. Cette racine nouvelle est définie dans le champs ``home directory'' de l'entrée de l'utilisateur dans /etc/passwd Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 8 2-5 CONFIGURATION DE L’ACCES ANONYMES # nano /etc/pure-ftpd/pure-ftpd.conf 2-6 OPTIONS POUR LES UTILISATEURS AUTHENTIFIEES Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 9 2-7- LES UTILISATEUR VIRTUELLES 2-7-1 Les utilisateurs virtuels L'authentification peut utiliser un intéressant mécanisme s'appuyant sur des utilisateurs virtuels. On créé de tels utilisateurs qui ne sont pas reconnus par unix mais seulement par le serveur pureftpd. Tous ces utilisateurs virtuels devront être mappés sur un utilisateur unix (ex:ftpuser). Ils pourront, par exemple, être tous mappés sur le même uid(501:ftpuser) et gid (501 :ftpgroup) unix. Les paramètres de ces utilisateurs virtuels sont stockés dans 2 fichiers : /etc/pure-tpd/pureftpd.passwd (fichier ASCII) et /etc/pure-ftpd/pureftpd.pdb (fichier binaire). Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 10 2-7- LES UTILISATEUR VIRTUELLES 2-7-1 Les utilisateurs virtuels L'authentification peut utiliser un intéressant mécanisme s'appuyant sur des utilisateurs virtuels. On créé de tels utilisateurs qui ne sont pas reconnus par unix mais seulement par le serveur pureftpd. Tous ces utilisateurs virtuels devront être mappés sur un utilisateur unix (ex:ftpuser). Ils pourront, par exemple, être tous mappés sur le même uid(501:ftpuser) et gid (501 :ftpgroup) unix. Les paramètres de ces utilisateurs virtuels sont stockés dans 2 fichiers : /etc/pure-tpd/pureftpd.passwd (fichier ASCII) et /etc/pure-ftpd/pureftpd.pdb (fichier binaire). Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 11 2-7- LES UTILISATEUR VIRTUELLES Méthode standard pour créer un utilisateur virtuel: Exemple de création manuelle de l'utilisateur virtuel « user » avec /home/user comme homedir : # pure-pw useradd user -u 120 -g 120 -d /home/user -m Le compte est ajouté au fichier /etc/pure-ftpd/pureftpd.passwd qui ressemble beaucoup à /etc/passwd mais avec plus d'options. Attention, ce fichier n'est jamais directement utilisé par le daemon pureftpd. l'option -m permet que cet ajout soit pris en compte tout de suite et soit aussi stocké dans la base /etc/pure-ftpd/pureftp.pdb (fichier binaire) qui est directement utilisé par le daemon pure-ftpd. le -d pour un homedir chrooté : l'utilisateur est bloqué dans son répertoire (-D pour un homedir non chrooté). Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 12 2-7- LES UTILISATEUR VIRTUELLES 2-7- 2 Pour reconstruire la base /etc/pure-ftpd/pureftpd.pdb à partir de /etc/pureftpd/pureftpd.passwd : Si on modifie à la main le fichier pureftpd.passwd ou que l'on utilise pure-pw sans l'option -m, il est nécessaire de mettre à jour pureftpd.pdb pour que les modifications soient prises en compte par le daemon pure-ftpd (sans même avoir besoin de le redémarrer) : # pure-pw mkdb 2-7-3 Pour changer le mot de passe de l'utilisateur virtuel « use r » : # pure-pw passwd user -m 2-7-4 Pour voir les paramètres de l'utilisateur virtuel « use r » : # pure-pw show user Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 13 2-7- LES UTILISATEUR VIRTUELLES 2-7- 2 Pour reconstruire la base /etc/pure-ftpd/pureftpd.pdb à partir de /etc/pureftpd/pureftpd.passwd : Si on modifie à la main le fichier pureftpd.passwd ou que l'on utilise pure-pw sans l'option -m, il est nécessaire de mettre à jour pureftpd.pdb pour que les modifications soient prises en compte par le daemon pure-ftpd (sans même avoir besoin de le redémarrer) : # pure-pw mkdb 2-7-3 Pour changer le mot de passe de l'utilisateur virtuel « use r » : # pure-pw passwd user -m 2-7-4 Pour voir les paramètres de l'utilisateur virtuel « user » : # pure-pw show user Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 14 2-7- LES UTILISATEUR VIRTUELLES 2-7-4 Pour voir les paramètres de l'utilisateur virtuel « user » : Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 15 2-7- LES UTILISATEUR VIRTUELLES 2-7-4 Pour modifier un user ftp virtuelle : # pure-pw usermod user -m Exemple: Pour supprimer une option telle que la limitation de bande passante, il faut faire -t : limitation de la bande passante du téléchargement (il est ici sans valeur donc à 0) -m : mise à jour automatique de la base de donnée des utilisateurs virtuels (/etc/pure-ftpd/pureftpd.pdb) Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 16 2-7- LES UTILISATEUR VIRTUELLES 2-7-5 Pour modifier un mots de passe user ftp virtuelle : # pure-pw passwd user -m 2-7-6 Pour supprimer un user ftp virtuelle : Exemple ci-dessous (1-on supprime toto) puis (2- on verifie si toto est toujours là) Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 17 2-8- AJOUT UTILISATEUR UPLOAD 2-8-1 Exemple: création d’un utilisateur nommé upload pour l’envoi des fichier (uploader) Cet utilisateur pourra écrire des fichiers dans le dossier upload du serveur FTP (/var/ftproot/upload du serveur). Ce sera son dossier d'accueil mais pourra remonter à la racine du FTP (/var/ftproot). -D : Ne pas chrooter dans le dossier racine (la racine sera explicitement définie par /./ dans la ligne de commande) Le dossier upload est bien autorisé en écriture pour ftpuser. Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 18 3-DEMMARER PURE-FTD Pour RHEL , fedora: # service pure-ftpd start Pour redemarrer: # service pure-ftpd restart Pour les autres distributions Linux: # /etc/init.d/pure-ftpd start Ou par interface graphique (system-config-service). Pour activer automatiquement le service au démarrage avec RHEL ,fedora : # chkconfig pure-ftpd on Pour activer automatiquement le service au démarrage avec les autres distribution linux: # rc-update add pure-ftpd default Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 19 4- MONITORING PURE-FTPD Pour surveiller les activités du serveur il faut lancer la commande : # pure-ftpwho -Dans la sortie on y trouve le PID, l'utilisateur, la durée, la vitesse, son action, le fichier et l'adresse IP de l'utilisateur. On trouve également des informations dans /var/log/messages (sauf si syslogd a été configuré différemment). Raymond RAZAFIMAMONJY www.razafimamonjy.fr Administration LINUX / UNIX Chapitre 13 20