Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
090_applicatifs:205ftp:900pureftpd:10_installation [le 16/02/2025 à 14:36] – supprimée - modification externe (Date inconnue) 127.0.0.1 | 090_applicatifs:205ftp:900pureftpd:10_installation [le 24/03/2025 à 16:28] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. prof | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Installation de base ====== | ||
+ | Jouons un peu avec ce serveur FTP. Ce sera l' | ||
+ | L' | ||
+ | |||
+ | Ce réseau est accessible par le réseau 192.168.0.0/ | ||
+ | |||
+ | Il n'y a pas ici de NAT, ni d'un côté ni de l' | ||
+ | |||
+ | Voici la vraie installation : | ||
+ | {{ 090_applicatifs: | ||
+ | Mais qui fonctionnellement peut se résumer ainsi : | ||
+ | {{ 090_applicatifs: | ||
+ | Nous avons donc fonctionnellement deux réseaux IP '' | ||
+ | < | ||
+ | Tracing the path to 192.168.10.76 on TCP port 21 (ftp), 30 hops max | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== Installation ===== | ||
+ | C'est simple : | ||
+ | aptitude install pure-ftpd | ||
+ | Qui installe aussi '' | ||
+ | < | ||
+ | # aptitude search pure-ftpd | ||
+ | p | ||
+ | i | ||
+ | i A pure-ftpd-common | ||
+ | p | ||
+ | p | ||
+ | p | ||
+ | </ | ||
+ | Nous n' | ||
+ | |||
+ | L' | ||
+ | Starting ftp server: Running: / | ||
+ | ==== Quelques mots à propos de pure-ftpd ==== | ||
+ | Ce serveur, dans sa version « vanilla » n'est pas prévu pour s' | ||
+ | |||
+ | Comme nous n' | ||
+ | |||
+ | Analysons tout de même la ligne de commande construite par défaut lors de l' | ||
+ | *'' | ||
+ | *'' | ||
+ | *'' | ||
+ | *'' | ||
+ | *'' | ||
+ | *'' | ||
+ | Pure-ftpd propose plusieurs méthodes d' | ||
+ | |||
+ | Apriori, nous ne souhaitons pas créer de zone publique (connexions anonymes). | ||
+ | |||
+ | Il pourra être nécessaire d' | ||
+ | |||
+ | Nous savons que par défaut FTP laisse passer en clair les identifiants des utilisateurs. Peut-être faudra-t-il envisager de mettre en œuvre TLS. | ||
+ | |||
+ | Nous mettrons en place un filtrage de paquets (Netfilter) sur le serveur virtuel, il faudra l' | ||
+ | ==== Mode opératoire ==== | ||
+ | Dans un premier temps, nous allons désactiver le démarrage en mode « daemonized ». Pour les essais, nous ferons démarrer le serveur dans un shell et lorsque nous aurons arrêté une configuration convenable, nous configurerons '' | ||
+ | ===== Recherche d'une configuration ===== | ||
+ | ==== L' | ||
+ | Le support des utilisateurs virtuels se fait par un fichier de structure assez similaire au ''/ | ||
+ | |||
+ | Comme ces utilisateurs sont virtuels, ils n'ont aucune existence sur le système. il est nécessaire de créer un compte système que le serveur pourra emprunter pour effectuer les opérations de lecture et d' | ||
+ | === Préparation du système === | ||
+ | Commençons par arrêter le serveur « standalone » : | ||
+ | # / | ||
+ | Puis modifions ''/ | ||
+ | STANDALONE_OR_INETD=inetd | ||
+ | De cette manière, le script '' | ||
+ | |||
+ | Nous allons maintenant créer un groupe '' | ||
+ | # groupadd ftpgroup | ||
+ | Nous créons un utilisateur '' | ||
+ | # useradd -g ftpgroup -d /dev/null -s /bin/false ftpuser | ||
+ | Nous créons un répertoire qui contiendra les répertoires des utilisateurs virtuels : | ||
+ | # mkdir / | ||
+ | === Création d'un compte virtuel === | ||
+ | Avec la commande '' | ||
+ | # pure-pw useradd test -u ftpuser -d / | ||
+ | Cette commande nécessitera d' | ||
+ | < | ||
+ | # pure-pw show test | ||
+ | |||
+ | Login : test | ||
+ | <span class=" | ||
+ | UID : 1001 (ftpuser) | ||
+ | GID : 1001 (ftpgroup) | ||
+ | Directory | ||
+ | Full name : | ||
+ | Download bandwidth : 0 Kb (unlimited) | ||
+ | Upload | ||
+ | Max files : 0 (unlimited) | ||
+ | Max size : 0 Mb (unlimited) | ||
+ | Ratio : 0:0 (unlimited: | ||
+ | Allowed local IPs : | ||
+ | Denied | ||
+ | Allowed client IPs : | ||
+ | Denied | ||
+ | Time restrictions | ||
+ | Max sim sessions | ||
+ | </ | ||
+ | Tout ceci laisse entendre qu'il est possible de configurer finement chaque compte virtuel. Il sera intéressant de lire le manuel de '' | ||
+ | Le mot de passe est chiffré, mieux vaut donc ne pas l' | ||
+ | |||
+ | Ce n'est pas tout. '' | ||
+ | # pure-pw mkdb | ||
+ | qui crée, toujours par défaut, un fichier ''/ | ||
+ | === Premier test === | ||
+ | Nous démarrons le serveur avec les options suivantes : | ||
+ | # pure-ftpd -j -l puredb:/ | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Nous pouvons dans une autre console, observer deux choses : | ||
+ | # ps aux | grep pure | ||
+ | root | ||
+ | | ||
+ | et : | ||
+ | # netstat -laputen | grep pure | ||
+ | tcp | ||
+ | tcp6 0 0 :::21 ::: | ||
+ | Nous avons un serveur qui tourne (c'est tant mieux), sous l' | ||
+ | |||
+ | Avec notre '' | ||
+ | < | ||
+ | Statut : Connexion à 192.168.10.76: | ||
+ | Statut : Connexion établie, attente du message d' | ||
+ | Réponse : | ||
+ | Réponse : 220-You are user number 1 of 50 allowed. | ||
+ | Réponse : 220-Local time is now 18:30. Server port: 21. | ||
+ | Réponse : 220-IPv6 connections are also welcome on this server. | ||
+ | Réponse : 220 You will be disconnected after 15 minutes of inactivity. | ||
+ | Commande : USER test | ||
+ | Réponse : 331 User test OK. Password required | ||
+ | Commande : PASS ******** | ||
+ | Réponse : 230-User test has group access to: ftpgroup | ||
+ | Réponse : 230 OK. Current directory is / | ||
+ | Commande : OPTS UTF8 ON | ||
+ | Réponse : 200 OK, UTF-8 enabled | ||
+ | Statut : Connecté | ||
+ | Statut : | ||
+ | Commande : PWD | ||
+ | Réponse : 257 "/" | ||
+ | Statut : Succès de la lecture du contenu du dossier | ||
+ | </ | ||
+ | Tout s'est bien passé. Sur le serveur, le dossier a été créé (par ftpuser) : | ||
+ | # ls -l / | ||
+ | total 4 | ||
+ | drwxr-xr-x 2 ftpuser ftpgroup 4096 1 janv. 18:30 test | ||
+ | Si nous essayons de remonter dans l' | ||
+ | < | ||
+ | Statut : | ||
+ | Commande : CDUP | ||
+ | Réponse : 250 OK. Current directory is / | ||
+ | Commande : PWD | ||
+ | Réponse : 257 "/" | ||
+ | Statut : Succès de la lecture du contenu du dossier | ||
+ | </ | ||
+ | '' | ||
+ | |||
+ | Tant que notre client est connecté, revoyons un peu : | ||
+ | # ps aux | grep pure | ||
+ | root | ||
+ | ftpuser | ||
+ | root | ||
+ | et : | ||
+ | # netstat -laputen | grep pure | ||
+ | tcp | ||
+ | tcp | ||
+ | tcp6 0 0 :::21 :::* LISTEN | ||
+ | Nous avons un nouveau service qui tourne sous l' | ||
+ | |||
+ | Le service '' | ||
+ | |||
+ | Tout ceci est plutôt encourageant. |
Installation de base: Dernière modification le: 01/01/1970 à 00:00 par