• Aucun résultat trouvé

Options pour le transfert de fichiers

Section 8. FTP

8.5. Options de configuration de vsftpd

8.5.6. Options pour le transfert de fichiers

Ci-dessous figure la liste des directives ayant un impact sur les répertoires.

download_enable — Lorsque cette option est activée, le téléchargement de fichiers est autorisé.

La valeur par défaut est YES.

chown_uploads — Lorsque cette option est activée, tous les fichiers téléléchargés vers les serveur par des utilisateurs anonymes deviennent la propriété de l'utilisateur spécifié dans la directive chown_username.

La valeur par défaut est NO.

chown_username — Spécifie la propriété de fichiers téléchargés anonymement vers le serveur si la directive chown_uploads est activée.

La valeur par défaut est root.

write_enable — Lorsque cette option est activée, les commandes FTP permettant de modifier le système de fichiers sont permises, telles que DELE, RNFR et STOR.

La valeur par défaut est YES. 8.5.7. Options de journalisation

Ci-dessous figure une liste des directives ayant un impact sur le comportement de journalisation de vsftpd.

dual_log_enable — Lorsque cette option est activée de concert avec

xferlog_enable, vsftpd enregistre deux fichiers simultanément : un journal compatible avec wu-ftpd dans le fichier spécifiée dans la directive xferlog_file

(par défaut /var/log/xferlog) et un fichier journal vsftpd standard spécifié dans la directive vsftpd_log_file (par défaut /var/log/vsftpd.log).

La valeur par défaut est NO.

log_ftp_protocol — Lorsque cette option est activée de concert avec

xferlog_enable et lorsque xferlog_std_format a pour valeur NO, toutes les commandes et réponses FTP sont journalisées. Cette directive est très utilise lors d'opérations de débogage.

La valeur par défaut est NO.

syslog_enable — Lorsque cette option est activée de concert avec xferlog_enable, toute journalisation normalement enregistrée dans le fichier journal standard vsftpd

spécifié dans la directive vsftpd_log_file (par défaut /var/log/vsftpd.log) est envoyée à l'enregistreur du système sous le service FTPD.

La valeur par défaut est NO.

vsftpd_log_file — Spécifie le fichier journal vsftpd. Pour que ce fichier soit utilisé, xferlog_enable doit être activée et xferlog_std_format doit avoir pour valeur NO ou, si la valeur de xferlog_std_format estYES, l'activation dedual_log_enable est nécessaire. Il est important de noter ici que si

syslog_enable a pour valeur YES, le journal du système est utilisé à la place du fichier spécifié dans cette directive.

La valeur par défaut est /var/log/vsftpd.log.

xferlog_enable — Lorsque cette commande est activée, vsftpd journalise les connexions (seulement au format vsftpd) et les informations de transfert de fichiers dans le fichier journal spécifié dans la directive vsftpd_log_file (par défaut

/var/log/vsftpd.log). Si xferlog_std_format a pour valeur YES, les informations de transfert de fichiers sont journalisées mais les connexions elles ne le sont pas et le fichier spécifié dans xferlog_file (par défaut /var/log/xferlog) est utilisé à la place. Il est important de noter ici que les fichiers journaux aussi bien que les formats de journaux sont utilisés si la valeur de dual_log_enable est YES.

La valeur par défaut est NO. Notez que, sous Red Hat Enterprise Linux, la valeur est

YES.

xferlog_file — Spécifie le fichier journal compatible avec wu-ftpd. Pour que ce fichier soit utilisé, xferlog_enable doit être activé et la valeur de

xferlog_std_format doit être YES. Elle est également utilisée si la valeur de

dual_log_enable est YES.

La valeur par défaut est /var/log/xferlog.

xferlog_std_format — Lorsque cette option est activée de concert avec

xferlog_enable, seul un journal de transfert de fichiers compatible avec wu-ftpd est enregistré dans le fichier spécifié dans la directive xferlog_file (par défaut

/var/log/xferlog). Il est important de noter ici que ce fichier journalise seulement les transferts de fichiers et n'enregistre pas les connexions au serveur.

La valeur par défaut est NO. Notez que, sous Red Hat Enterprise Linux, la valeur est

YES. Important

Pour maintenir la compatibilité avec les fichiers journaux enregistrés par l'ancien serveur FTP

wu-ftpd, la directive xferlog_std_format prend la valeur YES sous Red Hat Enterprise Linux. Toutefois, ce paramètre signifie que les connexions au serveur ne sont pas journalisées.

Pour journaliser les connexions au format vsftpd et maintenir un journal des transferts de fichiers qui est compatible avec wu-ftpd, donnez à dual_log_enable la valeur YES.

S'il n'est pas important de maintenir un journal des transferts de fichiers qui est compatible avec wu-ftpd, vous pouvez donner à xferlog_std_format la valeur NO, commenter la ligne à l'aide d'un signe dièse (#) ou supprimer la ligne complètement.

8.5.8. Options réseau

Ci-dessous figure une liste des directives ayant un impact sur la manière dont vsftpd interagit avec le réseau.

accept_timeout — Spécifie la durée donnée à un client utilisant une connexion passive pour se connecter.

La valeur par défaut est 60.

anon_max_rate — Spécifie le taux de transfert de données maximal, exprimé en octets par seconde, pour les utilisateurs anonymes.

La valeur par défaut est 0, ce qui ne limite pas le taux de transfert.

connect_from_port_20 Lorsque cette option est activée, vsftpd tourne avec suffisamment de privilèges pour ouvrir le port 20 sur le serveur lors des transferts de données en mode actif. La désactivation de cette option permet à vsftpd de tourner

avec moins de privilèges, mais cette option peut-être incompatible avec certains clients FTP.

La valeur par défaut est NO. Notez que, sous Red Hat Enterprise Linux, la valeur est

YES.

connect_timeout — Spécifie la durée maximale exprimée en secondes, donnée à un client utilisant un mode actif pour répondre à une connexion de données.

La valeur par défaut est 60.

data_connection_timeout — Spécifie la durée maximale exprimée en secondes, pendant laquelle les transferts de données peuvent s'arrêter. Une fois cette durée écoulée, la connexion au client distant est fermée.

La valeur par défaut est 300.

ftp_data_port — Spécifie le port utilisé pour les connexions actives aux données lorsque connect_from_port_20 a pour valeur YES.

La valeur par défaut est 20.

idle_session_timeout — Spécifie la durée maximale pouvant s'écouler entre des commandes depuis un client distant. Une fois cette durée écoulée, la connexion au client distant est fermée.

La valeur par défaut est 300.

listen_address — Spécifie l'adresse IP sur laquelle vsftpd doit être à l'écoute de connexions réseau.

Il n'existe pas de valeur par défaut pour cette directive.

Astuce

Si plusieurs copies de vsftpd tournent et servent différentes adresses IP, le fichier de configuration de chaque copie du démon vsftpd doit avoir une valeur différente pour cette directive.

listen_address6 — Spécifie l'adresse IPv6 sur laquelle vsftpd doit être à l'écoute de connexions réseau lorsque listen_ipv6 a pour valeur YES.

Il n'existe pas de valeur par défaut pour cette directive.

Astuce

Si plusieurs copies de vsftpd tournent et servent différentes adresses IP, le fichier de configuration de chaque copie du démon vsftpd doit avoir une valeur différente pour cette directive.

listen_port — Spécifie le port sur lequel vsftpd doit être à l'écoute de connexions réseau.

La valeur par défaut est 21.

local_max_rate — Spécifie le taux maximal (exprimé en octets par seconde) auquel les données sont transférées, pour les utilisateurs locaux connectés au serveur.

La valeur par défaut est 0, ce qui ne limite pas le taux de transfert.

max_clients — Spécifie le nombre maximal de clients autorisés à se connecter simultanément au serveur lorsqu'il tourne en mode autonome. Toute connexion client supplémentaire provoquerait un message d'erreur.

La valeur par défaut est 0, ce qui ne limite pas les connexions.

max_per_ip — Spécifie le nombre maximal de clients autorisés à se connecter depuis l'adresse IP source.

La valeur par défaut est 0, ce qui ne limite pas les connexions.

pasv_address — Spécifie l'adresse IP utilisée pour l'adresse IP publique du serveur aux serveurs se trouvant derrière des pare-feu NAT (Network Address Translation).

Cette option permet à vsftpd de fournir la bonne adresse de retour pour des connexions en mode passif.

Il n'existe pas de valeur par défaut pour cette directive.

pasv_enable — Lorsque cette option est activée, les connexions en mode passif ne sont pas permises.

La valeur par défaut est YES.

pasv_max_port — Spécifie le port le plus élevé possible qui est envoyé aux clients FTP pour des connexions en mode passif. Ce paramètre est utilisé pour limiter la plage de ports afin que les règles de pare-feu soient faciles à créer.

La valeur par défaut est 0, ce qui ne limite pas la plage des ports passifs les plus élevés. La valeur ne doit pas dépasser 65535.

pasv_min_port — Spécifie le port le plus bas possible qui est envoyé au client FTP pour des connexions en mode passif. Ce paramètre est utilisé pour limiter la plage de ports afin que les règles de pare-feu soient faciles à créer.

La valeur par défaut est 0, ce qui ne limite pas la plage des ports passifs les plus bas. La valeur ne doit pas être inférieure à 1024.

pasv_promiscuous — Lorsque cette option est activée, les connexions aux données ne sont pas analysées pour vérifier qu'elles proviennent bien de la même adresse IP.

Ce paramètre est seulement utile pour certains types de tunnellisation.

Attention

N'activez pas cette option à moins qu'elle ne soit absolument nécessaire. En effet, elle désactive une fonctionnalité de sécurité importante permettant de vérifier que les connexions en mode passif proviennent bien de la même adresse IP que la connexion de contrôle qui lance le transfert de données.

La valeur par défaut est NO.

port_enable — Lorsque cette option est activée, les connexions en mode actif ne sont pas permises.

La valeur par défaut est YES.

8.6. Ressources supplémentaires

Pour obtenir de plus amples informations sur vsftpd, reportez-vous aux ressources mentionnées ci-dessous.

8.6.1. Documentation installée

Le répertoire /usr/share/doc/vsftpd-<version-number>/ — Remplacez

<version-number> par le numéro de la version du paquetage vsftpd installée sur le système. Ce répertoire contient un document README fournissant des informations élémentaires sur le logiciel. Le fichier TUNING contient des astuces de base pour régler la performance alors que le répertoire SECURITY/ contient lui des informations sur le modèle de sécurité employé par vsftpd.

Pages de manuels de vsftpd — Il existe un certain nombre de pages de manuel pour le démon et les fichiers de configuration. Ci-après figure une liste des pages de manuel les plus importantes.

Application serveur

o man vsftpd — Examine les options de ligne de commande disponibles pour

vsftpd.

Fichiers de configuration

o man vsftpd.conf — Contient une liste détaillée des options disponibles au sein du fichier de configuration de vsftpd.

o man 5 hosts_access — Examine le format et les options disponibles au sein des fichiers de configuration des enveloppeurs TCP : hosts.allow et

hosts.deny.

8.6.2. Sites Web utiles

http://vsftpd.beasts.org/ — La page du projet vsftpd est très utile pour trouver la documentation la plus récente et pour contacter l'auteur du logiciel.

http://slacksite.com/other/ftp.html — Ce site Web fournit une explication concise des différences existant entre FTP en mode passif et en mode actif.

http://war.jgaa.com/ftp/?cmd=rfc — Une liste complète de documents RFC (de l'anglais Request for Comments) en relation avec le protocole FTP.

Section 9. Eléments de cours sur le service DHCP

Table of Contents Résumé

Rôle d'un service DHCP

Pourquoi mettre en place un réseau TCP/IP avec des adresses IP dynamiques Protocole DHCP(Dynamic Host Configuration Protocol)

Fonctionnement de DHCP

Attribution d'une adresse DHCP Renouvellement de bail IP Configuration d'un serveur DHCP Mise en oeuvre d'un client DHCP Rôle de l'agent de relais DHCP

Abstract

Eléments de cours sur le service DHCP

9.1 Résumé

Présentation, installation et configuration d'un serveur DHCP Mots clés : “ Serveur DHCP ”, “ Agent relais DHCP ”

Description et objectifs de la séquence L'atelier propose

d'installer un serveur DHCP sous Linux,

d'installer un client DHCP sous Linux

d'installer un client DHCP sous Windows

de réaliser une phase de test avec les commandes winipcfg et ipconfig de Windows Les éléments sur l'analyse de trame, notamment les trames bootp, seront retraités lors des TP sur la métrologie.

9.2 Rôle d'un service DHCP

Un serveur DHCP (Dynamic Host Configuration Protocol) a pour rôle de distribuer des adresses IP à des clients pour une durée déterminée.

Au lieu d'affecter manuellement à chaque hôte une adresse statique, ainsi que tous les paramètres tels que (serveur de noms, passerelle par défaut, nom du réseau), un serveur DHCP alloue à un client, un bail d'accès au réseau, pour une durée déterminée (durée du bail).

Le serveur passe en paramètres au client toutes les informations dont il a besoin.

Tous les noeuds critiques du réseau (serveur de nom primaire et secondaire, passerelle par défaut) ont une adresse IP statique ; en effet, si celle-ci variait, ce processus ne serait plus réalisable.

Ce processus est mis en oeuvre quand vous ouvrez une session chez un fournisseur d'accès Internet par modem. Le fournisseur d'accès, vous alloue une adresse IP de son réseau le temps de la liaison. Cette adresse est libérée, donc de nouveau disponible, lors de la fermeture de la session.

Avantages de DHCP dans l'administration d'un réseau ?

1. Le protocole DHCP offre une configuration de réseau TCP/IP fiable et simple, empêche les conflits d'adresses et permet de contrôler l'utilisation des adresses IP de façon centralisée. Ainsi, si un paramètre change au niveau du réseau, comme, par exemple l'adresse de la passerelle par défaut, il suffit de changer la valeur du paramètre au niveau du serveur DHCP, pour que toutes les stations aient une prise en compte du nouveau paramètre dès que le bail sera renouvelé. Dans le cas de l'adressage statique, il faudrait manuellement reconfigurer toutes les machines.

2. économie d'adresse : ce protocole est presque toujours utilisé par les fournisseurs d'accès Internet qui disposent d'un nombre d'adresses limité. Ainsi grâce à DHCP, seules les machines connectées en ligne ont une adresse IP. En effet, imaginons un fournisseur d'accès qui a plus de 1000 clients. Il lui faudrait 5 réseaux de classe C, s'il voulait donner à chaque client une adresse IP particulière. S'il se dit que chaque client utilise en moyenne un temps de connexion de 10 mn par jour, il peut s'en sortir avec une seule classe C, en attribuant, ce que l'on pourrait appeler des "jetons d'accès" en fonction des besoins des clients.

3. Les postes itinérants sont plus faciles à gérer

4. Le changement de plan d'adressage se trouve facilité par le dynamisme d'attribution.

Avec DHCP, il suffit d'attribuer une adresse au serveur. Lorsqu'un ordinateur client DHCPdemande l'accès au réseau en TCP-IP son adresse est allouée dynamiquement à l'intérieur d'une plage d'adresses définie sur le serveur .

L'administrateur de réseau contrôle le mode d'attribution des adresses IP en spécifiant une durée de bail qui indique combien de temps l'hôte peut utiliser une configuration IP attribuée, avant de devoir solliciter le renouvellement du bail auprès du serveur DHCP.

L'adresse IP est libérée automatiquement, à l'expiration du bail, pour un ordinateur client DHCP retiré d'un sous-réseau, et une nouvelle adresse est automatiquement définie pour ce dernier, lorsque cet ordinateur est reconnecté à un autre sous-réseau. Ni l'utilisateur ni l'administrateur de réseau n'ont besoin de fournir de nouvelles informations relatives à la

configuration. Cette fonctionnalité est non négligeable, tant pour les utilisateurs de portables fixés ou non à différentes stations d'accueil que pour les ordinateurs fréquemment déplacés.

L'inconvénient :

Le client utilise des trames de broadcast pour rechercher un serveur DHCP sur le réseau, cela charge le réseau. Si vous avez une entreprise avec plusieurs centaines de personnes qui ouvrent leur session le matin à 8 h ou l'après midi à 14 h, il peut s'en suivre de graves goulets d'étranglement sur le réseau. L'administrateur devra donc réfléchir sérieusement à l'organisation de son réseau.

9.2.2 Protocole DHCP(Dynamic Host Configuration Protocol)

Le protocole DHCP (Dynamic Host Configuration Protocol) (RFC 1533 1534) est une extension de BOOTP (RFC 1532), il fournit une configuration dynamique des adresses IP et des informations associées aux ordinateurs configurés pour l'utiliser (clients DHCP). Ainsi chaque hôte du réseau obtient une configuration IP dynamiquement au moment du démarrage, auprès du serveur DHCP. Le serveur DHCP lui attribuera notamment une adresse IP, un masque et éventuellement l'adresse d'une passerelle par défaut. Il peut attribuer beaucoup d'autres paramètres IP notamment en matière de noms (l'adresse des serveurs DNS, l'adresse des serveurs WINS)

9.3 Fonctionnement de DHCP

Un client DHCP est un ordinateur qui demande une adresse IP à un serveur DHCP.

Comment, alors, un client DHCP, qui utilise le protocole TCP/IP mais qui n'a pas encore obtenu d'adresse IP par le serveur, peut-il communiquer sur le réseau ?

9.3.1 Attribution d'une adresse DHCP

Lorsqu'un client DHCP initialise un accès à un réseau TCP/IP, le processus d'obtention du bail IP se déroule en 4 phases :

1 - Le client émet un message de demande de bail IP (DHCPDISCOVER) qui est envoyé sous forme d'une diffusion sur le réseau avec adresse IP source 0.0.0.0 et adresse IP destination 255.255.255.255 et adresse MAC.

2 - Les serveurs DHCP répondent en proposant une adresse IP avec une durée de bail et l'adresse IP du serveur DHCP (DHCOFFER)

3 - Le client sélectionne la première adresse IP (s'il y a plusieurs serveurs DHCP) reçue et envoie une demande d'utilisation de cette adresse au serveur DHCP (DHCPREQUEST). Son message envoyé par diffusion comporte l'identification du serveur sélectionné qui est informé que son offre a été retenue ; tous les autres serveurs DHCP retirent leur offre et les adresses proposée redeviennent disponibles.

4 - Le serveur DHCP accuse réception de la demande et accorde l'adresse en bail (DHCPACK), les autres serveurs retirent leur proposition.

Enfin le client utilise l'adresse pour se connecter au réseau.

Vous trouverez des éléments très précis sur le protocole DHCP dans les pages du manuel de Linux. (dhcp3d, dhcpd.conf et dhclient.conf).

9.3.2 Renouvellement de bail IP

Lorsqu'un client redémarre, il tente d'obtenir un bail pour la même adresse avec le serveur DHCP d'origine, en émettant un DHCPREQUEST. Si la tentative se solde par un échec, le client continue à utiliser la même adresse IP s'il lui reste du temps sur son bail.

Les clients DHCP d'un serveur DHCP Windows (NT/2000) tentent de renouveler leur bail lorsqu'ils ont atteint 50% de sa durée par un DHCPREQUEST. Si le serveur DHCP est disponible il envoie un DHCPACK avec la nouvelle durée et éventuellement les mises à jour des paramètres de configuration.

Si à 50% le bail n'a pu être renouvelé, le client tente de contacter l'ensemble des serveurs DHCP (diffusion) lorsqu'il atteint 87,5% de son bail, avec un DHCPREQUEST, les serveurs répondent soit par DHCPACK soit par DHCPNACK (adresse inutilisable, étendue désactivée...).

Lorsque le bail expire ou qu'un message DHCPNACK est reçu le client doit cesser d'utiliser l'adresse IP et et demander un nouveau bail (retour au processus de souscription). Lorsque le bail expire et que le client n'obtient pas d'autre adresse la communication TCP/IP s'interrompt.

Remarque: Si la demande n'aboutit pas et que le bail n'est pas expiré, le client continue à utiliser ses paramètres IP.

9.4 Configuration d'un serveur DHCP

Définir une plage d'adresses qui peuvent être louées à des hôtes qui en font la demande.

En général, on donne :

Une adresse de début (la première qui sera attribuée)

Une adresse de fin (la dernière)

Une ou plusieurs plages d'adresses à exclure de la location (ceci permet de faire

Une ou plusieurs plages d'adresses à exclure de la location (ceci permet de faire