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édenteProchaine révisionLes deux révisions suivantes | ||
logiciel:internet:ftp:vsftpd:exemples [2020/11/14 17:05] – admin | logiciel:internet:ftp:vsftpd:exemples:start [2021/02/27 16:39] – admin | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== Vsftpd : cinq exemples de configuration ====== | ====== Vsftpd : cinq exemples de configuration ====== | ||
- | ====== Une configuration classique | + | ===== Une configuration classique ===== |
Supposons que vous souhaitez mettre en place un serveur de fichiers, accessible à tous (par exemple par Internet). Votre fichier vsftpd.conf pourrait alors ressembler à ceci : | Supposons que vous souhaitez mettre en place un serveur de fichiers, accessible à tous (par exemple par Internet). Votre fichier vsftpd.conf pourrait alors ressembler à ceci : | ||
Ligne 82: | Ligne 82: | ||
: Nous autorisons un débit maximal de 50000 octets par seconde (49 ko/s) pour les clients. | : Nous autorisons un débit maximal de 50000 octets par seconde (49 ko/s) pour les clients. | ||
- | ====== Deuxième configuration : filtrage par adresses IP ====== | + | ===== Deuxième configuration : filtrage par adresses IP ===== |
Dans ce scénario, votre serveur héberge des documents que vous voulez mettre à la disposition d’une partie de votre réseau (par exemple le département comptabilité), | Dans ce scénario, votre serveur héberge des documents que vous voulez mettre à la disposition d’une partie de votre réseau (par exemple le département comptabilité), | ||
Ligne 88: | Ligne 88: | ||
Votre patron vous demande en plus " quelques petits ajustements ", qui consistent à lui donner, à lui tout seul, des possibilités de download spéciales et privilégiées et de réduire les possibilités des stagiaires, qui ont tendance, c’est bien connu, à abuser du système... Vsftpd sait s’appuyer sur tcp_wrappers pour autoriser ou refuser une ou plusieurs adresses IP et appliquer une configuration spécifique. | Votre patron vous demande en plus " quelques petits ajustements ", qui consistent à lui donner, à lui tout seul, des possibilités de download spéciales et privilégiées et de réduire les possibilités des stagiaires, qui ont tendance, c’est bien connu, à abuser du système... Vsftpd sait s’appuyer sur tcp_wrappers pour autoriser ou refuser une ou plusieurs adresses IP et appliquer une configuration spécifique. | ||
- | ===== Support de tcp_wrappers | + | ==== Support de tcp_wrappers ==== |
Cette opération suppose que vsftpd ait été construit avec le support de tcp_wrapper, | Cette opération suppose que vsftpd ait été construit avec le support de tcp_wrapper, | ||
Ligne 96: | Ligne 96: | ||
tcp_wrappers=YES | tcp_wrappers=YES | ||
- | ===== Définition d’une politique de filtrage | + | ==== Définition d’une politique de filtrage ==== |
Reste alors l’étape la plus importante, la création de la politique de filtrage dans tcp_wrapper. | Reste alors l’étape la plus importante, la création de la politique de filtrage dans tcp_wrapper. | ||
Ligne 145: | Ligne 145: | ||
Bien sûr, les mauvaises langues diront qu’il serait possible de contourner cette sécurité en spoofant l’adresse ou le nom d’un hôte autorisé : c’est vrai et cette évidence est valable pour tous les filtres basés sur l’adresse ou le nom (un filtrage sur l’adresse Mac pourrait être contourné de la même façon). Ce filtrage n’empêche pas l’existence d’un mot de passe, qui pourra être très restrictif (comme nous l’avons vu plus haut avec les directives secure_email_list_enable et email_password_file=/ | Bien sûr, les mauvaises langues diront qu’il serait possible de contourner cette sécurité en spoofant l’adresse ou le nom d’un hôte autorisé : c’est vrai et cette évidence est valable pour tous les filtres basés sur l’adresse ou le nom (un filtrage sur l’adresse Mac pourrait être contourné de la même façon). Ce filtrage n’empêche pas l’existence d’un mot de passe, qui pourra être très restrictif (comme nous l’avons vu plus haut avec les directives secure_email_list_enable et email_password_file=/ | ||
- | ====== Troisième configuration : les utilisateurs virtuels | + | ===== Troisième configuration : les utilisateurs virtuels ===== |
Justement, les utilisateurs sont capables de tout... une protection supplémentaire de vsftpd consiste à faire en sorte que le client qui accède ainsi à votre serveur ait des pouvoirs très limités... l’idée consiste à créer un utilisateur très particulier, | Justement, les utilisateurs sont capables de tout... une protection supplémentaire de vsftpd consiste à faire en sorte que le client qui accède ainsi à votre serveur ait des pouvoirs très limités... l’idée consiste à créer un utilisateur très particulier, | ||
Ligne 155: | Ligne 155: | ||
Elle s’opère en quatre étapes : la création d’une micro base de données qui contient les utilisateurs que vous autoriserez, | Elle s’opère en quatre étapes : la création d’une micro base de données qui contient les utilisateurs que vous autoriserez, | ||
- | ===== Création de la base de données | + | ==== Création de la base de données ==== |
Il s’agit là d’une étape délicate si vous ne maîtrisez pas PAM. Pour faire simple, PAM est le module d’authentification le plus efficace et le plus développé à ce jour sur les systèmes Linux. | Il s’agit là d’une étape délicate si vous ne maîtrisez pas PAM. Pour faire simple, PAM est le module d’authentification le plus efficace et le plus développé à ce jour sur les systèmes Linux. | ||
Ligne 192: | Ligne 192: | ||
Effacez parallèlement virtuels.txt. Si vous voulez le garder pour conserver la mémoire de ce que vous avez fait, donnez-lui les mêmes droits restrictifs que pour / | Effacez parallèlement virtuels.txt. Si vous voulez le garder pour conserver la mémoire de ce que vous avez fait, donnez-lui les mêmes droits restrictifs que pour / | ||
- | ===== Création du fichier PAM à partir de cette base de données | + | ==== Création du fichier PAM à partir de cette base de données ==== |
L’objectif de cette étape consiste à informer PAM qu’il faut utiliser notre base de données avec vsftpd... Créez un fichier vsftpd.pam, que vous positionnerez dans le répertoire /etc/pam.d. Ce fichier contiendra deux lignes, du type : | L’objectif de cette étape consiste à informer PAM qu’il faut utiliser notre base de données avec vsftpd... Créez un fichier vsftpd.pam, que vous positionnerez dans le répertoire /etc/pam.d. Ce fichier contiendra deux lignes, du type : | ||
Ligne 202: | Ligne 202: | ||
/ | / | ||
- | ===== Création d’un utilisateur virtuel | + | ==== Création d’un utilisateur virtuel ==== |
Jusqu’ici, | Jusqu’ici, | ||
Ligne 223: | Ligne 223: | ||
/ | / | ||
- | === Paramétrage de vsftpd | + | == Paramétrage de vsftpd == |
Il ne reste plus qu’à demander à vsftpd d’utiliser tous ces paramétrages, | Il ne reste plus qu’à demander à vsftpd d’utiliser tous ces paramétrages, | ||
Ligne 277: | Ligne 277: | ||
Si vous voulez assouplir les règles du répertoire d’accueil, | Si vous voulez assouplir les règles du répertoire d’accueil, | ||
- | ====== Quatrième configuration : utilisateurs virtuels, suite et encore plus de sécurité | + | ===== Quatrième configuration : utilisateurs virtuels, suite et encore plus de sécurité ===== |
La configuration qui précède est très sécurisée, | La configuration qui précède est très sécurisée, | ||
Ligne 287: | Ligne 287: | ||
Cette troisième configuration consiste donc simplement dans un premier temps à activer cette option, puis, dans un deuxième et troisième temps, à définir les droits de pierre et de toto. | Cette troisième configuration consiste donc simplement dans un premier temps à activer cette option, puis, dans un deuxième et troisième temps, à définir les droits de pierre et de toto. | ||
- | ===== Activation de la configurabilité utilisateur par utilisateur | + | ==== Activation de la configurabilité utilisateur par utilisateur ==== |
Pour ce faire, dans le fichier / | Pour ce faire, dans le fichier / | ||
Ligne 304: | Ligne 304: | ||
Nous utilisons ici la configuration précédente pour l’enrichir, | Nous utilisons ici la configuration précédente pour l’enrichir, | ||
- | ===== Paramétrages pour pierre | + | ==== Paramétrages pour pierre ==== |
Nous voulons que pierre ait des droits en lecture sur tous les répertoires. Dans la configuration précédente, | Nous voulons que pierre ait des droits en lecture sur tous les répertoires. Dans la configuration précédente, | ||
Ligne 315: | Ligne 315: | ||
Redémarrez le serveur et connectez-vous en tant que pierre, vous verrez que ls fonctionne, tandis qu’il produit un échec à ce stade si vous êtes toto ! | Redémarrez le serveur et connectez-vous en tant que pierre, vous verrez que ls fonctionne, tandis qu’il produit un échec à ce stade si vous êtes toto ! | ||
- | ===== Affinage des droits de toto ===== | + | ==== Affinage des droits de toto ==== |
Nous voulons que toto puisse lui aussi avoir ls, mais aussi créer ou uploader, sans bien sûr toucher aux fichiers déjà existants. Créez pour ce faire un fichier / | Nous voulons que toto puisse lui aussi avoir ls, mais aussi créer ou uploader, sans bien sûr toucher aux fichiers déjà existants. Créez pour ce faire un fichier / | ||
Ligne 329: | Ligne 329: | ||
Vous voyez qu’au fond, passer à ce stade ultime n’est pas beaucoup plus compliqué, puisqu’il s’agit au fond simplement, une fois la directive de configurabilité utilisateur par utilisateur activée, de créer un fichier de configuration cousu main pour chaque utilisateur particulier du système. | Vous voyez qu’au fond, passer à ce stade ultime n’est pas beaucoup plus compliqué, puisqu’il s’agit au fond simplement, une fois la directive de configurabilité utilisateur par utilisateur activée, de créer un fichier de configuration cousu main pour chaque utilisateur particulier du système. | ||
- | ====== Cinquième configuration : les IP virtuelles | + | ===== Cinquième configuration : les IP virtuelles ===== |
Mais bon, vous n’êtes peut-être pas paranoïaque à ce point et votre souci est peut-être plus de disposer d’un serveur à tout faire à peu près bien rangé, qui sépare bien le LAN de l’Internet par exemple, que de faire du tuning utilisateur par utilisateur. Imaginons donc un dernier cas. | Mais bon, vous n’êtes peut-être pas paranoïaque à ce point et votre souci est peut-être plus de disposer d’un serveur à tout faire à peu près bien rangé, qui sépare bien le LAN de l’Internet par exemple, que de faire du tuning utilisateur par utilisateur. Imaginons donc un dernier cas. | ||
Ligne 346: | Ligne 346: | ||
Vsftpd offre une solution pour vous : les IP virtuelles. L’idée de ce mécanisme consiste à attribuer plusieurs adresses IP à votre carte réseau (des alias) et de consacrer chaque IP à l’un des trois sites FTP que vous voulez maintenir. | Vsftpd offre une solution pour vous : les IP virtuelles. L’idée de ce mécanisme consiste à attribuer plusieurs adresses IP à votre carte réseau (des alias) et de consacrer chaque IP à l’un des trois sites FTP que vous voulez maintenir. | ||
- | ===== Création d’alias réseau | + | ==== Création d’alias réseau ==== |
Pour quoi faire ? Vous allez voir. Supposons que votre carte physique ait pour adresse 10.0.0.10 et qu’il s’agisse de la carte eth0. | Pour quoi faire ? Vous allez voir. Supposons que votre carte physique ait pour adresse 10.0.0.10 et qu’il s’agisse de la carte eth0. | ||
Ligne 384: | Ligne 384: | ||
De la même façon, nous créons un deuxième alias eth0:2, qui aura l’adresse 10.0.0.12. Notre carte réseau a désormais trois adresses. | De la même façon, nous créons un deuxième alias eth0:2, qui aura l’adresse 10.0.0.12. Notre carte réseau a désormais trois adresses. | ||
- | ===== Écoute d’une adresse particulière | + | ==== Écoute d’une adresse particulière ==== |
Occupons-nous à présent du serveur vsftpd et voyons ce que ce merveilleux outil permet de faire avec cette manipulation. | Occupons-nous à présent du serveur vsftpd et voyons ce que ce merveilleux outil permet de faire avec cette manipulation. | ||
Ligne 424: | Ligne 424: | ||
Bien sûr, vous aurez intérêt à positionner ces différents utilisateurs dans des répertoires différents, | Bien sûr, vous aurez intérêt à positionner ces différents utilisateurs dans des répertoires différents, | ||
- | ====== Conclusion | + | ===== Conclusion ===== |
Nous avons essayé dans cet article de vous proposer plusieurs configurations qui vous permettront, | Nous avons essayé dans cet article de vous proposer plusieurs configurations qui vous permettront, |