pureftpd Manager GUI pour Mac OS X Manual_FR_V0.01 CE MANUEL A POUR VOCATION DE VOUS ASSISTER A LA MISE EN PLACE DE pureftp sur Mac OS X. Il ne rempalce en aucun cas les manuels originaux de pureftp. L Auteur ne pourrait être tenu responsable des mauvaises manipulations et/ou dysfonctionnment. Toutes les marques citées appartiennent à leur Détenteur et sont soumis à Copyright. Environnement lors de la réalisation du document : Mac OS X Panther 10.3.2 - Français pureftpd Manager 1.1.1 Installation...................................................... 2 Configuration (Assistant)........................................... 3 Réglages Préférences............................................. 9 Création des comptes.............................................16 Ajout d un Utilisateur - Options General............................17 Ajout d un Utilisateur - Options Transfers..........................20 Ajout d un Utilisateur - Options Network...........................21 Sécurité - Arguments Utiles......................................... En cours Remerciements - Liens............................................ En cours Page 1
INSTALLATION /!\ PRÉ REQUIS /!\ - Mac OS X 10.2 ou Supérieur - Serveur FTP de Mac OS X DÉSACTIVÉ - Firewall intégré au Mac autorisant les connexions FTP ou Firewall (Software ou Hardware) sur votre réseau correctement paramétré. - Utilisation du Terminal (pas indispensable mais conseillé) TÉLÉCHARGEMENT Commencer par télécharger sur http://jeanmatthieu.free.fr/pureftpd/ les éléments suivants : PureFTPd Manager 1.1.1 http://jeanmatthieu.free.fr/pureftpd/pkg/pureftpd-manager-1.1.1.dmg Un correctif (dans le cas ou pureftp ne se lance pas au boot), http://jeanmatthieu.free.fr/pureftpd/pkg/pureftpd-panther.pkg.dmg Lancer ensuite l installation, PureFTPd Manager 1.1.1 en premier, puis le correctif. Une fois l installation terminé, lancer pureftp. Je vous conseille de l installer dans /Applications, on a assez de cas où les applis semblent se comporter bizarrement si elles ne sont pas dans /Applications. Un Assistant va se lancer, vous pourrez à tout moment le relancer via le menu Help La suite en Page 3 pour la configuration (Assistant). Page 2
ASSISTANT D INSTALLATION Après le lancement de pureftp, vous arrivez sur une première fenêtre : Cliquez sur CONFIGURE (Suite Page 4) Page 3
Configuration Section ANONYME - pureftp vous propose d activer ou non le compte ANONYME. - Décochez Skip Anonymous account setup, vous pourrez désactiver ce compte par la suite (voie en Page 14). - Vous pouvez changer l UID proposé par défaut, nous verrons pourquoi dans le chapitre SÉCURITÉ!!!! Il ca de soit que vous ne pouvez pas utiliser un UID (n d utilisateur) déjà utilisé. Page 4
Configuration Section ftpvirtual/ftpgroup - Cette section est importante. - pureftp vous propose un utilisateur & un groupe par défaut. Rien ne vous empêche d utiliser un autre compte/groupe, mais les réglages par défaut - une fois de plus - conviennent très bien. /!\ POUR DES RAISONS ÉVIDENTES DE SÉCURITÉ, N UTILISEZ PAS root!!! - TOUT COMME LE COMPTE ANONYME, possibilité de changer l UID par défaut, on verra pourquoi au chapitre SÉCURITÉ!!!! - Comme vous le remarquez, le shell par défaut est /dev/null. pureftp est en effet capable de chrooter les utilisateurs. On peut traduire chroot par cage, prison... Cette fonctionnalité augmente un peu la sécurité, sans non plus que l on soit au top du top. - Mais qu est ce que ça veut dire en clair? Le user ftp (ftpvirtual) se vera limité à un environnement, si un trou de sécurité lui permet de prendre contrôle de la machine, il sera limité à son Home Directory (en gros). - De plus, pureftp utilise une base utilisateur dans un fichier, ces utilisateurs n étant pas des comptes systèmes, mais des utilisateurs virtuels. On augmente par cette méthode la sécurité globale du système. Bien sûr, les mots de passe utilisent le même principe - Vous pouvez de nouveau faire un Skip Virtual Users system registration pour le régler plus tard. Page 5
Configuration Logging - Record user actions... : Enregistre les actions & statistiques - Fairly share processor... : Partage doucement les ressources processor (évitent de bouffer trop de processeur) - Update users stat... : Effectue un reset des statistiques Utilisateurs au démarrage Page 6
Configuration Répertoire de Base / Serveurs Virtuels - Les dossiers par défaut sont : /Users/ftp/VirtualsUsers /Users/ftp/VirtualsHosts - Les utilisateurs que vous allez créer auront leur répertoire dans le dossier /Users/ftp/VirtualsUsers. Ainsi, si vous créer un user bobby, son répertoire sera : /Users/ftp/VirtualsUsers/bobby - pureftp est aussi capable de faire du Serveur Virtuel, à savoir affecter plusieurs domaines, chacun sur une adresse IP différente. - Automatically launch... : Lance automatiquement pureftp au boot (à cocher, of course!!!) Page 7
Fin de la Configuration - Cliquez sur CONFIGURE!!!!! - Vous pouvez ensuite lancer pureftp en mode graphique, en ouvrant pureftpd Manager. - Vous devez obtenir la fenêtre ci-dessous. Page 8
RÉGLAGES PRÉFÉRENCES - Accessible depuis Menu PureFTPd Manager/Preferences - Les options : Settings = Réglages Options Logging = Log, etc Authentification = Type d authentification (pureftp, PAM, mysql, etc...) Anonyme = réglages du compte Anonyme Mac OS X = Quelques réglages Systèmes Page 9
Configuration des Préférences Settings pureftpd Listen on port : Vous permet de changer le n de port TCP à utiliser (21 par défaut) Allow a maximum of : Définit le nombre de connexions simultanées Connection Timout : Durée d inactivité avant de couper le service pureftpd Listen on port : Nombre maxi d utilisateurs par adresse IP PXP Support : Activation du Support FXP - Le laisser à DISABLE Passive Port Range : Etendue, de (From) à (To) des ports TCP à utiliser pour les downloads mode passif. Utile si vous êtes derrière un firewall qui ne supporte le connection tracking FTP (Suivi de connexion FTP). Utiliser des valeurs élévées (40000-50000 par ex), pour éviter de taper dans des services connus. Page 10
Configuration des Préférences Options Do not resolve hosts names : Ne pas résoudre les noms d hôtes. Activé par défaut. Evite au serveur de faire des résolutions de noms lorsqu il loggue les connexions. En clair, "213.41.14.252" sera loggué (journalisé) au lieu "www.toolinux.com" Force active mode : Si vous êtes derrière un NAT qui ne gère pas proprement pas le stateful FTP masquerading, cocher cette option. Vous pouvez indiquez l adresse IP (Force IP) pour laquelle le serveur FTP va répondre, suite à une commande PASV/EPSV/SPSV. Cette adresse est celle de votre IP publique. ATTENTION : JE N AI PAS TESTÉ CETTE FONCTIONNALITÉ, je me suis basé sur la documentation http://www.pureftpd.org/readme!!!! Disable upload if partition is more than XXX % full : Le serveur va désactiver les uploads si on tombe en dessous d un seuil de XXX % de la capacité de la partition où les utilisateurs déposent leurs fichiers. NOTA BENE : d où l éventuel intêret de dédier une patition aux utilisateurs. Speed Limits : Limitation en kb/s pour les Uploads & les Downloads. Extra Arguments : Possibilté d utiliser des arguments complémentaires au lancement du serveur FTP. http://www.pureftpd.org/readme pour la liste des arguments. Page 11
Configuration des Préférences Logging Record all files transfert... : Enregistre dans un fichier log (/var/log/pureftpd.log par défaut) les transferts. Deux formats dispo : CLF (Common Log Format) W3C (Extended Log File Format) Plus d info sur http://www.w3.org/daemon/user/config/logging.html#common_logfile_format http://www.w3.org/tr/wd-logfile Update users statistic at startup : Mise à jour des stats au démarrage. Fairly share processor... : Le serveur évite de manger trop de ressources entre les applications actives. Page 12
Configuration des Préférences Authentification En général : pureftp est capable d utiliser différentes méthodes d authentification. - PureDB : Sa base à lui - PAM : Password Authentification Module - mysql - LDAP - PostgreSQL Je n ai pas encore eu l occasion de jouer avec toutes ces options, désolé!!!! Mais sinon, dans le cas LDAP, MySQL & PostgreSQL, créer un fichier de configuration, copier ce fichier sur votre machine qui vous sert de serveur FTP, lui coller les droits 600, c est tout!!! Pourquoi un fichier plutôt que des commandes pour se connecter à une base? Question de sécurité... Rien ne vous empêche d utiliser une base distante. Automatically create user s... : Penser à cocher cette option si vous désirez que pureftp puisse créer automatiquement les Home Directory (Répertoire Utilisateur). Page 13
Configuration des Préférences Anonymous X Y Disable anonymous access : Désactive le compte utilisateur Anonyme /!\ SI VOUS DÉSIREZ UN ACCÈS LIMITÉ Â VOTRE SERVEUR FTP (Avec Login/Mot de Passe), n utilisez pas le compte anonyme... Anonymous users can create directories : Permet au compte Anonyme de créer des répertoires. Anonymous can t download files uploaded by anonymous : Interdit au compte Anonyme de télécharger des fichiers déposés par le même compte. C est ce que l on appele le "WareZ protection". L administrateur devra la cas échéant changer les droits sur les fichiers pour autoriser le téléchargement. Anonymous users can t dowload files if server load is above : Le compte anonyme ne peut plus télécharger de fichiers si la charge du serveur est supérieure à <%%%>. Variable entre 0 & 100. Quotas : Cette option doit être comprise par RATIO. Le compte anonyme doit, par exemple, déposer (uploader) X kb avant de pouvoir télécharger (downloader) Y kb. Speeds Limits : Limite haute des vitesses autorisées en Upload & Download. Page 14
Configuration des Préférences System - OS X Automatically launch PureFTP at Startup : Lancement automatique du serveur au démarrage. Enable RendezVous : Active le ZeroConf IP V6 (RendezVous ). Change FTP Base Directories : Change les réglages par défaut des dossiers des VirtualUsers & VirtualHosts. Cliquer sur le bouton CHOOSE pour naviguer & choisir le dossier adéquat. Le fait de changer ces dossiers - après une installation & utilisation du serveur - n affecte en rien les réglages précédemment effectués. Page 15
Création des Utilisateurs La création & configuration des utilisateurs s effectue en cliquant dans Il va de soit qu il convient de suivre des régles de base : - Chrooter les utilisateurs - Leur affecter un Home Directory - Choisir le bon UID & GID (User ID & Group ID) Nous avons vu précédemment que pureftp (et c est là une de ses grandes forces) utilise une base d utilisateurs, le seul utiilisateur étant vu au niveau du Système étant ftpvirtual, ainsi que le groupe ftpgroup. Lors de la création du compte, vous avez la possibilité de choisir ces fameux UID & GID. Pour des questions de sécurité, il est FORTEMENT DÉCONSEILLÉ D AFFECTER COMME UID root!!! Si vous êtes parano, nous verrons comment éviter des logins à certains comptes locaux, au chapitre SÉCURITÉ/Arguments. Page 16
Ajout d un Utilisateur - Options General Commencez par cliquer sur New Fulll Name : Ce n est pas le nom de login de votre Utilisateur. Allez y, mettez ce que vous voulez (Billou Gatous dans notre cas) Login/Password : Tous le monde aura compris ;-) Mixez des caractères bien violents si vous êtes parano (Genre Bm$7xp*AqtD) :-O Reset password : Effectue un RàZ du mot de passe. Home directory : Dans notre cas, billou aura comme répertoire /Users/ftp/VirtualUsers/billou. Pas la peine de créer le répertoire billou, au premier login ftp de billou, pureftp s en charge :-) Faisons un petit ls -la maintenant dans /Users/ftp/VirtualUsers/ Bob-Denard:/Users/ftp/VirtualUsers root# ls -la total 0 drwxr-xr-x 3 root wheel 102 6 Apr 21:57. drwxr-xr-x 3 root wheel 102 26 Mar 11:02.. drwxr-xr-x 2 ftpvirtu ftpgroup 68 6 Apr 21:57 billou billou appartient bien à ftpvirtual/ftpgroup comme prévu. Néanmoins, un petit probléme apparait, à savoir les droits du Groupe. Le dossier billou possède des droits 755 ( drwxr-xr-x), ce qui signifie que SEUL le user ftpvirtual a des droits de modification! En gros, vous ne pouvez pas effectuer des modifications dans le dossier de billou, avec votre compte utilisateur habituel. Voir en page suivante (18) le screen shoot qui confirme!!! Page 17
Le petit crayon entouré de vert nous indique bel et bien que vous ne pouvez NI AJOUTER/RENOMMER/SUP- PRIMER des fichiers dossiers dans le Home Directory de billou. Si vous désirez pouvoir modifier un dossier en particulier dans /Users/ftp/VirtualUsers/, il vous faut créer un Utilisateur ayant les mêmes droits que votre Compte Utilisateur OS X. Faisons l essai. Créer l utilisateur Bidon dans pureftp, lui donner comme droits celui de votre compte Utilisateur Local (bob, bob dans notre cas). /!\ ATTENTION /!\ Le dossier /Users/ftp/VirtualUsers/bidon n existe pas pour le moment!!! A la première connexion ftp, le dossier sera créé TOUT SEUL. Vérifions : Bob-Denard:~ bob$ ftp ftp> open localhost Trying ::1... Connected to localhost. 220---------- Welcome to Pure-FTPd [TLS] ---------- 220-You are user number 1 of 15 allowed. 220-Local time is now 22:39. Server port: 21. 220-This is a private system - No anonymous login 220 You will be disconnected after 15 minutes of inactivity. Name (localhost:bob): bidon 331 User bidon OK. Password required Password: 230-User bidon has group access to: 81 80 79 501 230 OK. Current directory is / Remote system type is UNIX. Using binary mode to transfer files. ftp> Page 18
Vérifions que nous pouvons modifier le contenu de notre dossier : Bob-Denard:/Users/ftp/VirtualUsers root# ls -la total 0 drwxr-xr-x 4 root wheel 136 6 Apr 22:39. drwxr-xr-x 3 root wheel 102 26 Mar 11:02.. drwxr-xr-x 2 bob bob 68 6 Apr 22:39 bidon drwxr-xr-x 2 ftpvirtu ftpgroup 68 6 Apr 21:57 billou Hourra!!! bidon a bien les droits complets. Si vous souhaitez by passer (contourner) ces droits d accès au sein de /Users/ftp/VirtualUsers, il vous suffit tout simplement de vous logger root sur votre Mac!!! Néanmoins, une petite parade consiste à modifier les droits par défaut du dossier /Users/ftp/VirtualUsers, en lui donnant les droits de votre compte local. Utilisez la méthode de votre choix (chmod en Terminal ou apple + I sur le dossier depuis le Finder). Allons y dans notre cas en Terminal : Bob-Denard:/Users/ftp root# chown -R bob:bob VirtualUsers/ Maintenant, on vérifie que l on puisse créer un dossier dans /Users/ftp/VirtualUsers : Bob-Denard:/Users/ftp root# ls -la total 0 drwxr-xr-x 3 root wheel 102 26 Mar 11:02. drwxrwxr-t 8 root admin 272 5 Apr 15:07.. drwxr-xr-x 5 bob bob 170 7 Apr 21:51 VirtualUsers. Voilà comme aiment à le dire certains Anglo-Saxons & US. Il vous suffit ensuite de créer autant de dossiers que vous le souhaitez, vous aurez la possibilité de créer/modifier/supprimer. Pourquoi un tel comportement à adpoter? pureftp est lancé par root au démarrage, il faudrait juste que les droits par défaut des dossiers dans /Users/ftp/VirtualUsers soient réglés à 775 (drwxrwxr-x), et non 755 (drwxr-xr-x). Il suffirait ensuite d ajouter votre compte dans le Groupe ftpgroup. MAIS ATTENTION, ATTENTION!!!!! Le fait d avoir des droits 755 (drwxrwxr-x)est intentionnel pour des soucis évidents de sécurité. Vous aimeriez que d'autres utilisateurs avec des comptes sur la même machine puisse créer des.rhosts ou des.ssh dans votre répertoire local? pureftpd est cité comme un serveur sûr. A vous de choisir entre Sécurité & Commodité personnelle d usage. Vous êtes prévenu :-) Page 19
Nous n avons pas encore abordé les derniers réglages du User (Enfin!!!!). Restrict Time Acces : Autorisé (Granted) de XXHXX à (To) XXHXX. Pensez à cocher la case Disabled pour activer la fonction. User/Group : Je pense que tout le monde aura compris!!!! Ajout d un Utilisateur - Options Transfers Maximum number of concurrent sessions : Nombre de sessions simultanées. User Ratio : Identique à l explication Anonyme en Page 14. Bandwith management : Limite haute en (kb/s) Upolad & Dowload. Page 20
Quota - User can store a maximum of XXX files : Nombre maximum XXX de fichiers autorisés. Quota - For a total amount than should not exceed YYY MB : Limite haute de l espace disponible, en MB (Mo). Voilà le résultat si on tente de dépasser les réglages (10 par exemple pour XXX & 10 pour YYY) : ftp> mkdir blabla 550-Quota exceeded: blabla won't be saved 550-10 files used (100%) - authorized: 10 files 550 0 Kbytes used (0%) - authorized: 10240 Kb ftp> Ajout d un Utilisateur - Options Network Allow connections from : Liste des adresses IP autorisées. Deny connections from : Liste des adresses IP interdites.