130 likes | 324 Views
Pure FTPd. Par Grégory Charot greg@labo -unix.org. Pré-requis. CNAP Module 1 Commandes de base UNIX Administration système de base sous UNIX. Objectifs. Savoir definir le protocole FTP ainsi que ses faiblesses. Installer un serveur Pure FTP avec gestion des utilisateurs virtuels.
E N D
Pure FTPd Par Grégory Charot greg@labo-unix.org
Pré-requis • CNAP Module 1 • Commandes de base UNIX • Administration système de base sous UNIX
Objectifs • Savoir definir le protocole FTP ainsi que ses faiblesses. • Installer un serveur Pure FTP avec gestion des utilisateurs virtuels. • Configurer et administrer un serveur Pure FTP.
FTP Qu’est-ce que FTP ? • FTP (File Transfert Protocol), est un protocole permettant le transfert de données via le réseau. • Agit au niveau de la couche 7 du modele OSI (application). • FTP est un protocole de type Client-Serveur. • FTP agit sur 2 ports par défaut : 21 et 20. • FTP utilise un système d’authentification (utilisateur/mot de passe).
Sécurité FTP et la sécurité • Toutes les informations passent en clair sur le réseau (Login, password, data…). Précautions à prendre : • Éviter d’implémenter un serveur FTP sur un réseau contenant des Hubs. • Éviter d’implémenter un serveur FTP sur un serveur critique ou contenant des données critiques. • Bloquer le compte root pour qu’il ne puisse pas se connecter au serveur. • Solutions à adopter : Utiliser un système d’utilisateurs virtuels et/ou activer un système de cryptage des données (SSL).
Pourquoi Pure FTPd ? • Il existe d’autre serveur FTP (ProFTPd,FTPd, WuFTPd, vsFTPd…) • PureFTPd offre : • Une excellente gestion des utilisateurs virtuels. • Le support LDAP • Support pour MySQL, PostgreSQL • Une gestion spécifique à chaque utilisateur (Horaire de connexion, bande passante...) • Une sécurité accrue et une très grande portabilité
Installation • Téléchargement des sources ou des binaires sur le site officiel www.pureftpd.org ou par packages • Décompressions des sources : # tar (z|j)xvf achive.tar.(gz|bz2) • Lancement du script configure : # ./configure --options … • Lancement du script d’installation : # make install-strip • Vérification de l’installation des binaires dans /usr/local/(bin|sbin) • Vérification de la variable PATH : # echo $PATH • Modification de la variable PATH si besoin est : # export PATH=$PATH:/usr/local/bin:/usr/local/sbin
Le script configure • Permet de spécifier les options que l’on souhaite activer ou désactiver. • --with-puredb : Active le support des utilisateurs virtuels • --with-virtualchroot : active les liens symboliques pour les users chrooté • --with-ftpwho : Active la commande ftpwho • --with-altlog : Active les fichiers de log avancés • --with-throttling : Active la gestion de la bande passante • --with-peruserlimits : Active la limite par utilisateur • --without-inetd : Désactive le support inetd (gain de place)
Lancement du serveur • La commande pure-ftpd permet de lancer le serveur. • -lpuredb:/etc/pureftpd.pdb : précise le fichier de comptes • -c N : Limite le nombre de connexions maximum à N • -C N : Limite le nombre maximum de connexions par IP à N • -E : Désactive les connexions anonymes • -K : Active le support du resume • -O type:/chemin/vers/fichier : active et spécifie le fichier de log • Type = clf : Log de type apache, stats : log qui peut être traité par des logiciels de statistique, w3c: fichier de log compatible W3C.
Les commandes principales • pure-ftpd : lance le serveur. • pure-pw : Commande globale permettant d’administrer le système. • pure-ftpwho & pure-mrtginfo : permet de visualiser qui est connecté au serveur. • pure-pwconvert user >> /etc/pureftpd.passwd Convertit l’utilisateur système user en utilisateur ftp.
Les commandes d’administration • pure-pw useradd : Ajoute un utilisateur virtuel. • pure-pw usermod : Modifie un compte • pure-pw userdel : Efface un compte • pure-pw passwd : Modifie le password • pure-pw show : Visualise les attributs d’un utilisateur. • pure-mkdb : Permet d’appliquer les changements
Gestion des utilisateurs virtuel • Options principales des commandes useradd et usermod : • -u/-g : précise l’uid/gid de l’utilisateur (généralement ftpuser) • -d/-D : précise le répertoire personnel (-d = chrooté) • -t/-T : précise le débit maximum en download/upload • -y : nombre maximum de sessions simultanées. • -z : heure de connexion (hhmm-hhmm) • -O type:/chemin/vers/fichier : active et spécifie le fichier de log • -m : Applique les changements directement (évite de taper pure-pw mkdb). • -Q/-q : Définit les ratios de download/upload.
Exemples • pure-pw useradd toto –d /home/toto –t 20 –z 0800-2000 -y 2 • pure-pw usermod toto –z ‘ ’ –T 30 • pure-pw userdel toto • pure-pwconvert supinfo >> /etc/pureftpd.passwd • pure-pw show supinfo