Formation d'administrateur Baby/Serveur de base/SB07-Cours et TP/3

Aller à : navigation, rechercher
Alb-sb07-3-image3.jpg

Précédent

Selon toute vraisemblance, si vous essayez de vous connecter avec le login ci-contre sur un serveur, vous allez avoir un message d'avertissement. Lequel ?

Pensez à mettre quelque chose sur votre serveur anonyme, postez son adresse, que les copains puissent le tester...

FTP

vsftp

Le File Transfert Protocol est un des plus anciens d'Internet. Il a la renommée d'être un des plus pourris :-(. Pourtant il est difficile de s'en passer (ssh est bien mieux, mais rustique). Il nous faut donc nous en servir. D'ailleurs en travaillant sur votre site web, vous avez sans doute remarqué le répertoire /srv/ftp...

Nous allons utiliser le produit que SuSE installe par défaut. Il s'appelle "vsftp", soit "Very Secure FTP", espérons qu'il mérite son nom :-).

Alb-sb07-3-ftp01.jpg

Pour vérifier qu'il soit installé, tapez (en root) "vsf[tab]", vous devez avoir "vsftpd" (d pour "démon"). S'il n'y est pas, installez-le. Inutile d'exécuter le démon, il n'est pas fait pour fonctionner comme ça.

xinetd

vsftp fonctionne avec xinetd. xinetd est un "super démon". Un "démon", sous Unix/Linux est un programme qui fonctionne en permanence, en tâche de fond, en écoutant un port, c'est à dire en attendant qu'une application écrive quelque chose sur ce port. Il peut y en avoir beaucoup, chacun occupant un (petit) peu de mémoire. xinetd écoute pour tout le monde et, si un port est activé, transmet la main au serveur concerné. Il y a en plus un certain avantage pour la sécurité.

Il nous faut donc vérifier :

  • que xinetd est bien installé ;
  • que, dans les niveaux d'exécution, "xinetd" est bien à oui ;
  • que dans "services réseau" et dans "services réseau (inetd)" (il faut chercher en bas du menu, les options qui ne se voient pas :-(), le ftp soit bien activé, et uniquement pour vsftp.

Attention, il y a un piège ! Il y a plusieurs services ftp qui peuvent être démarrés, et, bien sur, un seul doit être sur "marche". Utilisez les flèches du clavier (flèche à droite) pour voir quel est celui de la ligne en cours (NI doit vouloir dire Non Installé).

Une astuce souvent oubliée. Mettez votre console ssh en plein écran (sur le client).

La configuration

La configuration de vsftp se fait dans /etc/vsftpd.conf. Les options à activer sont :

  • write_enable=YES, si vous voulez utiliser le ftp pour écrire (il ne faudra pas oublier de rendre le répertoire d'arrivée accessible en écriture pour l'usager)nbsp;;
  • local_enable=YES, ce qui permet aux utilisateurs qui ont un compte sur le serveur de se connecter dessus avec leur login/mot de passe, bien sûr.
  • chroot_local_user=YES, pour empêcher les utilisateurs de naviguer en dehors de leur compte en ftp (ils peuvent le faire par ssh au besoin) ;
  • anonymous_enable=YES, si vous voulez que les usagers puissent lire de façon anonyme le répertoire /srv/ftp qui est là pour ça. ;
  • Vous pouvez aussi ajouter "no_anon_password=yes" à la fin du fichier (par exemple), ça évite aux usagers anonymes d'avoir à fournir un mot de passe vide (ils sont alors connectés directement).

La libération

Pour que l'on puisse se connecter chez vous de l'extérieur, il faut que ce soit autorisé par votre parefeu. Dans la configuration de parefeu, ftp ne figure pas dans la liste (qui contient http, https, pop3...). Il faut donc ouvrir le menu "Avancé" (et oui, vous devenez un expert :-) et simplement taper "ftp" dans la rubrique "TCP". Yast relance automatiquement le pare feu et ça marche :-).

Interne et Externe

Dans la configuration du parefeu, on va vous demander quelle est l'interface externe et quelle est l'interface interne.

externe
C'est la carte réseau qui va vous servir à vous connecter à l'internet quand votre serveur sera en service ;
interne
C'est celle qui sera uniquement connectée au réseau local quand la passerelle sera en service.

Ce qui rends la chose délicate c'est que, tant que vous êtes au stade de l'expérimentation et que votre appareil de test n'est pas encore en service, il se connecte à internet par votre réseau ancien ou directement, peut-être pas de la même façon que celle dont nous parlons ici. D'où la nécessité d'y réfléchir à deux fois (et même trois :-).

Se connecter avec un navigateur

Par opposition avec une connexion avec un vrai programme de ftp.

Autrement, il faut donner le login/mot de passe avec l'URL, avec la syntaxe "ftp://login:mot_de_passe@nomdedomaine". Par exemple (faux, bien sûr) "ftp://pirate:warez@dodin.org".

Une connexion "anonyme" est une connexion qui se fait sans login ou avec le login "anonymous". N'importe qui peut alors se connecter, il n'est pas bon que tout le monde puisse écrire. Il faut donc vérifier que l'utilisateur qui va remplir le répertoire à destination des anonymes ne soit pas l'utilisateur utilisé pour la connexion (en général "nobody").

Sitecopy

Maintenant que vous avez un serveur ftp, vous pouvez utiliser sitecopy pour vos connections, avec une configuration inspirée de ceci :

Alb-sb07-3-sitecopy01.jpg

A vous de voir si vous voulez mettre à jour le ftp, le site web général ou celui de chaque utilisateur, accessible par http://nom_de_domaine/~login dans le répertoire public_html de chaque utilisateur (c'est public, donc sans mot de passe et accessible à tous).