Outils pour utilisateurs

Outils du site


software:applications:tftpd-hpa:installer_serveur_tftp

Ceci est une ancienne révision du document !


:TODO_DOCUPDATE:

tftpd-hpa : Un serveur TFTP

Plusieurs versions de serveurs TFTP 1) sont disponibles sur la majorité des distributions GNU/Linux :

  • tftpd – Trivial file transfer protocol server ;
  • atftpd – Advanced TFTP server ;
  • tftpd-hpa – HPA’s tftp server ;
  • dnsmasq – Lightweight DNS, TFTP and DHCP server.

Le service TFTP est largement utilisé par PXE pour charger des images via le réseau et démarrer des systèmes sans disques, automatiser des installations, charger des programmes de diagnostic etc.

De nombreux matériels réseau permettent de charger/exporter leurs configurations via TFTP.

Installer/configurer le serveur

sudo apt-get install tftpd-hpa

Pour vérifier l'état du service :

systemctl status tftpd-hpa.service
 
netstat -anpe | grep :69

Le fichier de configuration par défaut est minimaliste :

tftpd-hpa
# /etc/default/tftpd-hpa
 
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

L'installateur crée un dossier /srv/tftp c'est le dossier racine du serveur (l'option --secure active un chroot). Par défaut ce dossier appartient à root, l'utilisateur tftp qui executera le service n'aura qu' un accès en lecture.

Pour permettre l'écriture par l'utilisateur tftp sur la racine du dossier tftp :

:TODO:

  • Voir pourquoi le service est accessible alors que le pare-feu est paramétré pour interdire l'acces ;
  • Voir désactivation du service.

Permettre le dépôt de fichiers

Par défaut le serveur TFTP rend accessible ses fichiers aux systèmes distants mais ne permet pas la création de contenu/l'écriture de fichiers. Il est possible d'autoriser la copie de fichiers sur le serveur TFTP

Le service TFTP est peu sûr, il fonctionne sans authentification. Il est donc fortement conseillé :
  • de limiter sa portée (autoriser les clients bien connus, les réseaux locaux via le pare-feu) ;
  • de limiter son activation (activer le service seulement au besoin).

Si le serveur n'est pas paramétré pour accepter la création de nouveaux fichiers, lors de l'utilisation de la commande put une erreur avec le message File not found est retournée:

tftp> put prise-A10.txt
Error code 1: File not found

Modifier le fichier de configuration

Moidifier les droits sur le dossier racine du serveur TFTP, l'utilisateur tftp doit avoir les droits d'écriture. Si les droit ne sont pas correctment positionnés, on obtient un message 'Error code 0: Permission denied'' :

sudo chown tftp:tftp /srv/tftp/

Relancer le service

systemctl restart tftpd-hpa.service

:TODO:

Modifier le masque associé à l'utilisateur tftp pour que les fichiers créés ne soient accessibles qu'en lecture aux utilisateurs du système (other).

Références

1)
Trivial File Transfert Protocol
software/applications/tftpd-hpa/installer_serveur_tftp.1702414084.txt.gz · Dernière modification : 2023/12/12 20:48 de yoann